Veteran1941
15.05.2022 18:26

ИНФОРМАТИКА
С 1 по 8
11!​ ">

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
НяшнаяПанда
09.11.2020 02:16

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

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

   

Объяснение:

0,0(0 оценок)
Ответ:
Ivanova567
15.03.2023 10:24

Когда вы нажимаете клавишу пробел, выполняется условие keyboard.is_pressed('space'). Если это условие выполняется, то вы попадаете с бесконечный цикл while True (строка 5).  Вы один раз нажимаете пробел и попадаете в этот бесконечный цикл.  А так как в нём не предусмотрено никаких условий завершения, то он, логично, никогда не завершится. Что бы исправить это, вы можете добавить условие завершения в цикл или изменить условия его выполнения, например:

while keyboard.is_pressed("space"):

   time.sleep(time)

   keyboard.press_and_release("space")

   time.sleep(time)

P.S Не стоит копировать этот код. Я не знаю, какую библиотеку вы используете, и, соответственно, решения проблемы предлагаю "пальцем в небо"

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота