Логика приложения сохранена. Теперь игрок представлен классом, а не словарём (потому что ооп труъ). Атакующая сторона выбирается случайно.
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
def HP(self):
return self._health
@HP.setter
def HP(self, NewValue):
self._health = NewValue
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()
Объяснение:
1) Создание сайтов — составной процесс, состоящий из нескольких этапов:
1. разработка дизайна,
2. вёрстка,
3. программирование,
4. безопасность.
2) Сопровождение сайтов:
1. Техническая поддержка сайта;
в обновлении контента;
3. Внесение корректировок в работу ресурса.
3) Методы создания и сопровождения сайтов:
1. Вручную на языкe HTML (в БЛОКНОТе);
2. С редакторов сайтов (HEFS, DreamWeaver и др.);
3. С Конструктора сайтов на основе готового шаблона (ucoz.ru, narod.ru и др.);
4. С систем управления сайтов (Joomla, 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()
Объяснение:
Объяснение:
1) Создание сайтов — составной процесс, состоящий из нескольких этапов:
1. разработка дизайна,
2. вёрстка,
3. программирование,
4. безопасность.
2) Сопровождение сайтов:
1. Техническая поддержка сайта;
в обновлении контента;
3. Внесение корректировок в работу ресурса.
3) Методы создания и сопровождения сайтов:
1. Вручную на языкe HTML (в БЛОКНОТе);
2. С редакторов сайтов (HEFS, DreamWeaver и др.);
3. С Конструктора сайтов на основе готового шаблона (ucoz.ru, narod.ru и др.);
4. С систем управления сайтов (Joomla, 1С Битрикс и др.).