Loomina
26.06.2022 00:26

Тема: работа со списками

у вас есть персонаж, рядом и статов.
напишите программу по заданным условиям:
1. персонаж имеет набор статов: strength, dexterity, intelligence, wisdom, charisma. каждая стата имеет свой запас.
№9
2
значения запасов каждой статы должны быть случайны – в пределах от 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)
№9
3
3. персонаж обладает набором скилов: fireball, lightning,
silence, fire ward.
использование каждого из них отнимает разное количество единиц статов, а именно:
атрибуты занесите эти данные в список, чтобы в дальнейшем
воспользоваться ими в игре:
fireball = [12, 15, 28, 10, 5]


№9
4
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 = []
не стали отрицательными.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ksastaff
22.07.2021 13:23
Добрый день! К сожалению я не работаю с C++, но если это то вот эта задача в Pascal
VAR a,b,c,d:REAL;
PROCEDURE Print_S(x,y,z:REAL);
 VAR  p,S:REAL;
 begin  If ((x+y)>z) and ((x+z)>y) and ((y+z)>x) then 
 begin   
p:=x+y+z;
S:=SQRT(p*(p-x)*(p-y)*(p-z));
WriteLn('S= ',S);
end
 else
Writeln('Треугольник не существует!');
end;
BEGIN Write('a= ');
ReadLn(a);
 Write('b= ');
 ReadLn(b);
 Write('c= ');
 ReadLn(c);
 Write('d= ');
 ReadLn(d);
 WriteLn;
 WriteLn('Стороны ',a,'; ',b,'; ',c);
 Print_S(a,b,c);
 WriteLn;
 WriteLn('Стороны ',a,'; ',b,'; ',d);
 Print_S(a,b,d);
 WriteLn;
 WriteLn('Стороны ',a,'; ',c,'; ',d); 
Print_S(a,c,d);
 WriteLn;
 WriteLn('Стороны ',b,'; ',c,'; ',d);
 Print_S(b,c,d);
END.
0,0(0 оценок)
Ответ:
ValiahmetovaKa
22.07.2021 13:23
#include <iostream>

using namespace std;

void TriangleArea(double a, double b, double c)
{
  double p = (a + b + c) / 2;
  double ss = p * (p - a) * (p - b) * (p - c);  // Using Heron's formula
  if (ss > 0)
    cout << "Area of triangle = " << sqrt(ss);
  else
    cout << "The three sides will not form a triangle.";
}

void main()
{
  double a, b, c, d;
  cout << "a = ";
  cin >> a;
  cout << "b = ";
  cin >> b;
  cout << "c = ";
  cin >> c;
  cout << "d = ";
  cin >> d;

  cout << "\n\nThree side lengths to a triangle (a, b, c):\n";
  TriangleArea(a, b, c);
  cout << "\n\nThree side lengths to a triangle (a, b, d):\n";
  TriangleArea(a, b, d);
  cout << "\n\nThree side lengths to a triangle (b, c, d):\n";
  TriangleArea(b, c, d);
  cout << "\n\nThree side lengths to a triangle (a, c, d):\n";
  TriangleArea(a, c, d);
  cout << "\n\n";
}
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота