Angry Transformers Jenga
Tämä koodi simuloi Jenga-peliä, mutta käänteellä:lohkot ovat vihaisia muuntajia, jotka hyökkäävät toistensa kimppuun, kun ne kaadetaan.
Säännöt:
* Peli alkaa lohkojen tornilla, joista jokainen edustaa vihaista muuntajaa.
* Pelaajat vuorotellen poistavat yhden korttelin tornista ja asettavat sen päälle.
* Jos pelaaja kaataa minkä tahansa lohkon, näiden lohkojen vihaiset muuntajat hyökkäävät toisiaan vastaan.
* Pelaaja, joka kaataa vihaisimmat muuntajat, häviää pelin.
Koodi:
``` python
tuonti satunnaisesti
muuntajat =["Optimus Prime", "Megatron", "Bumblebee", "Starscream", "Soundwave", "Shockwave"]
def build_tower():
torni =[]
i alueella (5):
rivi =[]
j:lle alueella(3):
rivi.lisää(satunnainen.valinta(muuntajat))
torni.lisää(rivi)
paluutorni
def remove_block(torni, soitin):
print("Pelaajan {} vuoro".format(soitin))
kun taas Totta:
rivi =int(input("Valitse rivi (1-5):")) - 1
jos rivi <0 tai rivi>=5:
print("Virheellinen rivi. Valitse numero väliltä 1 ja 5.")
jatkaa
sarake =int(input("Valitse sarake (1-3):")) - 1
jos sarake <0 tai sarake>=3:
print("Virheellinen sarake. Valitse numero väliltä 1 ja 3.")
jatkaa
jos torni[rivi][sarake] ==Ei mitään:
print("Tässä paikassa ei ole estoa. Ole hyvä ja valitse toinen paikka.")
jatkaa
tauko
lohko =torni[rivi][sarake]
torni[rivi][sarake] =Ei mitään
palauta lohko, rivi, sarake
def attack (lohko1, lohko2):
print("{} hyökkää {}!".format(block1, block2))
if block1 =="Optimus Prime":
if block2 =="Megatron":
palauta "Optimus Prime voittaa!"
muu:
palauta "Megatron voittaa!"
elif block1 =="Megatron":
if block2 =="Optimus Prime":
palauta "Megatron voittaa!"
muu:
palauta "Optimus Prime voittaa!"
muu:
jos lohko1> lohko2:
palauttaa "{} voittaa!".format(block1)
muu:
palauttaa "{} voittaa!".format(block2)
def game_over(player1_score, player2_score):
print ("Peli ohi!")
jos pelaaja1_pisteet> pelaaja2_pisteet:
print ("Pelaaja 1 voittaa!")
elif player2_score> player1_score:
print ("Pelaaja 2 voittaa!")
muu:
tulosta ("solmio!")
def main():
# Rakenna torni
torni =build_tower()
print("Torni rakennettu!")
# Pelaajat
pelaaja1_pisteet =0
pelaaja2_pisteet =0
kun taas Totta:
# Pelaajan 1 vuoro
lohko1, rivi1, sarake1 =poista_lohko(torni, 1)
# Tarkista hyökkäykset
jos rivi1> 0 ja torni[rivi1 - 1][sarake1] !=Ei mitään:
hyökkäys(lohko1, torni[rivi1 - 1][sarake1])
pelaaja1_pisteet +=1
torni[rivi1 - 1][sarake1] =Ei mitään
jos rivi1 <4 ja torni[rivi1 + 1][sarake1] !=Ei mitään:
hyökkäys(lohko1, torni[rivi1 + 1][sarake1])
torni[rivi1 - 1][sarake1] =Ei mitään
pelaaja1_pisteet +=1
jos sarake1> 0 ja torni[rivi1][sarake