Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.06.2022
Сообщений: 8

Задача про пиксельную игру

22.06.2022, 13:30. Показов 1044. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Условие:
Раньше компьютерные игры были гораздо проще, чем сейчас. Например, боссы и враги раньше были запрограммированы строго: они наносили конкретную единицу урона и били раз в строго отведённое время.

Представим, что вы вдохновились одной из таких старых пиксельных игр и решили создать свою собственную. Вы создали 3 разных типа врагов: киборг, робот-приспешник и инопланетный захватчик. У них следующие показатели:

Киборг: 5 урона, бьёт раз в 2 секунды.
Робот-приспешник: 7 урона, бьёт раз в 1 секунду.
Инопланетный захватчик: 14 урона, бьёт раз в 0.5 секунд.
И, конечно же, вы создали очень крутого главного героя, у которого 100 единиц здоровья.
Напишите дополнительную программу, которая бы показывала через сколько секунд умрёт главный герой при встрече с тем или иным боссом, если будет бездействовать.

Peшение:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
boss=(input())
robot = {'Киборг','Робот-приспешник','Инопланетный захватчик'}
boss_damage = {'Киборг': [5],'Робот-приспешник': [7],'Инопланетный захватчик': [14]}
boss_time = {'Киборг': [2],'Робот-приспешник': [1],'Инопланетный захватчик': [0.5]}
HP = 100;
Time = 0
if boss in robot:
    if boss in robot[0]:
        while HP != 0:
            HP=-5
            Time = Time + 2
        print(Time)
    
    if boss in robot[1]:
        while HP != 0:
            HP =- 7
            Time = Time + 1
        print(Time)
            
    if boss in robot[2]:
        while HP != 0:
            HP =- 14
            Time = Time + 0.5
        print(Time)
ПРОБЛЕМА В ОШИБКЕ
TypeError Traceback (most recent call last)
Input In [8], in <cell line: 7>()
6 Time = 0
7 if boss in robot:
----> 8 if boss in robot[0]:
9 while HP != 0:
10 HP=-5

TypeError: 'set' object is not subscriptable
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.06.2022, 13:30
Ответы с готовыми решениями:

Нужно исправить код задания про РПГ-игру
Вася решил заняться разработкой компьютерных игр (Python применяется даже в геймдеве!). Ему поручили разрабатывать искусственный интеллект...

Задача про игру subway surfs
Персонаж Subway Surfers Джейк бежит по железнодорожным путям. Трасса разделена на 5 отрезков, для каждого отрезка известно, на каком из...

Задача про игру Mortal Kombat
Create struct: struct Animal which has: - ID // ID of hero - name // name of animal (char *) (cin.getline) (cin.ignore()) -...

6
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
22.06.2022, 13:41
Python
1
2
3
4
5
6
7
d = [('Киборг', 5, 2),
     ('Робот-приспешник', 7, 1),
     ('Инопланетный захватчик', 14, 0.5)]
hp = 100
 
for enemy, damage, time in d:
    print(enemy, (hp + damage - 1) // damage * time)
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38200 / 21132 / 4310
Регистрация: 12.02.2012
Сообщений: 34,739
Записей в блоге: 14
23.06.2022, 11:17
Замени множество на список:

Python
1
robot = ['Киборг','Робот-приспешник','Инопланетный захватчик']
0
0 / 0 / 0
Регистрация: 22.06.2022
Сообщений: 8
23.06.2022, 12:00  [ТС]
Я заменил множество на список теперь ошибки нет, но ответа никакого не выводит
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
23.06.2022, 13:53
MaxEye, добавь к этому
Python
1
if boss in robot:
Python
1
2
else:
    print("Такого босса нет")
И сделай структуру данных по совету eaa

Добавлено через 4 минуты
Первую строчку замени на
Python
1
boss=input()
0
0 / 0 / 0
Регистрация: 22.06.2022
Сообщений: 8
27.06.2022, 08:53  [ТС]
Теперь выводит время за киборга, не выводит время робота приспешника и когда вводишь инопланетный захватчик вермя просто прибавляется и выводит тоесть 0,5 ,1 , 1.5
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
27.06.2022, 10:29
MaxEye, приведи итоговый код и скрин с выполнением, иначе ничего не понять
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.06.2022, 10:29
Помогаю со студенческими работами здесь

задача про игру "сапер"
Мой алгоритм: #include &lt;iostream&gt; #include &lt;time.h&gt; #include &lt;windows.h&gt; using namespace std; int main() { int star; //...

задача про самолет (аналог задачи про рюкзак)
Мне хотелось бы, чтобы вы посоветовали и помогли мне, как правильно решить задачу. В самолет требуется погрузить n видов предметов,...

Получить пиксельную сетку текста
Всем доброго времени суток. Гугл не дал никаких результатов. Помогите инфой, ссылками или может примерами. Как получить пиксельную сетку...

Вопросы про игру Aion
всем доброго времени!парни подскажите игра aion как вообще кто нить гамал?и кстати она платная ?всмысле как на wow карты оплаты покупать...

Тема про игру в покер.
Здравствуйте! Не нашел более подходящего раздела для постинга. У меня специфическая беда :( Если вдруг не туда запостил, заранее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru