Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Java Модуль 4.docx
Скачиваний:
13
Добавлен:
01.07.2025
Размер:
20.72 Mб
Скачать

Итог занятия

На этом занятии мы:

  • полностью закончили создание игры Змейка в соответствии с техническим заданием;

  • завершили выполнение второго уровня сложности;

  • на базе второго уровня выполнили третий уровень сложности.

Занятие 3. "Разработка игры Морской бой. Первый уровень сложности"

На этом занятии мы начнем разработку игры Морской бой: - создадим новый проект; - рассмотрим необходимые изображения; - добавим необходимые классы к проекту;

Уровни сложности при создании игры Морской бой подобраны так,что каждый следующий уровень является продолжением предыдущего.

В процессе выполнения задания каждый выбирает уровень сложности по своим силам. После создания своей версии игры имеет смысл ознакомиться с вариантом игры, описанном в методическом пособии.Если самостоятельно создать игру до конца не удалось, то можно воспользоваться вариантом, представленном в методическом пособии.

Схема создания игры Морской бой

Перед тем как приступить к началу создания проекта, рассмотрим общую схему реализации игры Морской бой. Во многом она будет похожа на схему создания игр "Новогодний дождь" и "Змейка".

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

Рис. 1

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

Рассмотрим задачи,выполняемые каждым классом:

  1. Класс mb,который является главным классом приложения, будет выполнять запуск игры. В нем создается объект окна для игры и находится метод main().

  1. Класс okno –это класс окна,который наследуется от класса JFrame. В нем будет подключаться панель окна, на которой расположено игровое поле. Также в этом классе будут указаны все параметры окна:его размеры, заголовок и т.д.

  1. Класс pole это класс панели окна, который наследуется от класса JPanel.Этот класс представляет собой игровое поле. Именно этот класс будет подключаться к окну в классе okno. Вся графика (отрисовка игрового поля), настройка таймеров, обработка событий от мыши будет происходить именно в этом классе. Но все данные для отрисовки игрового поля класс poleбудет получать из класса game, в котором находятся два двумерных массива.

  1. Класс game– это класс для реализации логики игры. В этом классе будут находиться два двумерных массива, и все операции с двумерным массивом будут производиться именно в этом классе. Классpole будет постоянно обращаться к классу game, чтобы выполнить отрисовку игрового поля по данным двумерных массивов. Данные массивов будут зеркально отображаться на игровом поле в классе pole, но сами изменения данных массивов будут происходить в классе game.

Такая схема классов не является единственно верной при создания игры Морской бой. Программист сам определяет схему классов и их название.Алгоритм игры, использованный при реализации игры Морской бой, также не является единственным. Программист может использовать алгоритм по своему усмотрению.

Реализация первого уровня сложности игры Морской бой

Подготовка изображений для игры Морской бой

Прежде всего, подготовим необходимые изображения, которые понадобятся при создании игры. На этапе разработки можно взять простые изображения, сделанные в любом графическом редакторе и писать программный код с их использованием. Вполне подойдут картинки,найденные в интернете или сделанные самостоятельно. Когда игра будет закончена полностью, можно сделать более внушительный дизайн, заменив исходные варианты картинками такого же размера, но с более привлекательным дизайном. Вспомним,что основной формат при разработке наJava это формат PNG. Именно в этом формате необходимо подготовить изображения.

Выполнить конвертацию в формат PNG можно во многих графических редакторах.

Для игры Морской бой понадобятся семь изображений:

1) Основной фон

2) Палуба корабля в начальном состоянии

3) Палуба корабля в раненом состоянии

4) Палуба полностью убитого корабля

5) Изображение бомбы для пометки ячеек с выстрелом

6) Изображение о конце игры с сообщением о поражении

7) Изображение о конце игры с сообщением о победе

Подготовим следующие изображения:

  • fon.png (см. рис. 2) –это фоновое изображение, размер 900x600 размеры окна по условию задания.

Рис. 2

  • paluba.png (см. рис. 3) палуба корабля в начальном состоянии, размер 30x30 размер одной ячейки игрового поля по условию задания.

Рис. 3

  • ranen.png (см. рис. 4) палуба корабля в "раненом" состоянии,размер 30x30 размер одной ячейки игрового поля по условию задания.

Рис. 4

  • ubit.png (см. рис. 5) палуба полностью"убитого" корабля, размер 30x30 размер одной ячейки игрового поля по условию задания.

Рис. 5

  • bomba.png (см. рис. 6) изображение бомбы для пометки ячейки с выстрелом, размер 30x30 размер одной ячейки игрового поля по условию задания.

Рис. 6

  • end1.png (см. рис. 7) изображение об окончании игры с сообщением о победе, размер 300x100 размер взят произвольно.

Рис. 7

  • end2.png (см. рис. 8) изображение об окончании игры с сообщением о поражении, размер 300x100размер взят произвольно.

Рис. 8

Все семь изображений поместим, например, в корень диска C:\. В процессе разработки игры изображения будут загружаться из корня диска C:\. После окончания создания игры мы поместим их внутрь JAR-архива.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]