Ez a program egy interaktív RPG (szerepjáték) harc szimulátort valósít meg, amely a beépített random modullal vezérli a kritikus találatokat, a véletlen sebzéseket és az ellenfél akcióit.
--------------
import random
class Karakter:
def __init__(self, nev, hp, alapsebzes):
self.nev = nev
self.hp = hp
self.alapsebzes = alapsebzes
def tamad(self, cel):
# 10% esély a kritikus csapásra (dupla sebzés)
kritikus = random.random() < 0.10
sebzes = self.alapsebzes + random.randint(-5, 5) # Véletlen szórás
if kritikus:
sebzes *= 2
print(f"⚔️ {self.nev} KRITIKUS CSAPÁST mér {cel.nev}-re! {sebzes} sebzés.")
else:
print(f"⚔️ {self.nev} megtámadja {cel.nev}-t. {sebzes} sebzés.")
cel.hp = max(0, cel.hp - sebzes)
print(f" {cel.nev} hátralévő életereje: {cel.hp} HP\n")
is_alive = property(lambda self: self.hp > 0)
def jatek_inditas():
hos = Karakter(nev="Hős", hp=100, alapsebzes=20)
szorny = Karakter(nev="Goblin", hp=80, alapsebzes=15)
print("A csata elkezdődik!\n")
while hos.is_alive and szorny.is_alive:
# Hős köre
hos.tamad(szorny)
if not szorny.is_alive:
print(f"🏆 {szorny.nev} elesett. Te nyertél!")
break
# Szörny köre
szorny.tamad(hos)
if not hos.is_alive:
print(f"💀 A {szorny.nev} legyőzött. GAME OVER.")
break
# Kényszerített várakozás a fordulatok között a jobb olvashatóságért
import time
time.sleep(1)
if __name__ == "__main__":
jatek_inditas()
------------
A csata elkezdődik!
⚔️ Hős megtámadja Goblin-t. 23 sebzés.
Goblin hátralévő életereje: 57 HP
⚔️ Goblin megtámadja Hős-t. 15 sebzés.
Hős hátralévő életereje: 85 HP
⚔️ Hős megtámadja Goblin-t. 23 sebzés.
Goblin hátralévő életereje: 34 HP
⚔️ Goblin megtámadja Hős-t. 19 sebzés.
Hős hátralévő életereje: 66 HP
⚔️ Hős megtámadja Goblin-t. 16 sebzés.
Goblin hátralévő életereje: 18 HP
⚔️ Goblin megtámadja Hős-t. 11 sebzés.
Hős hátralévő életereje: 55 HP
⚔️ Hős megtámadja Goblin-t. 20 sebzés.
Goblin hátralévő életereje: 0 HP
🏆 Goblin elesett. Te nyertél!
Nincsenek megjegyzések:
Megjegyzés küldése