В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
ольга1723
ольга1723
21.04.2022 09:02 •  Информатика

Язык C++ Написать программу:
Два квадрата двигаются в противоположных направлениях и отталкиваются от стенок


Язык C++ Написать программу: Два квадрата двигаются в противоположных направлениях и отталкиваются о

Показать ответ
Ответ:
Mished
Mished
25.04.2023 08:23

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

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 оценок)
Ответ:
islamghj
islamghj
04.04.2023 13:21

#include <iostream>

int main(){

//начальные данные задаются оператором ввода cin из пространства имён std

//пример

int a;

std::cin>>a;

//Условия выхода из цикла + выход из цикла

//Такое прокатит только в цикле while

//пример

int b = 3;

while(b != 1){

 //цикл выполняется пока b не равно 1

 //мы можем изенить и прямо в теле цикла

 b = 1;

 //теперь  b  равно 1 и цикл не будет дальше выполнятся

}

//из цикла можно выть так же ещё и так

while(true){

 //break - оператор, который прерывет цикл

 break;

}

return 0;

}

Не запускал, опираюсь на опыт

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