Angry Transformers Jenga
Αυτός ο κώδικας προσομοιώνει ένα παιχνίδι Jenga, αλλά με μια ανατροπή:τα μπλοκ είναι θυμωμένοι μετασχηματιστές που επιτίθενται ο ένας στον άλλο όταν χτυπηθούν.
Κανόνες:
* Το παιχνίδι ξεκινά με έναν πύργο από μπλοκ, κάθε μπλοκ αντιπροσωπεύει έναν θυμωμένο μετασχηματιστή.
* Οι παίκτες αφαιρούν εναλλάξ ένα μπλοκ από τον πύργο και το τοποθετούν στην κορυφή.
* Εάν ένας παίκτης χτυπήσει πάνω από οποιοδήποτε μπλοκ, οι θυμωμένοι μετασχηματιστές σε αυτά τα μπλοκ επιτίθενται ο ένας στον άλλο.
* Ο παίκτης που χτυπά τους πιο θυμωμένους μετασχηματιστές χάνει το παιχνίδι.
Κωδικός:
```python
εισαγωγή τυχαία
transformers =["Optimus Prime", "Megatron", "Bumblebee", "Starscream", "Soundwave", "Shockwave"]
def build_tower():
πύργος =[]
για i στην περιοχή (5):
σειρά =[]
για j στην περιοχή (3):
row.append(random.choice(transformers))
tower.append(σειρά)
πύργος επιστροφής
def remove_block(πύργος, παίκτης):
print("Σειρά του παίκτη {}".format(player))
ενώ Αλήθεια:
row =int(input("Επιλέξτε μια σειρά (1-5):")) - 1
εάν σειρά <0 ή σειρά>=5:
print("Μη έγκυρη σειρά. Επιλέξτε έναν αριθμό μεταξύ 1 και 5.")
συνεχίζω
στήλη =int(input("Επιλογή στήλης (1-3):")) - 1
εάν στήλη <0 ή στήλη>=3:
print("Μη έγκυρη στήλη. Επιλέξτε έναν αριθμό μεταξύ 1 και 3.")
συνεχίζω
if tower[row][column] ==Κανένα:
print("Δεν υπάρχει μπλοκ σε αυτήν τη θέση. Επιλέξτε διαφορετική θέση.")
συνεχίζω
διακοπή
μπλοκ =πύργος[σειρά][στήλη]
tower[row][column] =Κανένα
μπλοκ επιστροφής, γραμμή, στήλη
επίθεση def (block1, block2):
print("{} επιθέσεις {}!".format(block1, block2))
if block1 =="Optimus Prime":
if block2 =="Megatron":
επιστροφή "Optimus Prime κερδίζει!"
αλλού:
επιστροφή "Η Megatron κερδίζει!"
elif block1 =="Megatron":
if block2 =="Optimus Prime":
επιστροφή "Η Megatron κερδίζει!"
αλλού:
επιστροφή "Optimus Prime κερδίζει!"
αλλού:
αν block1> block2:
επιστροφή "{} wins!".format(block1)
αλλού:
επιστροφή "{} wins!".format(block2)
Def game_over (player1_score, player2_score):
print ("Το παιχνίδι τελείωσε!")
αν παίκτη1_σκορ> παίκτη2_σκορ:
print ("Ο παίκτης 1 κερδίζει!")
elif player2_score> player1_score:
print ("Ο παίκτης 2 κερδίζει!")
αλλού:
εκτύπωση ("γραβάτα!")
def main():
# Χτίστε τον πύργο
πύργος =build_tower()
print ("Έγινε πύργος!")
# Παίκτες
παίκτης1_σκορ =0
παίκτης2_σκορ =0
ενώ Αλήθεια:
# Σειρά του παίκτη 1
block1, row1, column1 =remove_block(tower, 1)
# Ελέγξτε για επιθέσεις
αν row1> 0 και tower[row1 - 1][column1] !=Κανένα:
επίθεση (μπλοκ1, πύργος[σειρά1 - 1][στήλη1])
player1_score +=1
πύργος[σειρά1 - 1][στήλη1] =Κανένα
αν σειρά 1 <4 και πύργος[row1 + 1][στήλη1] !=Κανένα:
επίθεση (μπλοκ1, πύργος[σειρά1 + 1][στήλη1])
πύργος[σειρά1 - 1][στήλη1] =Κανένα
player1_score +=1
αν στήλη1> 0 και πύργος[σειρά1][στήλη