нужно написать программу-игру, которая имитирует битву героя и дракона. Информация о ходе битвы должна выводиться в консоль. Программа пишется постепенно, каждый этап добавляет новые функции в ту же программу. Задание считается выполненным на 100%, если выполнены условия всех уровней (кроме бонуса). Бонус засчитывается, только если решены остальные этапы, поэтому добейтесь сначала работо основного кода, а потом беритесь за бонусы, если время осталось. Все указания на этапах являются обязательными.
Исходные данные:
dragon = {
'hp': 2000, # жизненная энергия, запас здоровья
'defence': 120, # защита
'str': 150, # сила
'weapon': 0 # оружие
}
hero = {
'hp': 1000,
'defence': 100,
'str': 120,
'weapon': 250,
'shield': 150 # щит
}
Исходные данные можно менять по своему желанию, чтобы проверить разные варианты работы программы. При проверке значения также могут и будут меняться (!).
Общие указания:
Игровой цикл реализуется с бесконечного цикла
Сообщения в консоли должны быть максимально информативны. Они могут содержать информацию о количестве HP у дракона и героя, номер хода, кто ходит, кто сколько урона нанёс и т.д.
Можно использовать разделители (строки типа "" и дополнительные переносы строк "\n"), чтобы было понятно, когда закончился один ход и начался следующий.
Аккуратное форматирование вывода приветствуется.
#include "stdafx.h"
#include <conio.h>
void swap(short &a, short &b) {
short c = a;
a = b;
b = c;
}
void sort(short &a, short &b, short &c)
{
short min = a,
max = c;
if (min > b) min = b;
if (min > c) min = c;
if (max < a) max = a;
if (max < b) max = b;
b = a + b + c - min - max;
a = min;
c = max;
}
int main()
{
short a1, b1, c1, a2, b2, c2;
scanf_s("%hd %hd %hd", &a1, &b1, &c1);
scanf_s("%hd %hd %hd", &a2, &b2, &c2);
sort(a1, b1, c1);
sort(a2, b2, c2);
if ((a1 == a2) && (b1 == b2) && (c1 == c2))
printf("Boxes are equal");
else
if ((a1 <= a2) && (b1 <= b2) && (c1 <= c2))
printf_s("The first box is smaller than the second one");
else
if ((a2 <= a1) && (b2 <= b1) && (c2 <= c1))
printf_s("The first box is larger than the second one");
else
printf_s("Boxes are incomparable");
_getch();
return 0;
}
from random import random
N = 10
a = []
for i in range(N):
b = int(random() * 50)
a.append(b)
print(a)
min = 101
for i in range(N-1):
s = a[i]+a[i+1]
if (s < min) and (s % 2 == 1):
min=s
print(min)
Пример:[41, 35, 16, 7, 29, 9, 16, 28, 10, 6]
23
2)
from random import random
N = 10
a = []
for i in range(N):
b = int(random() * 50)-25
a.append(b)
print(a)
k = 0
for i in range(N-1):
p = a[i]*a[i+1]
s = a[i]+a[i+1]
if (p % 2 != 0) and (s > 0):
k = k+1
print(k)
Пример:[11, 23, 12, -16, 21, 15, -11, -10, 10, 17]
3