, я вот пытаюсь и у меня ниче не работает:)) У вас есть персонаж, обладающий рядом
и статов
Напишите программу по заданным условиям:
1. Персонаж имеет набор статов: strength, dexterity, intelligence, wisdom, charisma. Каждая стата имеет свой запас
Значения запасов каждой статы должны быть случайны – в пределах от 60 до 80 и быть представлены в списке
stats = []:
stats = []
attributes = 5
for i in range(attributes):
r = random.randint(60, 80)
stats.append(r)
2. В начале игры пользователю предоставляется возможность
однократно повысить одну стату на случайное количество
единиц – от 5 до 15:
select = int(input('Select: '))
select -= 1
stats[select] = stats[select] +
random.randint(5, 15)
Обратите внимание, что повышая одну стату на сгенерированное число, все остальные должны уменьшиться на
случайное значение в пределах от 5 до 15:
for i in range(len(stats)):
if i == select:
continue
stats[i] = stats[i] - random.randint(5, 15)
Персонаж обладает набором скилов: fireball, lightning,
silence, fire ward
Использование каждого из них отнимает разное количество единиц статов, а именно:
Атрибуты /
Strength Dexterity Intelli- gence Wisdom Charisma
Fireball 12 15 28 10 5
Lightning 7 13 15 30 10
Silence 23 10 12 7 18
Fire Ward 20 23 14 6 17
Занесите эти данные в список, чтобы в дальнейшем
воспользоваться ими в игре:
fireball = [12, 15, 28, 10, 5]
Предоставьте пользователю возможность использовать
скилы, например, по нажатию f применяется Fireball,
l – Lightning и т. д. После применения какой-либо из
, запас статов будет уменьшаться, согласно
приведенной выше таблице.
Рассмотрим следующий пример:
1. Было Stats: 70 64 63 80 65.
2. Применили Fireball: 12 15 28 10 5.
3. Стало Stats: 58 49 35 70 60.
Следите за тем, чтобы элементы в списке stats = []
не стали отрицательными.
program raf105;
var v:array[1..6] of real;
i,j,kolvo,n:integer;
abc:real;
begin
writeln('Введите 6 значений по очереди: ');
for i:=1 to 6 do
read(v[i]);6
for j:=1 to 6 do
begin
for i:=1 to 6 do
begin
if (v[j]-v[i]) > 0
then kolvo:=kolvo+1;
end;
if kolvo=5
then n:=j
else kolvo:=0;
end;
writeln();
writeln('Ввод:');
for i:=1 to 6 do
write(' ',v[i]);
abc:= v[n];
v[n]:= v[1];
v[1]:= abc;
writeln();
writeln('Вывод:');
for i:=1 to 6 do
write(' ',v[i]);
end.
Написано на языке PascalABC.NET
//Код Pascal
const
N = 7;
var
Mass: array[1..N] of integer;
i, k: integer;
Begin
WriteLn('Введите для продолжения:');
WriteLn('1 - Автоматическая генерация массива');
WriteLn('2 - Ручной ввод');
ReadLn(k);
if (k = 1) then
Begin
Write('Исходный массив:');
For i:= 1 to N do
Begin
Mass[i] := random(2*N) - N;
Write(' ', Mass[i]);
End;
End
else
For i:= 1 to N do
Read(Mass[i]);
WriteLn();
WriteLn('Введите номер элемента');
ReadLn(k);
if ((k < 1) or (k > N)) then
WriteLn('Ошибка, в массиве нет элемента с таким номером.')
else
Begin
Write(k, '-ый элемент - ');
if (Mass[i] mod 2 = 0) then
Write('чётный')
else
Write('нечётный');
End;
End.