Arts >> Kultur Nöje >  >> magiska >> Magiska Dusch

Vad är koden till arga transformatorer jenga?

Assistent

Angry Transformers Jenga

Den här koden simulerar ett Jenga-spel, men med en twist:blocken är arga transformatorer som attackerar varandra när de blir välta.

Regler:

* Spelet börjar med ett torn av block, varje block representerar en arg transformator.

* Spelare turas om att ta bort ett block från tornet och placera det ovanpå.

* Om en spelare välter några block, attackerar de arga transformatorerna på dessa block varandra.

* Spelaren som slår över de mest arga transformatorerna förlorar spelet.

Kod:

``` python

importera slumpmässigt

transformatorer =["Optimus Prime", "Megatron", "Bumblebee", "Starscream", "Soundwave", "Shockwave"]

def build_tower():

torn =[]

för i inom intervallet(5):

rad =[]

för j i intervallet(3):

row.append(random.choice(transformatorer))

tower.append(rad)

återvända tornet

def remove_block(torn, spelare):

print("Spelare {}s tur".format(spelare))

medan sant:

rad =int(input("Välj en rad (1-5):")) - 1

om rad <0 eller rad>=5:

print("Ogiltig rad. Välj ett tal mellan 1 och 5.")

fortsätta

kolumn =int(input("Välj en kolumn (1-3):")) - 1

om kolumn <0 eller kolumn>=3:

print("Ogiltig kolumn. Välj ett tal mellan 1 och 3.")

fortsätta

if tower[rad][kolumn] ==Ingen:

print("Det finns inget block i den positionen. Välj en annan position.")

fortsätta

bryta

block =torn[rad][kolumn]

tower[rad][kolumn] =Ingen

returnera block, rad, kolumn

def attack(block1, block2):

print("{} attackerar {}!".format(block1, block2))

om block1 =="Optimus Prime":

om block2 =="Megatron":

returnera "Optimus Prime vinner!"

annan:

returnera "Megatron vinner!"

elif block1 =="Megatron":

om block2 =="Optimus Prime":

returnera "Megatron vinner!"

annan:

returnera "Optimus Prime vinner!"

annan:

om block1> block2:

returnera "{} vinner!".format(block1)

annan:

returnera "{} vinner!".format(block2)

def game_over(spelare1_score, player2_score):

print("Spelet slut!")

om player1_score> player2_score:

print("Spelare 1 vinner!")

elif player2_score> player1_score:

print("Spelare 2 vinner!")

annan:

print("Slips!")

def main():

# Bygg tornet

torn =build_tower()

print("Tornet byggt!")

# Spelare

player1_score =0

player2_score =0

medan sant:

# Spelare 1:s tur

block1, rad1, kolumn1 =remove_block(torn, 1)

# Kontrollera efter attacker

om rad1> 0 och torn[rad1 - 1][kolumn1] !=Ingen:

attack(block1, torn[rad1 - 1][kolumn1])

player1_score +=1

torn[rad1 - 1][kolumn1] =Ingen

om rad1 <4 och torn[rad1 + 1][kolumn1] !=Inga:

attack(block1, torn[rad1 + 1][kolumn1])

torn[rad1 - 1][kolumn1] =Ingen

player1_score +=1

om kolumn1> 0 och torn[rad1][kolumn

Magiska Dusch

Relaterade kategorier