Angry Transformers Jenga
Denne kode simulerer et spil Jenga, men med et twist:blokkene er vrede transformatorer, der angriber hinanden, når de bliver væltet.
Regler:
* Spillet starter med et tårn af blokke, hver blok repræsenterer en vred transformer.
* Spillerne skiftes til at fjerne en blok fra tårnet og placere den ovenpå.
* Hvis en spiller vælter nogle blokke, angriber de vrede transformatorer på disse blokke hinanden.
* Den spiller, der vælter de mest vrede transformatorer, taber spillet.
Kode:
``` python
import tilfældigt
transformere =["Optimus Prime", "Megatron", "Bumblebee", "Starscream", "Soundwave", "Shockwave"]
def build_tower():
tårn =[]
for i inden for rækkevidde(5):
række =[]
for j i område(3):
row.append(random.choice(transformere))
tower.append(række)
returtårnet
def remove_block(tårn, spiller):
print("Player {}s tur".format(player))
mens det er sandt:
række =int(input("Vælg en række (1-5):")) - 1
hvis række <0 eller række>=5:
print("Ugyldig række. Vælg venligst et tal mellem 1 og 5.")
fortsætte
column =int(input("Vælg en kolonne (1-3):")) - 1
hvis kolonne <0 eller kolonne>=3:
print("Ugyldig kolonne. Vælg venligst et tal mellem 1 og 3.")
fortsætte
if tower[row][column] ==Ingen:
print("Der er ingen blok i den position. Vælg venligst en anden position.")
fortsætte
pause
blok =tårn[række][kolonne]
tower[row][column] =Ingen
returblok, række, kolonne
def attack(blok1, blok2):
print("{} angriber {}!".format(blok1, blok2))
hvis blok1 =="Optimus Prime":
hvis blok2 =="Megatron":
retur "Optimus Prime vinder!"
andet:
retur "Megatron vinder!"
elif blok1 =="Megatron":
hvis blok2 =="Optimus Prime":
retur "Megatron vinder!"
andet:
retur "Optimus Prime vinder!"
andet:
hvis blok1> blok2:
returner "{} vinder!".format(blok1)
andet:
returner "{} vinder!".format(blok2)
def game_over(spiller1_score, spiller2_score):
print("Spillet er slut!")
hvis spiller1_score> spiller2_score:
print("Spiller 1 vinder!")
elif player2_score> player1_score:
print("Spiller 2 vinder!")
andet:
print("Slips!")
def main():
# Byg tårnet
tårn =build_tower()
print("Tårn bygget!")
# Spillere
player1_score =0
player2_score =0
mens det er sandt:
# Spiller 1's tur
blok1, række1, kolonne1 =fjern_blok(tårn, 1)
# Tjek for angreb
hvis række1> 0 og tårn[række1 - 1][kolonne1] !=Ingen:
angreb(blok1, tårn[række1 - 1][kolonne1])
player1_score +=1
tower[row1 - 1][column1] =Ingen
hvis række1 <4 og tårn[række1 + 1][kolonne1] !=Ingen:
angreb(blok1, tårn[række1 + 1][kolonne1])
tower[row1 - 1][column1] =Ingen
player1_score +=1
hvis kolonne1> 0 og tårn[række1][kolonne