Стрельба по мишеням
Цель работы: совершенствование навыков разработки на C# в том числе с использованием средств GDI+
Задание:
Разработать игру, представляющую собой модель прицельной стрельбы по стенке.
Пушка управляется с помощью трех параметров:
Угол поворота по горизонтали, угол наклона по вертикали, начальная скорость полета снаряда.
На определенном расстоянии от пушки расположена плоская стенка произвольной формы, состоящая из отдельных ячеек (полей) одинакового размера.
Для модели стенки удобно использовать прямоугольный массив.
Каждая ячейка может содержать три типа объектов: кирпич, мишень или быть пустой.
Пушка производит выстрел по стене. Программа вычисляет, по какой ячейке (фрагменту стены) произошло попадание (либо снаряд вообще не попал в стену). В случае промаха пользователю сообщаются координаты точки падения снаряда (для более тщательного прицеливания). В случае попадания фрагмент стены разрушается. При этом, верхние фрагменты (если они есть) автоматически падают на место нижнего, разрушенного (моделируем изменяемое окружение). Мишень, упавшая в результате такого перемещения на землю считается сбитой и пропадает с игрового поля. Снаряды делятся на два типа – обычные (разрушают один фрагмент) и разрывные (разрушают пять фрагментов – тот в который попал и четыре соприкасающихся стенками). Цель игры – поразить все мишени заданным количеством снарядов.
Конфигурацию стены, количество мишеней, количество выстрелов разных типов, расстояние до стены, размер ячейки, диапазон изменения начальной скорости выстрела подобрать самостоятельно (опираясь на здравый смысл и интерес к игре).
Предусмотреть структуру данных, удобно описывающую все эти параметры и хранящуюся в отдельном файле (чтобы можно было, меняя этот файл, генерировать различные уровни для игры).
Графическая часть может быть выполнена максимально схематично – демонстрация стены и траектории полета снаряда.