Angry Transformers Jenga
Denne koden simulerer et spill med Jenga, men med en vri:blokkene er sinte transformatorer som angriper hverandre når de blir veltet.
Regler:
* Spillet starter med et tårn av blokker, hver blokk representerer en sint transformator.
* Spillerne bytter på å fjerne én blokk fra tårnet og plassere den på toppen.
* Hvis en spiller velter noen blokker, angriper de sinte transformatorene på disse blokkene hverandre.
* Spilleren som velter de mest sinte transformatorene taper spillet.
Kode:
``` python
import tilfeldig
transformatorer =["Optimus Prime", "Megatron", "Bumblebee", "Starscream", "Soundwave", "Shockwave"]
def build_tower():
tårn =[]
for i i området(5):
rad =[]
for j i område(3):
row.append(random.choice(transformatorer))
tower.append(rad)
tilbake tårnet
def remove_block(tårn, spiller):
print("Spiller {}s tur".format(spiller))
mens sant:
rad =int(input("Velg en rad (1-5):")) - 1
hvis rad <0 eller rad>=5:
print("Ugyldig rad. Velg et tall mellom 1 og 5.")
fortsette
column =int(input("Velg en kolonne (1-3):")) - 1
hvis kolonne <0 eller kolonne>=3:
print("Ugyldig kolonne. Velg et tall mellom 1 og 3.")
fortsette
if tower[row][column] ==Ingen:
print("Det er ingen blokk i den posisjonen. Velg en annen posisjon.")
fortsette
brudd
blokk =tårn[rad][kolonne]
tower[row][column] =Ingen
returblokk, rad, kolonne
def angrep (blokk1, blokk2):
print("{} angriper {}!".format(blokk1, blokk2))
if block1 =="Optimus Prime":
if block2 =="Megatron":
returner "Optimus Prime vinner!"
ellers:
returner "Megatron vinner!"
elif block1 =="Megatron":
if block2 =="Optimus Prime":
returner "Megatron vinner!"
ellers:
returner "Optimus Prime vinner!"
ellers:
hvis blokk1> blokk2:
returner "{} vinner!".format(blokk1)
ellers:
returner "{} vinner!".format(blokk2)
def game_over(spiller1_score, spiller2_score):
print("Spill over!")
hvis spiller1_score> spiller2_score:
print("Spiller 1 vinner!")
elif player2_score> player1_score:
print("Spiller 2 vinner!")
ellers:
print("Slips!")
def main():
# Bygg tårnet
tårn =build_tower()
print("Tårnet bygget!")
# Spillere
player1_score =0
player2_score =0
mens sant:
# Spiller 1 sin tur
blokk1, rad1, kolonne1 =remove_block(tårn, 1)
# Se etter angrep
hvis rad1> 0 og tårn[rad1 - 1][kolonne1] !=Ingen:
angrep(blokk1, tårn[rad1 - 1][kolonne1])
player1_score +=1
tårn[rad1 - 1][kolonne1] =Ingen
hvis rad1 <4 og tårn[rad1 + 1][kolonne1] !=Ingen:
angrep(blokk1, tårn[rad1 + 1][kolonne1])
tårn[rad1 - 1][kolonne1] =Ingen
player1_score +=1
hvis kolonne1> 0 og tårn[rad1][kolonne