Kızgın Transformers Jenga
Bu kod bir Jenga oyununu simüle eder, ancak bir değişiklikle:Bloklar, devrildiklerinde birbirlerine saldıran kızgın transformatörlerdir.
Kurallar:
* Oyun bir blok kulesiyle başlar, her blok kızgın bir transformatörü temsil eder.
* Oyuncular sırayla kuleden bir bloğu çıkarıp üstüne yerleştirir.
* Bir oyuncu herhangi bir bloğu devirirse, o bloklardaki öfkeli transformatörler birbirlerine saldırır.
* En öfkeli transformatörleri deviren oyuncu oyunu kaybeder.
Kod:
```piton
rastgele içe aktar
transformatörler =["Optimus Prime", "Megatron", "Bumblebee", "Starscream", "Soundwave", "Shockwave"]
def build_tower():
kule =[]
(5) aralığındaki i için:
satır =[]
(3) aralığındaki j için:
row.append(random.choice(transformers))
tower.append(satır)
dönüş kulesi
def kaldır_block(kule, oyuncu):
print("Oyuncu {}'nun sırası".format(player))
Doğruyken:
satır =int(input("Bir satır seçin (1-5):")) - 1
satır <0 veya satır>=5 ise:
print("Geçersiz satır. Lütfen 1 ile 5 arasında bir sayı seçiniz.")
devam etmek
sütun =int(input("Bir sütun seçin (1-3):")) - 1
sütun <0 veya sütun>=3 ise:
print("Geçersiz sütun. Lütfen 1 ile 3 arasında bir sayı seçin.")
devam etmek
if kule[satır][sütun] ==Yok:
print("Bu konumda blok yok. Lütfen farklı bir konum seçin.")
devam etmek
kırmak
blok =kule[satır][sütun]
kule[satır][sütun] =Yok
dönüş bloğu, satır, sütun
def saldırısı(blok1, blok2):
print("{}, {}!".format(block1, blok2)) saldırıyor
if blok1 =="Optimus Prime":
if blok2 =="Megatron":
return "Optimus Prime kazandı!"
başka:
return "Megatron kazandı!"
elif blok1 =="Megatron":
if blok2 =="Optimus Prime":
return "Megatron kazandı!"
başka:
return "Optimus Prime kazandı!"
başka:
blok1> blok2 ise:
return "{} kazandı!".format(block1)
başka:
return "{} kazandı!".format(block2)
def game_over(oyuncu1_score, oyuncu2_score):
print("Oyun bitti!")
eğer oyuncu1_skor> oyuncu2_skoru ise:
print("Oyuncu 1 kazanır!")
elif oyuncu2_score> oyuncu1_score:
print("Oyuncu 2 kazanır!")
başka:
print("Kravat!")
def ana():
# Kuleyi inşa et
kule =build_tower()
print("Kule inşa edildi!")
# Oyuncular
oyuncu1_score =0
oyuncu2_score =0
Doğruyken:
# Oyuncu 1'in sırası
blok1, satır1, sütun1 =kaldır_blok(kule, 1)
# Saldırıları kontrol et
eğer satır1> 0 ve kule[satır1 - 1][sütun1] !=Yok:
saldırı(blok1, kule[satır1 - 1][sütun1])
oyuncu1_score +=1
kule[satır1 - 1][sütun1] =Yok
if satır1 <4 ve kule[satır1 + 1][sütun1] !=Yok:
saldırı(blok1, kule[satır1 + 1][sütun1])
kule[satır1 - 1][sütun1] =Yok
oyuncu1_score +=1
eğer sütun1> 0 ve kule[satır1][sütun