-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQueueTask.txt
More file actions
46 lines (39 loc) · 3.13 KB
/
QueueTask.txt
File metadata and controls
46 lines (39 loc) · 3.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Задача: Система спавна мобов (Mobile Spawn Queue)
Легенда:
Главный герой входит в логово босса.
В логове есть 3 точки появления мобов (спавнеры).
В начале уровня игра должна подготовить список врагов, которые атакуют героя волной.
Тебе нужно написать программу, симулирующую этот процесс.
Техническое задание (ТЗ):
1. Создай класс Enemy (Враг):
- Свойства: string Name (Имя), int Health (Здоровье), int Damage (Урон).
- Конструктор для заполнения этих полей.
- Метод void SayPhrase() — выводит в консоль фразу, типа: "Я {Name} выхожу из тени!".
2. Создай класс SpawnManager (Менеджер спавна):
- В нем должно быть поле Queue<Enemy> _enemyQueue (очередь врагов).
Это и есть наша основная структура данных.
- Метод void AddEnemyToQueue(Enemy enemy) — добавляет врага в конец очереди.
- Метод void SpawnNextEnemy() — достает (через Dequeue) первого врага из очереди,
вызывает его метод SayPhrase() и выводит в консоль сообщение:
"[{Name}] появился! Нанесено урона: {Damage}".
- Метод void ShowQueueStatus() — показывает, сколько врагов еще в засаде (в очереди).
3. Логика работы в Main (или методе GameLoop):
- Создай экземпляр SpawnManager.
- Используя цикл и Random, создай 5-7 случайных врагов
(массив имен: Гоблин, Орк, Скелет, Демон, Зомби)
и добавь их в менеджер через AddEnemyToQueue.
- Используя цикл while (или for), симулируй процесс боя: пока очередь не пуста,
спавнь по одному врагу с задержкой.
- Хитрость с консолью:
Используй Thread.Sleep(1500); (добавь using System.Threading; в начале файла),
чтобы враги появлялись не мгновенно, а с интервалом в 1.5 секунды, как в настоящей игре.
Примерный вывод программы:
Засада! Враг поджидает в очереди: 5
[Очередь] Появился Гоблин! Я Гоблин выхожу из тени! Нанесено урона: 7
Осталось врагов: 4
(пауза 1.5 сек)
[Очередь] Появился Орк! Я Орк выхожу из тени! Нанесено урона: 15
Осталось врагов: 3
(пауза 1.5 сек)
...
Все враги повержены!