Arts >> Изкуства >  >> магия >> Магически предавания

Какъв е кодът на angry transformers jenga?

Помощник

Angry Transformers Jenga

Този код симулира игра на Jenga, но с обрат:блоковете са ядосани трансформатори, които се атакуват един друг, когато бъдат съборени.

Правила:

* Играта започва с кула от блокове, като всеки блок представлява ядосан трансформатор.

* Играчите се редуват да премахват един блок от кулата и да го поставят отгоре.

* Ако играч събори блокове, ядосаните трансформатори на тези блокове се атакуват един друг.

* Играчът, който събори най-ядосаните трансформатори, губи играта.

Код:

``` питон

произволен импорт

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))

докато е вярно:

ред =int(вход("Изберете ред (1-5):")) - 1

ако ред <0 или ред>=5:

print("Невалиден ред. Моля, изберете число между 1 и 5.")

продължи

колона =int(вход("Изберете колона (1-3):")) - 1

ако колона <0 или колона>=3:

print("Невалидна колона. Моля, изберете число между 1 и 3.")

продължи

ако кула[ред][колона] ==Няма:

print("В тази позиция няма блок. Моля, изберете друга позиция.")

продължи

прекъсвам

блок =кула[ред][колона]

кула[ред][колона] =Няма

връща блок, ред, колона

def атака (блок1, блок2):

print("{} атакува {}!".format(block1, block2))

if block1 =="Optimus Prime":

if block2 =="Megatron":

return "Оптимус Прайм печели!"

иначе:

връщане "Мегатрон печели!"

elif block1 =="Мегатрон":

if block2 =="Оптимус Прайм":

връщане "Мегатрон печели!"

иначе:

return "Оптимус Прайм печели!"

друго:

ако блок1> блок2:

връща "{} печели!".format(block1)

иначе:

връща "{} печели!".format(block2)

def game_over(player1_score, player2_score):

print("Играта приключи!")

ако player1_score> player2_score:

print("Играч 1 печели!")

elif player2_score> player1_score:

print("Играч 2 печели!")

иначе:

print("Вратовръзка!")

def main():

# Постройте кулата

кула =build_tower()

print("Построена кула!")

# Играчи

играч1_резултат =0

играч2_резултат =0

докато е вярно:

# Ред на играч 1

блок1, ред1, колона1 =премахване_блок(кула, 1)

# Проверете за атаки

ако ред1> 0 и кула[ред1 - 1][колона1] !=Няма:

атака (блок1, кула[ред1 - 1][колона1])

играч1_резултат +=1

кула [ред1 - 1][колона1] =Няма

ако ред1 <4 и кула[ред1 + 1][колона1] !=Няма:

атака (блок1, кула[ред1 + 1][колона1])

кула [ред1 - 1][колона1] =Няма

играч1_резултат +=1

ако колона1> 0 и кула[ред1][колона

Магически предавания

Съответните категории