ВВведение
Компьютерная игра — это компьютерная программа, служащая для организации игрового процесса (геймплея), связи с партнёрами по игре, или сама выступающая в качестве партнёра. В ряде случаев вместо компьютерной игры может использоваться видеоигра, то есть данные термины могут употребляться как синонимы и быть взаимозаменяемыми. В компьютерных играх, как правило, игровая ситуация воспроизводится на экране дисплея или обычного телевизора (в этом случае компьютерные игры одновременно являются и видеоиграми), но в то же время компьютерная игра может быть звуковой, и др.
Компьютерные игры могут создаваться на основе фильмов и книг; есть и обратные случаи. С 2011 года компьютерные игры официально признаны в США отдельным видом искусства. Компьютерные игры оказали столь существенное влияние на общество, что в информационных технологиях отмечена устойчивая тенденция к геймификации для неигрового прикладного программного обеспечения.
Шашки — настольная игра для двух игроков, заключающаяся в передвижении определённым образом фишек-шашек по клеткам шашечной доски. Во время партии каждому игроку принадлежат шашки одного цвета: чёрного или белого (иногда других цветов, один из которых, считается тёмным, а другой — светлым). Цель игры — взять все шашки соперника или лишить их возможности хода (запереть). Существует несколько вариантов шашек, отличающихся правилами и размерами игрового поля.
Цель программы
В настоящем проекте представлено приложение, позволяющее пользователям играть в шашки. Приложение работает в соответствие со стандартными правилами игры в русские шашки. Оно имеет интуитивно понятный пользовательский интерфейс для простого общения между пользователем и приложением. Ниже приводятся параметры приложения.
Объем ресурсов: 2.03 Мб
Общий объем: 2137 Кб
Количество переменных: 20
Количество строк: 846
Язык:C#
Приложение:Windowsforms
Количество файлов кода: 1
Количество файлов ресурсов: 4
Объекты интерфейса: панель меню с кнопками (новая игра, выход, сдаться), черно-белое игровое поле, шашки обоих игроков, нижняя панель с информацией (таймер, чей ход, количество ходов каждого игрока)
Функции:
1. Form1_Load: загрузка поля, расстановка шашек на поле
2. pic_Click: основная функция, отвечает за логику ходов шашками
3. Form1_Resize: отвечает за масштабирование поля и шашек под размер окна
4. выходToolStripMenuItem_Click: выход из приложения
5. новаяИграToolStripMenuItem_Click: обновляет игровое поле, расставляет шашки, обновляет счётчики
6. timer1_Tick: отвечает за таймер, считающий время игры
7. сдатьсяToolStripMenuItem_Click: позволяет игроку завершить игру раньше уничтожения его шашек
Действия, реализованные в программе: ход шашек по основным правилам игры в шашки, превращение шашек в дамки, подсветка возможных ходов шашкой.
Название приложения:WindowsFormsAplication3
Не реализованные идеи: наименование клеток игрового поля, обязательный ход шашкой, которая может рубить.
Основная часть
В мире существует большое число приложений, реализующих игру в шашки. Они так популярны, потому что их может создать даже не профессиональный программист и каждый может привнести в них свои задумки. Программист может использовать какие угодно виды игрового поля и шашек.
В компьютерных версиях шашек присутствуют все стандартные элементы такие как: игровое поле, шашки двух цветов, дамки двух цветов. Компьютерные шашки рассчитаны на двух игроков, которые могут играть с одного персонального компьютера или с разных компьютеров, связанных по сети или по интернету.
Разрабатывая шашки, автор придерживался основных правил игры, которые действуют во всех вариантах шашек:
Все шашки, участвующие в партии, выставляются перед началом игры на доску. Далее они передвигаются по полям доски и могут быть сняты с неё в случае боя шашкой противника.
Брать шашку, находящуюся под боем, обязательно.
Существует только два вида шашек: простые и дамки. В начале партии все шашки простые. Простая шашка может превратиться в дамку, если она достигнет последнего противоположного горизонтального ряда доски (дамочного поля).
Простые шашки ходят только вперёд на следующее поле. Дамки могут ходить вперёд и назад.
Как дополнительные правила взяты правила из русских шашек. Русские шашки — традиционный и наиболее популярный вид шашек в России, странах бывшего СССР и в Израиле. Каждому игроку принадлежит 12 простых шашек, занимающие в начальной позиции чёрные поля первых трёх горизонталей, ближайших к игроку. Первый ход делают белые.
Основные особенности программы:
Шашки ходят только по клеткам тёмного цвета.
Доска расположена так, чтобы угловое поле внизу слева со стороны игрока было тёмным.
Простая шашка бьёт вперёд и назад, дамка ходит и бьёт на любое поле диагонали.
Во время боя простая шашка может превратиться в дамку и сразу продолжить бой по правилам дамки.
При наличии нескольких вариантов боя можно выбрать любой из них.
В реализованном игровом приложении интерфейс состоит из набора кнопок, игрового поля и информационной строки. Из кнопок в приложении присутствуют «Новая игра» отвечающая за обновление игрового поля и расстановка шашек в начальное положение. «Сдаться» отвечающая за конец игры, в случае если один из игроков не хочет продолжать партию. «Выход» отвечающая за выключение приложения. Игровое поле представляет собой восемь на восемь черно белых клеток, на которых расположено по двенадцать шашек каждого игрока. На информационной панели представлена информация о времени игры, очередность хода, количество сделанных ходов каждым игроком.
Программа реализована на небольшом количестве функций отвечающих за определённую часть приложения.
1. Функция выполняется при запуске приложения: загрузка поля, расстановка шашек на поле
2. Функция, срабатывающая при нажатии на шашку: основная функция, отвечает за логику ходов шашками
3. Функция, работающая во время изменения размера окна приложения: отвечает за масштабирование поля и шашек под размер окна
4. Функция, срабатывающая при нажатии на кнопку «выход» в меню: выход из приложения
5. Функция выполняется при нажатии на кнопку «новая игра» на панели меню: обновляет игровое поле, расставляет шашки, обновляет счётчики
6. Функция, срабатывающая каждую секунду: отвечает за таймер, считающий время игры
7. Функция при нажатии на клавишу «сдаться»: позволяет игроку завершить игру раньше уничтожения его шашек
Не реализованные пока в данном приложении идеи: наименование клеток игрового поля, обязательный ход шашкой, которая может рубить. Реализовав данные идеи можно добиться более естественного внешнего вида игры.
Заключение
Развивать навыки объектно-ориентированного проектирование и программирование можно ещё много лет в ширину и глубину. Большинство людей начинают осваивать объектно-ориентированное программирование с мыслью, что это набор абсолютных правил и предопределённых шаблонов. Однако, это просто подход, охватывающий множество разных средств и приёмов. В данном подходе нет определённого, единственно правильного пути решения задачи. Но зато есть эталонные методики работы и всегда можно выбрать те, которые подходят именно в этом случае. Надо иногда возвращаться к уже имеющимся концепциям во второй, и даже третий раз. При этом можно увидеть некоторые идеи в другом свете. Создавая шашки, удалось узнать много нового в объектно-ориентированном стиле программирования, что пригодится в последующем развитии данного навыка, а также может потребоваться при создании реальных проектов. Например, используя принципы, которые узнал во время создание шашек, удалось быстро сориентироваться в создании приложения требующегося по учебному плану.