М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
QuietW
QuietW
24.01.2023 00:59 •  Информатика

У вас есть персонаж, обладающий рядом и статов.
Напишите программу по заданным условиям:
1. Персонаж имеет набор статов: strength, dexterity,
intelligence, wisdom, charisma. Каждая стата имеет свой
запас.
1
Домашнее задание № 9
Значения запасов каждой статы должны быть случайны
– в пределах от 60 до 80 и быть представлены в списке
stats = []:
stats = []
for i in range(5):
r = random.randint(60, 80)
stats.append(r)
2. В начале игры пользователю предоставляется
возможность однократно повысить одну стату на
случайное количество единиц – от 5 до 15:
select = int(input('Select: '))
select -= 1
stats[select] += random.randint(5, 15)
Обратите внимание, что повышая одну стату на
сгенерированное число, все остальные должны
уменьшиться на случайное значение в пределах от 5 до 15:
for i in range(len(stats)):
if i == select:
continue
stats[i] -= random.randint(5, 15)
2
Домашнее задание № 9
3. Персонаж обладает набором скилов: fireball, lightning,
silence, fire ward.
Использование каждого из них отнимает разное
количество единиц статов, а именно:
Атрибуты
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]
lightning = [7, 13, 15, 30, 10]
...
3
Домашнее задание № 9
4. Предоставьте пользователю возможность использовать
скилы, например, по нажатию 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=[] не стали отрицательными.

👇
Открыть все ответы
Ответ:
JukovaEleonora
JukovaEleonora
24.01.2023
Ну, в общем, лови решение.

{ FreePascal 2.6.4}
program test;
uses
    crt;
var
    a, b, c, d  : integer;
    f : longint;

procedure swap (var x : integer; var y : integer);
var z : integer;
begin
    z := x;
    x := y;
    y := z;
end;

function nod (m, n : integer) : integer;
begin
    while m<>n do begin
        if m>n
        then
            m:=m-n
        else
            n:=n-m;
    end;
    nod := m;
end;

function max (a,b : integer) : integer;
begin
    if a>b
    then max := a
    else max := b;
end;

function min (x, y, z : integer) : integer;
var m : integer;
begin
    m := x;
    if y<m then m := y;
    if z<m then m := z;
    min := m;
end;

function mypow (a, b : integer) : integer;
var e, f : integer;
begin
    f := 1;
    for e:=1 to b do f := f*a;
    mypow := f;
end;

function fact(a : integer) : longint;
var
    i : integer;
    res : longint;
begin
    res := 1;
    for i := 1 to a do res := res*i;
    fact := res;
end;

begin
    clrscr;
    writeln('Test of function SWAP');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    swap(a, b);
    writeln('A=', a, ', B=', b);
    writeln;

    writeln('Test of function NOD');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    c := nod(a, b);
    writeln('NOD(', a, ',', b, ')=', c);
    writeln;

    writeln('Test of function MAX');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    c := max(a, b);
    writeln('MAX(', a, ',', b, ')=', c);
    writeln;

    writeln('Test of function MIN');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    write('Input C: ');
    readln(c);
    d := min(a, b, c);
    writeln('MIN(', a, ',', b, ',', c, ')=', d);
    writeln;

    writeln('Test of function POW');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    c := mypow(a, b);
    writeln('POW(', a, ',', b, ')=', c);
    writeln;

    writeln ('Test of function FACT (not large than 12!)');
    write('Input A: ');
    readln(a);
    f := fact(a);
    writeln(a, '!=', f);
    writeln;
    readkey;

end.
4,6(4 оценок)
Ответ:
tatiana260378
tatiana260378
24.01.2023
1. Разностная машина Беббиджа должна была заменить группу вычислителей, которые аккуратно склвдывали и вычитали числа. Поэтому утверждение "Б" - справедливо
2. Подготовка данных с перфокарт, утверждение "А" - справедливо.
3. Утверждение "Г" - спорно, хотя в 2000 году в лондонском Музее науки заработал принтер, придуманный Бэббиджем для своей машины.

Вообще машина проектировалась как механический аппарат предназначенный для автоматизации вычислений путем аппроксимации функций многочленами и вычисления конечных разностей.
4,7(38 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ