Смекни!
smekni.com

Логическая игра Морской бой (стр. 2 из 7)

«Логическая игра «Морской бой»» содержит несколько окон: основное окно, которое содержит игровые поля и корабли, главное меню, также место для отображения результатов игры. Меню содержит все основные функции программы, ссылка на функцию начала боя, а также его возобновления вынесена в окно основной формы. Игровое поле состоит из 100 клеток 10x10, на котором необходимо для начала боя разместить 10 кораблей в соответствии с правилами игры, т.е. так, чтобы корабли не соприкасались, хотя система не позволит этого сделать как бы этого не хотел игрок. При изменении режима боя меняется и интерфейс программы. При возникновении накладок от старых кораблей необходимо обратиться к функции новой игры, которая находится в главном меню. Непосредственно во время боя управление осуществляется кликом мыши по выбранной клетке поля, что подтверждается графически.

Также в программе присутствует окно с данными о программе и ее создателе. Результаты игр просматриваются в самой программе посредством вызова специального окна в оригинальном стиле.

1.1.4 Главная форма игры

Форма игрового поля появляется при запуске приложения. Исходная форма является основной, на которой выполняется режим боя.

Начальный вид окна изображен на рисунке 2.

Рис. 2. Главное окно приложения «Морской бой», режим игры с компьютером

Обратившись к главному меню (Файл или Помощь), происходит управление программой. Меню игры должно обеспечивать выбор варианта игры (против компьютера, или игра между двумя игроками), выход, новая игра, просмотр результатов, переход в режим боя. Корабли в виде желтых клеток необходимо установить в нужное положение. В поле ввода текстовой информации возможен ввод имени игрока. Мерцание надписи «FIGHT» говорит о том, что необходимо расставить корабли и начать бой.

Рис. 3. Главное окно приложения «Морской бой», режим игры с человеком

Форма в режиме игры с человеком изображена на рисунке 3. В данном случае есть возможность изменять имя обоих игроков, также появляется изображение кораблей второго игрока. При нажатии надписи «ГОТОВ» игрок подтверждает свою готовность.

1.1.5 Форма данных о программе

Содержит данные о создателе, версию и название программы.

Форма имеет вид, изображенный на рисунке 4.

Рис. 4. Данные о программе

1.1.6 Форма результатов игр

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

Форма имеет вид, изображенный на рисунке 5.

Рис. 5. Результаты игр

Форма находится всегда поверх основной формы, поэтому обращение к главному окну невозможно при активном окне результатов.

1.2 Диаграмма вариантов использования

1.3 Диаграмма классов

1.4 Диаграмма состояния

1.5 Диаграмма последовательности

1.6 Диаграмма компонентов

2. Руководство пользователя

Для запуска необходимо открыть файл программы с расширением .exe. При запуске программы появится окно с двумя игровыми полями, первоначальный режим игры - “Игра против компьютера”. Для того, чтобы переключиться на режим “Игра против человека”, необходимо зайти в главное меню программы и выбрать соответствующий пункт. В том же меню находятся все основные функции игры:

a. Новая игра – функция необходима для аннулирования текущей игры и начало новой. Функция реализует начальную установку кораблей в том же режиме, в котором проходила игра. Этот пункт меню будет активен в любой момент времени.

b. Выбор противника – человек или компьютер. Пункт недоступен в режиме боя.

c. Начать бой – функция сработает, если корабли расставлены правильно. При вызове данной функции происходит переход в режим боя, положение кораблей сохраняется в памяти. Если выбран режим боя с компьютером, то система автоматически в произвольном порядке расставляет корабли. Об этой функции будет сказано дальше.

d. Результаты – происходит загрузка результатов прошлых игр из файла и игроку показываются результаты в специальном окне (рис. 5). Пункт доступен в любой момент времени.

e. Выход – функция завершения работы приложения.

f. Помощь – предоставляются данные о программе и о создателе приложения.

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

Также на форме приложения сразу можно заметить поля для ввода имен игроков, в режиме игры с компьютером можно изменять только первое поле ввода, при игре с человеком изменяются оба поля. В той же области окна находятся поля, предназначенные для ведения статистики боя, они будут изменяться в течение боя. Заметим, что изменение имен станет невозможным при переключении в режим боя. Мерцающая надпись указывает на то, игра находится в режиме расстановки кораблей, сама надпись является ссылкой на пункт меню – начать бой. Если игра находится в режиме игры с человеком, то метка начнет мерцать только после готовности обоих игроков начать бой. Для подтверждения готовности необходимо кликнуть на соответствующую надпись. Но для начала нужно будет расставить корабли, сначала расставляет первый игрок (второй должен будет отвернуться), затем он нажимает на «Готово» и аналогичным образом второй игрок проводит те же операции. Только после этого можно будет начать бой, на что укажет мерцающий текст. При игре с компьютером все намного проще, нужно просто расставить корабли и можно приступить к бою.

Важной частью программы является расстановка кораблей. Для ее реализации нужно просто зажать левую кнопку мыши на корабле и перетащить в задуманное положение. Для поворота корабля на 90 градусов нужно нажать на нем правой кнопкой мыши. При наведении курсора на каждый объект возможность его перетаскивания показывается графически в виде специального курсора. Если корабли будут соприкасаться между собой, то начать бой будет невозможным, система вам не позволит этого сделать, поэтому расставляйте корабли правильно. Также хотелось бы отметить, что расставлять корабли необходимо внимательно и с умом, так как от этого зависит весь ход боя. Компьютер расставляет корабли автоматически, если вы кликнули пункт начать бой или «FIGHT» на самом окне, что намного удобнее.

Изначальный вид окон вы можете посмотреть на рисунках 2 и 3. Окна результатов и данных о программе показаны на рисунках 4 и 5. Все функции приложения до начала боя изображены на следующем рисунке (рис.6).

Рис. 6. Функции приложения до начала боя

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

Рис. 7. Режим боя

Цель игры – убить все корабли противника быстрее, чем это сделает сам противник. Также есть возможность соревноваться с результатами прошлых игроков, их можно увидеть, по-прежнему кликнув на пункт результаты в меню программы.

Поэтому главный результат будет отмечен увеличением очков в пункте «победы» и звуковым сопровождением. Корабли выигравшего соперника будут вновь показаны, чтобы можно было оценить их расстановку, смотрите рисунок 8. Ваш результат будет сохранен в файле, если вы сможете победить противника за меньшее количество выстрелов, чем прошлые игроки. В файле содержится десятка лучших результатов.