Создайте компьютерную игру "Пасьянс-Косынка"(см. рис. 12).
· Необходимо реализовать вариант игры с выдачей по одной карте!
· В заголовке окна должна быть надпись: Игра"Пасьянс-Косынка" (см. рис. 11)
Рис. 11
· Игра должна располагаться внутри окна 1000x700 (1000 пикселей по ширине и 700пикселей по высоте).
· Пользователь не должен иметь возможность изменять размеры окна по ширине или высоте.
Рис. 12
· Справа от игрового поля должны располагаться две кнопки: Новая игра, Выход (см. рис. 13).При нажатии на кнопку Новая игра – игра начинается, карты раздаются снова и случайным образом. При нажатии на кнопку Выход –происходит выход из игры с закрытием окна игрового поля.
Рис. 13
· Игровое поле и кнопки необходимо расположить на фоне изображения.
· Управление игрой производится с помощью мыши, без использования клавиатуры. Используется только левая клавиша мыши.
· Перенос карт осуществляется захватом карты (с зажатой левой клавишей мыши).
· Автоматический перенос карт в домашние стопки (см. рис.14)осуществляется двойным щелчком левой клавишей мыши по карте.
· Получение очередной карты из колоды(см. рис. 15) и возврат выбранных карт в колоду (см. рис. 16)осуществляется одиночным нажатием левой клавиши мыши.
· При переносе карт в режиме захвата левой клавишей мыши –карта, на которую произошло нажатие- должна выделяться по краям контуром желтого цвета.
Рис. 14
· Всего на игровом поле будет тринадцать стопок карт. Положение каждой стопки необходимо обвести прямоугольником белого цвета. При отсутствии в ней карт–прямоугольник будет указывать на ее местоположение (см. рис.17).
· Левая верхняя стопка –основная колода– карты всегда закрыты.
Рис. 15
· Вторая верхняя стопка слева –в нее извлекаются карты из левой стопки.
· Правые верхние четыре стопки –домашние стопки.
· В нижние семь стопок раздаются карты в начале игры. В первую стопку одна карта,во вторую две карты, в третью три карты и т.д.
Рис. 16
Рис. 17
· Верхняя карта каждой нижней стопки открыта. После переноса карты в другую стопку –необходимо автоматически открывать верхнюю карту.
· При двойном щелчке по любой открытой карте – должен осуществляться автоматический перенос карты в домашнюю стопку –если это возможно.
· В программе должен осуществляться полный контроль при переносе карт. При неверном ходе –карта или группа переносимых карт–должны возвращаться назад (на прежнее место).
· В отличие от варианты игры подWindows,необходимо организовать перенос карт только при помощи захвата мышью и переноса к необходимой стопке (для домашних стопок также возможен перенос двойным щелчком мыши по карте).
· При успешном завершении игры – разложении пасьянса–в четырех домашних стопках должны находиться Короли. При успешном окончании игры необходимо реализовать следующий эффект: во всех четырех домашних стопках карты должны прокручиваться по порядку, сменяя друг друга. Четыре двойки разных мастей, потом четыре тройки разных мастей, потом четыре четверки разных мастей и т.д. Когда карты дойдут до тузов, то осуществляется переход снова к двойкам.Эффект прокручивания должен происходить до тех пор, пока пользователь не нажмет на кнопку Новая игра. Прокручивание осуществляется с разумной скоростью.
· Законченный вариант необходимо представить в виде JAR-архива с упакованными внутрь файлами изображений.