Angry Transformers Jenga
Ez a kód egy Jenga játékot szimulál, de egy csavarral:a blokkok dühös transzformátorok, amelyek megtámadják egymást, amikor felborítják őket.
Szabályok:
* A játék egy blokkokból álló toronnyal kezdődik, mindegyik blokk egy mérges transzformátort képvisel.
* A játékosok felváltva eltávolítanak egy blokkot a toronyból, és felteszik a tetejére.
* Ha egy játékos felüti valamelyik blokkot, az adott blokkon lévő mérges transzformátorok megtámadják egymást.
* Az a játékos, aki leüti a legdühösebb transzformátorokat, elveszíti a játékot.
Kód:
``` python
véletlenszerű importálás
transzformátorok =["Optimus Prime", "Megatron", "Bumblebee", "Starscream", "Soundwave", "Shockwave"]
def build_tower():
torony =[]
az i tartományban (5):
sor =[]
j esetén a(3) tartományban:
row.append(random.choice(transformers))
tower.append(sor)
visszatérő torony
def remove_block(torony, lejátszó):
print("Játékos {} köre".format(lejátszó))
míg igaz:
row =int(input("Válasszon egy sort (1-5):")) - 1
ha a sor <0 vagy a sor>=5:
print("Érvénytelen sor. Válasszon egy számot 1 és 5 között.")
folytassa
oszlop =int(input("Válassz egy oszlopot (1-3):")) - 1
ha az oszlop <0 vagy oszlop> =3:
print("Érvénytelen oszlop. Válasszon egy számot 1 és 3 között.")
folytassa
if torony[sor][oszlop] ==Nincs:
print("Nincs blokk ezen a helyen. Kérjük, válasszon másik pozíciót.")
folytassa
szünet
blokk =torony[sor][oszlop]
torony[sor][oszlop] =Nincs
blokk, sor, oszlop visszaadása
def attack(blokk1, blokk2):
print("{} támad {}!".format(blokk1, blokk2))
if block1 =="Optimus Prime":
if block2 =="Megatron":
return "Az Optimus Prime nyer!"
más:
return "A Megatron nyer!"
elif block1 =="Megatron":
if block2 =="Optimus Prime":
return "A Megatron nyer!"
más:
return "Az Optimus Prime nyer!"
más:
ha blokk1> blokk2:
return "{} wins!".format(block1)
más:
return "{} wins!".format(block2)
def game_over(player1_score, player2_score):
print ("A játéknak vége!")
if player1_score> player2_score:
print ("Az 1. játékos nyer!")
elif player2_score> player1_score:
print ("A 2. játékos nyer!")
más:
print ("nyakkendő!")
def main():
# Építsd meg a tornyot
torony =build_tower()
print("A torony épült!")
# Játékosok
player1_score =0
player2_score =0
míg igaz:
# Az 1. játékos köre
blokk1, sor1, oszlop1 =eltávolítás_blokk(torony, 1)
# Ellenőrizze a támadásokat
ha sor1> 0 és torony[sor1 - 1][oszlop1] !=Nincs:
támadás(blokk1, torony[sor1 - 1][oszlop1])
player1_score +=1
torony[sor1 - 1][oszlop1] =Nincs
if 1. sor <4 és torony[sor1 + 1][oszlop1] !=Nincs:
támadás(blokk1, torony[sor1 + 1][oszlop1])
torony[sor1 - 1][oszlop1] =Nincs
player1_score +=1
ha oszlop1> 0 és torony[sor1][oszlop