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

Егор считает ооп великолепным подходом к программированию различных систем. сегодня он хочет, чтобы вы начали разрабатывать основу для pyrpg (python role-playing game). представьте себе мир, в котором у игроков есть четыре основных характеристики: сила (strength), ловкость (agility), интеллект (intelligence) и скорость атаки (speed). по умолчанию у каждого героя (player) игры все характеристики равны нулю. в игре используется оружие (weapon), которое при ношении накладывает определённый эффект на игрока. перед вами стоит создать два класса weapon и player, описывающие данную механику. класс weapon описывает оружие. конструктор класса weapon должен иметь вид: weapon(one_handed, strength, agility, intelligence, speed). параметры strength, agility, intelligence, speed описывают силу, ловкость, интеллект и скорость атаки оружия соответственно и являются необязательными. параметр one_handed описывает флаг «одноручности» оружия, также является необязательным и имеет значение по умолчанию true. класс weapon должен иметь методы: is_one_handed() — возвращает true, если оружие является «одноручным», иначе — false; strength() — возвращает силу, получаемую от оружия; agility() — возвращает ловкость, получаемую от оружия; intelligence() — возвращает интеллект, получаемый от оружия; speed() — возвращает скорость атаки, получаемую от оружия; copy() — возвращает копию оружия. над объектами класса weapon должна быть возможность производить следующие действия: weapon * number — создаёт копию оружия с увеличенной в number раз скоростью атаки; weapon *= number — увеличивает скорость атаки оружия в number раз; weapon1 + weapon2 — создаёт новое оружие, суммируя параметры переданных оружий. новое оружие является «двуручным». weapon1 += weapon2 — изменяет первое оружие, суммируя параметры переданных. первое оружие становится «двуручным». str(weapon) — возвращает строковое представление оружия в виде: «weapon[n](strength: st, agility: a, intelligence: intel, speed: sp)», где n = 1, если оружие «одноручное» и n = 2, если «двуручное». класс player описывает игрока. конструктор класса player должен иметь вид: класс player должен иметь методы: strength() — возвращает силу героя, суммируя силу всех оружий; agility() — возвращает ловкость героя, суммируя ловкость всех оружий; intelligence() — возвращает интеллект героя, суммируя интеллект всех оружий; speed() — возвращает скорость атаки героя, вычисляемую как целочисленное среднее арифметическое всех оружий; take_up_weapon(weapon) — добавляет копию оружия герою. игрок может держать одновременно либо два «одноручных» оружия, либо одно «двуручное». если герой не может взять в руки ещё одно оружие, то он сбрасывает одно или два оружия (самое старое); throw_a_weapon() — скидывает всё оружие игрока. над объектами класса player должна быть возможность производить следующие операции: player < < weapon — добавляет копию оружия герою. игрок может держать одновременно либо два «одноручных» оружия, либо одно «двуручное». если герой не может взять в руки ещё одно оружие, то он сбрасывает одно или два оружия (самое старое); -player — скидывает всё оружие игрока; str(player) — возвращает строку, описывающую игрока в формате: player[n]( strength: st, agility: ag, intelligence: intel, speed: sp ) где n — количество оружий у игрока.

Показать ответ
Ответ:
SarJiG2A
SarJiG2A
14.07.2022 00:57
Прога написанная в codeblocks: #include < iostream> using namespace std; int main() {          setlocale(lc_all,"russian");           int a[20];           int b, c, i, q=0;           for(i=1; i< 21; i++)          {                  cout< < "введите "< < i< < " число: ";                   cin> > a[i];           }          cout< < "введите начальный номер элемента массива: ";     cin> > b;     cout< < "введите конечный номер элемента массива: ";     cin> > c;     for(int j=b; j< c+1; j++)          {                q+=a[j];         }          cout< < "cумма элементов массива с номерами с "< < b< < " по "< < c< < " равна: "< < q; } я надеюсь тебе была нужна прога на с++))
0,0(0 оценок)
Ответ:
stepanoganezov
stepanoganezov
21.02.2020 23:04

ОбъясОтличник

program prog;

uses crt;

var a,b,v:integer;

begin

clrscr;

write('Возраст Антона = ');

readln(a);

write('Возраст Бориса = ');

readln(b);

write('Возраст Виктора = ');

readln(v);

writeln;

if (a>b)and(a>v) then writeln('Антон старше всех.');

if (b>a)and(b>v) then writeln('Борис старше всех.');

if (v>a)and(v>b) then writeln('Виктор старше всех.');

if (a=b)and(a>v) then writeln('Антон и Борис старше Виктора');

if (a=v)and(a>b) then writeln('Антон и Виктор старше Бориса');

if (b=v)and(b>a) then writeln('Борис и Виктор старше Антона');

if (a=b)and(a=v) then writeln('Антон,Борис и Виктор одного возраста');

end.

Подробнее - на -

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