Есть ответ 👍

Очень нужна Нужно дополнить код(На Python).
ЗАДАНИЕ:
Устройте несколько дуэлей подряд и выведите результаты
(Их можно хранить в словаре).
В награду за победу персонажу можно увеличивать очки здоровья.
ИЗНАЧАЛЬНЫЙ КОД:
import time, random
q=random.randint(1,10)
w=random.randint(1,10)
player1 = {'Имя' : "Боб", 'Здоровье' : 100, 'Атака' : q}
player2 = {'Имя' : "Мери", 'Здоровье' : 100, 'Атака' : w}

while player1['Здоровье'] > 0 and player2['Здоровье'] > 0:
player2['Здоровье'] -= player1['Атака']
print(player1['Имя'], ' атакует ', player2['Имя'])
time.sleep(1)
player1['Здоровье'] -= player2['Атака']
print(player2['Имя'], ' атакует ', player1['Имя'])
time.sleep(1)
print('Боб :', player1['Здоровье'], 'Мери :', player2['Здоровье'])

272
414
Посмотреть ответы 2

Ответы на вопрос:

LPKenion
4,5(1 оценок)

Логика приложения сохранена. Теперь игрок представлен классом, а не словарём (потому что ооп труъ). Атакующая сторона выбирается случайно.

import random

import time  

import typing

from typing import NewType

player = NewType('Player', object)

class Player:

   def __init__(self, name, hp, dmg):

       self._name = name

       self._health = hp  

       self._damage = dmg  

   @property

   def NAME(self):

       return self._name

   

   @property

   def HP(self):

       return self._health  

   @HP.setter  

   def HP(self, NewValue):

       self._health = NewValue

   @property

   def DMG(self):

       return self._damage

   def Attack(self, trg: player):

       trg.HP -= self._damage

def main():

   enemies = [Player('Bob', 100, 25), Player('Tom', 100, 23)]

   choices = [0, 1]

   while (enemies[0].HP > 0 and enemies[1].HP > 0):

       CurrSelected = random.choice(choices)

       OtherSelected = abs(CurrSelected-1)

       Slc = enemies[CurrSelected]

       Other = enemies[OtherSelected]

       print(f'Player {Slc.NAME} (HP: {Slc.HP}) attack {Other.NAME} (HP: {Other.HP} -> {Other.HP - Slc.DMG})')

       enemies[CurrSelected].Attack(enemies[abs(CurrSelected-1)])

       time.sleep(1)

if __name__ == '__main__':

   main()

   

Объяснение:

kisuli1
4,5(76 оценок)

Прикрепила скрин из заметок,тк почему-то не могу написать это в ответе
К каким сервисам открывается доступ при создании Gooogle аккаунта?

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS