Wściekła Transformers Jenga
Ten kod symuluje grę Jenga, ale z pewnym akcentem:bloki to wściekłe transformatory, które atakują się nawzajem, gdy zostaną przewrócone.
Zasady:
* Gra rozpoczyna się od wieży z klocków, z których każdy reprezentuje wściekłego transformatora.
* Gracze na zmianę usuwają jeden klocek z wieży i umieszczają go na górze.
* Jeśli gracz przewróci jakiekolwiek bloki, wściekłe transformatory znajdujące się na tych blokach atakują się nawzajem.
* Gracz, który przewróci najbardziej wściekłych transformatorów, przegrywa grę.
Kod:
```pyton
importuj losowo
transformatory =["Optimus Prime", "Megatron", "Bumblebee", "Starscream", "Soundwave", "Shockwave"]
def build_tower():
wieża =[]
dla i w zakresie (5):
rząd =[]
dla j w zakresie (3):
wiersz.append(random.choice(transformatory))
wieża.append(wiersz)
wieża zwrotna
def usuń_blok(wieża, gracz):
print("Tura gracza {}.format(gracz))
podczas gdy prawda:
wiersz =int(input("Wybierz wiersz (1-5):")) - 1
jeśli wiersz <0 lub wiersz>=5:
print("Nieprawidłowy wiersz. Proszę wybrać liczbę od 1 do 5.")
Kontynuować
kolumna =int(input("Wybierz kolumnę (1-3):")) - 1
jeśli kolumna <0 lub kolumna>=3:
print("Nieprawidłowa kolumna. Proszę wybrać liczbę od 1 do 3.")
Kontynuować
if wieża[wiersz][kolumna] ==Brak:
print("W tej pozycji nie ma bloku. Wybierz inną pozycję.")
Kontynuować
przerwa
blok =wieża[rząd][kolumna]
wieża[rząd][kolumna] =Brak
zwróć blok, wiersz, kolumnę
def atak (blok1, blok2):
print("{} atakuje {}!".format(blok1, blok2))
if block1 =="Optimus Prime":
if block2 =="Megatron":
return "Optimus Prime wygrywa!"
w przeciwnym razie:
powrót „Megatron wygrywa!”
elif block1 =="Megatron":
if block2 ==„Optimus Prime”:
powrót „Megatron wygrywa!”
w przeciwnym razie:
return "Optimus Prime wygrywa!"
w przeciwnym razie:
jeśli blok1> blok2:
zwróć „{} wygrywa!”.format(blok1)
w przeciwnym razie:
zwróć „{} wygrywa!”.format(blok2)
def game_over(gracz1_wynik, gracz2_wynik):
print("Koniec gry!")
jeśli wynik_gracza1> wynik_gracza2:
print("Gracz 1 wygrywa!")
elif player2_score> player1_score:
print("Gracz 2 wygrywa!")
w przeciwnym razie:
print("Krawat!")
zdecydowanie główna():
# Zbuduj wieżę
wieża =build_tower()
print("Wieża zbudowana!")
# Gracze
wynik_gracza1 =0
wynik_gracza =0
podczas gdy prawda:
# Tura gracza 1
blok1, wiersz1, kolumna1 =usuń_blok(wieża, 1)
# Sprawdź ataki
jeśli wiersz1> 0 i wieża[wiersz1 - 1][kolumna1] !=Brak:
atak(blok1, wieża[rząd1 - 1][kolumna1])
wynik_gracza +=1
wieża[wiersz1 - 1][kolumna1] =Brak
jeśli rząd1 <4 i wieża[wiersz1 + 1][kolumna1] !=Brak:
atak(blok1, wieża[rząd1 + 1][kolumna1])
wieża[wiersz1 - 1][kolumna1] =Brak
wynik_gracza +=1
jeśli kolumna1> 0 i wieża[wiersz1][kolumna