Boze Transformers Jenga
Deze code simuleert een spelletje Jenga, maar dan met een twist:de blokken zijn boze transformatoren die elkaar aanvallen als ze worden omvergeworpen.
Regels:
* Het spel begint met een toren van blokken, waarbij elk blok een boze transformator vertegenwoordigt.
* Spelers verwijderen om de beurt een blok uit de toren en plaatsen dit er bovenop.
* Als een speler blokken omstoot, vallen de boze transformatoren op die blokken elkaar aan.
* De speler die de meest boze transformatoren omver gooit, verliest het spel.
Code:
```python
willekeurig importeren
transformers =["Optimus Prime", "Megatron", "Bumblebee", "Starscream", "Soundwave", "Shockwave"]
def bouw_toren():
toren =[]
voor i binnen bereik(5):
rij =[]
voor j binnen bereik(3):
rij.append(willekeurige.keuze(transformatoren))
toren.append(rij)
toren terug
def remove_block(toren, speler):
print("Speler {} is aan de beurt".format(speler))
terwijl waar:
rij =int(input("Kies een rij (1-5):")) - 1
als rij <0 of rij>=5:
print("Ongeldige rij. Kies een getal tussen 1 en 5.")
doorgaan
column =int(input("Kies een kolom (1-3):")) - 1
als kolom <0 of kolom>=3:
print("Ongeldige kolom. Kies een getal tussen 1 en 3.")
doorgaan
if toren[rij][kolom] ==Geen:
print("Er bevindt zich geen blok op die positie. Kies een andere positie.")
doorgaan
pauze
blok =toren[rij][kolom]
toren[rij][kolom] =Geen
retourblok, rij, kolom
def aanval(blok1, blok2):
print("{} valt {} aan!".format(blok1, blok2))
als blok1 =="Optimus Prime":
als blok2 =="Megatron":
return "Optimus Prime wint!"
anders:
return "Megatron wint!"
elif blok1 =="Megatron":
als blok2 =="Optimus Prime":
return "Megatron wint!"
anders:
return "Optimus Prime wint!"
anders:
als blok1> blok2:
return "{} wint!".format(block1)
anders:
return "{} wint!".format(block2)
def game_over(speler1_score, speler2_score):
print("Spel voorbij!")
als speler1_score> speler2_score:
print("Speler 1 wint!")
elif speler2_score> speler1_score:
print("Speler 2 wint!")
anders:
print("Stropdas!")
def hoofd():
# Bouw de toren
toren =bouw_toren()
print("Toren gebouwd!")
# Spelers
speler1_score =0
speler2_score =0
terwijl waar:
# Speler 1 is aan de beurt
blok1, rij1, kolom1 =verwijder_blok(toren, 1)
# Controleer op aanvallen
als rij1> 0 en toren[rij1 - 1][kolom1] !=Geen:
aanval(blok1, toren[rij1 - 1][kolom1])
speler1_score +=1
toren[rij1 - 1][kolom1] =Geen
als rij1 <4 en toren[rij1 + 1][kolom1] !=Geen:
aanval(blok1, toren[rij1 + 1][kolom1])
toren[rij1 - 1][kolom1] =Geen
speler1_score +=1
als kolom1> 0 en toren[rij1][kolom