Angry Transformers Jenga
Dieser Code simuliert ein Jenga-Spiel, allerdings mit einer Wendung:Die Blöcke sind wütende Transformatoren, die sich gegenseitig angreifen, wenn sie umgeworfen werden.
Regeln:
* Das Spiel beginnt mit einem Turm aus Blöcken, wobei jeder Block einen wütenden Transformator darstellt.
* Die Spieler nehmen abwechselnd einen Block vom Turm und legen ihn darauf.
* Wenn ein Spieler Blöcke umstößt, greifen sich die wütenden Transformatoren auf diesen Blöcken gegenseitig an.
* Der Spieler, der die wütendsten Transformatoren umwirft, verliert das Spiel.
Code:
„Python
Zufällig importieren
Transformers =["Optimus Prime", "Megatron", "Bumblebee", "Starscream", "Soundwave", "Shockwave"]
def build_tower():
Turm =[]
für i im Bereich(5):
Zeile =[]
für j im Bereich(3):
row.append(random.choice(transformers))
Tower.append(Zeile)
Rückkehrturm
def remove_block(tower, player):
print("Spieler {} ist an der Reihe".format(player))
während True:
row =int(input("Wählen Sie eine Zeile (1-5):")) - 1
wenn Zeile <0 oder Zeile>=5:
print("Ungültige Zeile. Bitte wählen Sie eine Zahl zwischen 1 und 5.")
weitermachen
Column =int(input("Wählen Sie eine Spalte (1-3):")) - 1
wenn Spalte <0 oder Spalte>=3:
print("Ungültige Spalte. Bitte wählen Sie eine Zahl zwischen 1 und 3.")
weitermachen
wenn Turm[Zeile][Spalte] ==Keine:
print("An dieser Position befindet sich kein Block. Bitte wählen Sie eine andere Position.")
weitermachen
brechen
Block =Turm[Zeile][Spalte]
Turm[Zeile][Spalte] =Keine
Rückgabeblock, Zeile, Spalte
def attack(block1, block2):
print("{} greift {} an!".format(block1, block2))
if block1 =="Optimus Prime":
wenn block2 =="Megatron":
return „Optimus Prime gewinnt!“
anders:
return „Megatron gewinnt!“
elif block1 =="Megatron":
if block2 =="Optimus Prime":
return „Megatron gewinnt!“
anders:
return „Optimus Prime gewinnt!“
anders:
wenn Block1> Block2:
return „{} gewinnt!“.format(block1)
anders:
return „{} gewinnt!“.format(block2)
def game_over(player1_score, player2_score):
print("Spiel vorbei!")
wenn spieler1_score> spieler2_score:
print("Spieler 1 gewinnt!")
elif player2_score> player1_score:
print("Spieler 2 gewinnt!")
anders:
print("Krawatte!")
def main():
# Baue den Turm
Tower =build_tower()
print("Turm gebaut!")
# Spieler
player1_score =0
player2_score =0
während True:
# Spieler 1 ist an der Reihe
Block1, Zeile1, Spalte1 =Remove_block(Tower, 1)
# Auf Angriffe prüfen
wenn Zeile1> 0 und Turm[Zeile1 - 1][Spalte1] !=Keine:
Angriff(Block1, Turm[Zeile1 - 1][Spalte1])
player1_score +=1
Turm[Zeile1 - 1][Spalte1] =Keine
wenn Zeile1 <4 und Turm[Zeile1 + 1][Spalte1] !=Keine:
Angriff(Block1, Turm[Zeile1 + 1][Spalte1])
Turm[Zeile1 - 1][Spalte1] =Keine
player1_score +=1
wenn Spalte1> 0 und Turm[Zeile1][Spalte