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

Итог занятия

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

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

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

  • запустили и посмотрели окончательный вариант игры.

Занятие 6. "Разработка игры Пасьянс-Косынка. Начало первого уровня сложности"

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

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

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

Схема создания игры Пасьянс-Косынка

Перед тем как приступить к началу создания проекта, рассмотрим общую схему реализации игры "Пасьянс-Косынка".

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

Рис. 1

Всего для создания игры нам потребуется шесть классов. После создания проекта мы добавим к нему шесть файлов: kosinka.java, okno.java, pole.java, game.java, stopka.java, karta.java. Каждый класс будет находиться в отдельном файле.Имя файла будет совпадать с названием класса.Рассмотрим задачи,выполняемые каждым классом:

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

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

  1. Класс pole это класс панели окна, который наследуется от класса JPanel. Этот класс представляет собой игровое поле.Именно этот класс будет подключаться к окну в классе okno.

  1. Класс game это класс для реализации логики игры. В этом классе будет реализовано управление игрой,манипулирование стопками карт на игровом поле, управление мышью, контроль действий пользователя.

Этот класс будет самым сложным в проекте.

  1. Класс karta этот класс будет содержать все свойства и методы, которые характерны для одной карты из колоды.

  1. Класс stopka это класс стопки карт. Стопка карт может содержать в себе несколько карт несколько объектов на основании класса karta.

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

Прежде всего, подготовим необходимые изображения, которые понадобятся при создании игры. В игре"Пасьянс-Косынка" будет использована колода из 52 карт.Это значит, что нам понадобится 52изображения для каждой карты и изображение обратной стороны карты.

Также потребуется изображение фона для игры. Таким образом,всего потребуется 54 картинки. Изображения карт, при желании, можно найти в интернете и воспользоваться каким-нибудь вариантом колоды. На этапе разработки не стоит гнаться за красотой карт и фона. Вполне подойдет любой фон и любая колода карт.После создания игры эти изображения можно заменить другими, более красивыми. На этапе разработки все изображения мы поместим в папку karta,созданную в корне диска C:\. Путь к изображениям будет C:\karta\.Когда все будет закончено эти изображения необходимо поместить уже внутрь JAR-архива. Как обычновсе файлы будут в формате PNG.

Подготовим фоновое изображение: fon.png (см. рис.2), размер 1000x700 размеры окна по условию задания.

Подготовим изображение для рубашки карты: k0.png (см.рис. 3), размер 72x97 (ширина 72 пикселя, высота - 97 пикселя).Размер приблизительно соответствует размеру карты "Пасьянса-Косынки"дляWindows.

Рис. 2

Рис. 3

При загрузке карт есть один тонкий момент. Чтобы загрузить всю колоду карт с помощью цикла необходимо сделать закономерность в названиях файлов. Также понадобится закономерность в порядке загружаемых карт. Все названия файлов карт будут начинаться с английской буквы"k", далее будет идти число. Для рубашки карты это нуль. Для картэто числа от1до 52. Сделаем так, что карты будут пронумерованы по порядку.

Сначала четыре двойки: k1.png, k2.png, k3.png, k4.png (см. рис. 4)

Рис. 4

Далее четыре тройки: k5.png, k6.png, k7.png, k8.png

И так по возрастанию - до четырех тузов: k49.png, k50.png, k51.png, k52.png

Таким образом, по номеру мы сможем определить какая именно карта находится под этим номером (двойка, тройка,четверка и т.д.).

Кроме возрастания значений карт мы еще сделаем закономерность для мастей карт: крести, пики, черви, буби (см.рис. 4). В каждой группе однозначных картмасти будут расположены именно в этом порядке. Смысл такой, что одна и та же масть будет повторяться через четыре.

Крести:k1.png, k5.png, k9.png, и т.д.

Пики: k2.png, k6.png, k10.png, и т.д.

Черви: k3.png, k7.png, k11.png, и т.д.

Буби: k4.png, k8.png, k12.png, и т.д.

При таком подходе при загрузке колоды в игру мы сможем это выполнить в цикле и по номеру определить карту и ее масть.

Размеры всех карт колоды будут одинаковыми, и совпадать с размерами рубашки карт: 72x97 (ширина 72 пикселя, высота- 97 пикселя).

Теперь, когда все 54 файла находятся в папке C:\karta\ - приступим к созданию проекта в Eclipse.

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