2026. június 26., péntek

Szerepjáték

 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