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

Рис. 1
Всего для создания игры нам потребуется шесть классов. После создания проекта мы добавим к нему шесть файлов: kosinka.java, okno.java, pole.java, game.java, stopka.java, karta.java. Каждый класс будет находиться в отдельном файле.Имя файла будет совпадать с названием класса.Рассмотрим задачи,выполняемые каждым классом:
1. Класс kosinka, который является главным классом приложения, будет выполнять запуск игры, в нем будет создаваться объект окна для игры и в нем, конечно же, будет метод main().
2. Класс okno –это класс окна,который наследуется от класса JFrame. В нем будет подключаться панель окна, на которой расположено игровое поле. Также в этом классе будут указаны все параметры окна:его размеры, заголовок и т.д.
3. Класс pole –это класс панели окна, который наследуется от класса JPanel. Этот класс представляет собой игровое поле.Именно этот класс будет подключаться к окну в классе okno.
4. Класс game– это класс для реализации логики игры. В этом классе будет реализовано управление игрой,манипулирование стопками карт на игровом поле, управление мышью, контроль действий пользователя.
Этот класс будет самым сложным в проекте.
1. Класс karta –этот класс будет содержать все свойства и методы, которые характерны для одной карты из колоды.
2. Класс stopka –это класс стопки карт. Стопка карт может содержать в себе несколько карт –несколько объектов на основании класса karta.