Nahnevaný Transformers Jenga
Tento kód simuluje hru Jenga, ale s prevratom:bloky sú nahnevané transformátory, ktoré na seba útočia, keď sú prevrátené.
Pravidlá:
* Hra začína vežou blokov, pričom každý blok predstavuje nahnevaného transformátora.
* Hráči sa striedajú pri odstraňovaní jedného bloku z veže a jeho umiestnení na vrch.
* Ak hráč zrazí nejaké bloky, nahnevaní transformátory na týchto blokoch na seba zaútočia.
* Hráč, ktorý zrazí najviac nahnevaných transformátorov, prehráva hru.
Kód:
```pytón
importovať náhodne
transformátory =["Optimus Prime", "Megatron", "Bumblebee", "Starscream", "Soundwave", "Shockwave"]
def build_tower():
veža =[]
pre i v rozsahu (5):
riadok =[]
pre j v rozsahu (3):
row.append(random.choice(transformers))
tower.append(riadok)
návratová veža
def remove_block(veža, prehrávač):
print("Na rade je hráč {}".format(prehrávač))
kým pravda:
riadok =int(input("Vyberte riadok (1-5):")) - 1
ak riadok <0 alebo riadok>=5:
print("Neplatný riadok. Vyberte číslo medzi 1 a 5.")
pokračovať
stĺpec =int(input("Vyberte stĺpec (1-3):")) - 1
ak stĺpec <0 alebo stĺpec>=3:
print("Neplatný stĺpec. Vyberte číslo medzi 1 a 3.")
pokračovať
if tower[riadok][stĺpec] ==Žiadne:
print("Na tejto pozícii nie je žiadny blok. Vyberte inú pozíciu.")
pokračovať
prestávka
blok =veža[riadok][stĺpec]
veža[riadok][stĺpec] =Žiadne
vrátiť blok, riadok, stĺpec
def attack(blok1, blok2):
print("{} útočí na {}!".format(blok1, blok2))
if block1 =="Optimus Prime":
if block2 =="Megatron":
return "Optimus Prime vyhráva!"
inak:
návrat "Megatron vyhráva!"
elif block1 =="Megatron":
if block2 =="Optimus Prime":
návrat "Megatron vyhráva!"
inak:
return "Optimus Prime vyhráva!"
inak:
ak blok1> blok2:
návrat "{} vyhráva!".format(blok1)
inak:
návrat "{} vyhráva!".format(blok2)
def game_over(player1_score, player2_score):
vytlačiť ("Hra skončila!")
ak hráč1_skóre> hráč2_skóre:
vytlačiť ("Hráč 1 vyhráva!")
elif player2_score> player1_score:
vytlačiť ("Hráč 2 vyhráva!")
inak:
vytlačiť ("kravata!")
def main():
# Postavte vežu
veža =build_tower()
print ("Veža postavená!")
# Hráči
hráč1_skóre =0
hráč2_skóre =0
kým pravda:
# Hráč 1 je na ťahu
blok1, riadok1, stĺpec1 =odstrániť_blok(veža, 1)
# Skontrolujte útoky
ak riadok1> 0 a veža[riadok1 - 1][stĺpec1] !=Žiadne:
útok(blok1, veža[riadok1 - 1][stĺpec1])
hráč1_skóre +=1
veža[riadok1 - 1][stĺpec1] =Žiadne
ak rad1 <4 a veža[riadok1 + 1][stĺpec1] !=Žiadne:
útok(blok1, veža[riadok1 + 1][stĺpec1])
veža[riadok1 - 1][stĺpec1] =Žiadne
hráč1_skóre +=1
ak stĺpec1> 0 a veža[riadok1][stĺpec