Angry Transformers Jenga
Ovaj kod simulira igru Jenga, ali s dodatkom:blokovi su ljuti transformatori koji napadaju jedni druge kad ih se prevrne.
Pravila:
* Igra počinje tornjem od blokova, a svaki blok predstavlja ljuti transformator.
* Igrači naizmjence uklanjaju jedan blok s tornja i stavljaju ga na vrh.
* Ako igrač sruši bilo koji blok, ljuti transformatori na tim blokovima napadaju jedan drugoga.
* Igrač koji sruši najljuće transformatore gubi igru.
Kôd:
```python
nasumični uvoz
transformatori =["Optimus Prime", "Megatron", "Bumblebee", "Starscream", "Soundwave", "Shockwave"]
def build_tower():
toranj =[]
za i u rasponu (5):
red =[]
za j u rasponu (3):
row.append(random.choice(transformers))
tower.append(red)
povratni toranj
def remove_block(toranj, igrač):
print("Igrač {} je na redu".format(igrač))
dok je istina:
red =int(input("Odaberi red (1-5):")) - 1
ako je red <0 ili red>=5:
print("Nevažeći redak. Odaberite broj između 1 i 5.")
nastaviti
stupac =int(input("Odaberite stupac (1-3):")) - 1
ako je stupac <0 ili stupac>=3:
print("Nevažeći stupac. Odaberite broj između 1 i 3.")
nastaviti
ako toranj[red][stupac] ==Ništa:
print("Nema bloka na toj poziciji. Odaberite drugu poziciju.")
nastaviti
prekinuti
blok =toranj[red][stupac]
toranj[red][stupac] =Ništa
povratni blok, redak, stupac
def napad (blok1, blok2):
print("{} napada {}!".format(block1, block2))
if block1 =="Optimus Prime":
if block2 =="Megatron":
return "Optimus Prime pobjeđuje!"
drugo:
povratak "Megatron pobjeđuje!"
elif block1 =="Megatron":
if block2 =="Optimus Prime":
povratak "Megatron pobjeđuje!"
drugo:
return "Optimus Prime pobjeđuje!"
drugo:
ako blok1> blok2:
vraća "{} pobjeđuje!".format(block1)
drugo:
vraća "{} pobjeđuje!".format(block2)
def game_over(player1_score, player2_score):
print("Igra gotova!")
ako player1_score> player2_score:
print("Igrač 1 pobjeđuje!")
elif player2_score> player1_score:
print("Igrač 2 pobjeđuje!")
drugo:
print("Kravata!")
def main():
# Izgradi toranj
toranj =izgraditi_toranj()
print("Toranj izgrađen!")
# Igrači
igrač1_rezultat =0
igrač2_rezultat =0
dok je istina:
# Na redu je igrač 1
blok1, red1, stupac1 =ukloni_blok(toranj, 1)
# Provjerite ima li napada
ako je red1> 0 i toranj[redak1 - 1][stupac1] !=Ništa:
napad(blok1, toranj[red1 - 1][stupac1])
igrač1_rezultat +=1
toranj[red1 - 1][stupac1] =Ništa
ako je red1 <4 i toranj[red1 + 1][stupac1] !=Ništa:
napad(blok1, toranj[red1 + 1][stupac1])
toranj[red1 - 1][stupac1] =Ništa
igrač1_rezultat +=1
ako je stupac1> 0 i toranj[red1][stupac