Смекни!
smekni.com

РАЗРАБОТКА ИГРЫ МОРСКОЙ БОЙ С AI (стр. 3 из 5)

8. Требования к составу технических средств при эксплуатации.

Устройство с поддержкой необходимой версии Android и удовлетворяющее описанным характеристикам. Требование невозможно проверить, так как оно не отражается в диаграммах.

Итог: При инспектировании работы были проверены требования в соответствии с техническим заданием. Проверить удалось не все требования, так как не все требования описывались в диаграммах. Те требования, что описывались в диаграммах, были выполнены качественно. Диаграммы полностью отображали работу системы на программном уровне.

4.3 Тестирование

При тестировании белым ящиком данные для теста выбирались с расчётом на рабочие функции программы.

При тестировании чёрным ящиком данные для входных параметров функций генерировались случайно и основываясь на правилах игры. Учитывая, что все функции, отвечающие за игру противника, основаны на генераторе псевдослучайных чисел, необходимо было проводить достаточное количество тестов.

5 ПРОГРАММНАЯ ДОКУМЕНТАЦИЯ

5.1 Инструкция по установке

Приложение поставляется в виде apkфайла. Рекомендуемые системные требования: Android 2.2. Размер экрана не имеет значения т.к. приложение автоматически подстраивается под нужное разрешение. Для установки необходимо разрешить установку пакетов из сторонних источников.

5.2 Инструкция пользователя

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

При начале новой игры возможен выбор между ручной и автоматической расстановкой кораблей (в данной версии возможно только автоматическая расстановка). Для атаки игрок должен нажать на выбранную клетку. Цвет клетки сообщает игроку о результате атаки. Зелёный - неоткрытая клетка, жёлтый - промах, красный-попадание.

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


ЗАКЛЮЧЕНИЕ

На данный момент времени разработаны следующие компоненты программы:

· главное меню и финальный экран (описаны в xml-файле, следовательно, возможно их свободное редактирование в ходе дальнейшей разработки);

· классы отображения игровых полей и ситуации на поле (все игровые элементы представляют собой графические примитивы, обеспечивающие оптимизированное использование ресурсов устройства);

· классы, обеспечивающие игровые функции (выбор клетки, определение типа клетки, определение результата атаки);

· классы, обеспечивающие запуск и смену Activity, получения контекста устройства, установка связей между видами.


СПИСОК ИСТОЧНИКОВ ИНФОРМАЦИИ

1. Голощапов А.Л. Google Android. Программирование для мобильных устройств (Профессиональное программирование), 2011.

2. Android Developers, официальный сайт:

http://developer.android.com/sdk/index.html


ПРИЛОЖЕНИЕ A ТЕХНИЧЕСКОЕ ЗАДАНИЕ

1НАЗНАЧЕНИЕ РАЗРАБОТКИ

Приложение разрабатывается для дальнейшей продажи при помощи Android Market.

2 ЦЕЛЬ И ЗАДАЧИ

Целью разработки является получение прибыли с продаж продукта.

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

Создание документации к проекту (пункты Определение требований, Проектирование и Техническое задание) необходимо закончить к 20 мая 2011 года.

Разработку программного кода необходимо закончить к концу июля 2011года.

3 ТРЕБОВАНИЯ К РАЗРАБОТКЕ

3.1Требованияк функциональным характеристикам

Функции:

1. Меню приложения.

Часть меню описывается в xml-файле, создание системных сообщений обеспечивается в коде программы. В меню используются стандартные объекты(кнопки, поля ввода).

2. Игра.

Выполняет вызов функции создания игрового поля. Обеспечивает возможность выбора клеток для атаки. Отображает результат хода.

Расстановка кораблей основывается на исходном выборе набора кораблей до начала игры.

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

3. Расстановка кораблей.

Корабли расставляются на поле случайным образом.

Ограничения: минимальное расстояние между кораблями – 1 клетка. Части кораблей не должны выходить за пределы игрового поля.

4. Определение набора кораблей.

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

Каждый корабль имеет свою цену. Цена определяется длиной корабля.

4-х трубный – цена 5

3х трубный – цена 4

2-х трубный – цена 2

1-х трубный – цена 3

Всего дано 35 очков.

Дальнейшее количество определяется победами и поражениями. Победа прибавляет одно очко, поражение – вычитает. Верхний и нижний пределы: +-50. Готовая конфигурация сохраняется в файл.

5. Просмотр статистики и регистрация.

Осуществляют запись и выборку данных.При регистрации создаётся отдельная запись с пустой статистикой. Имя аккаунта необходимо для записи в таблицу рекордов. Статистика выводится в виде таблицы: имя – очки.

3.2 Описание входных и выходных данных

Таблица 1 – Описания входных и выходных данных.

Вся система принимает данные от пользователя, и выводит данные при помощи экрана и динамиков.


3.3 Модель работы продукта разработки

Рисунок 2. Диаграмма IDEF0


Рисунок 3. Диаграмма IDEF0


3.4 Требования к надежности

Возможность сворачивания и разворачивание приложения обеспечивается методом onResumeи onPause. События ОС обрабатываются при постановке приложения на паузу.

3.5 Эргономические и техникоэстетические требования

Рисунок 4. UseCaseдиаграмма

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

Дизайн меню и элементов управления должен соответствовать дизайну ОС.

Использовать объекты (виджеты), представленные в AndroidSDK. Не перегружать пользовательский интерфейс излишними элементами.

Основное меню должно быть выдержано в тёмных тонах с фоновым изображением на морскую тематику.

Игровое поле должно целиком помещаться на экране в вертикальном режиме отображения.

3.6 Требования к защите информации

Готовое приложение упаковано в apkфайл.

Защита от реверс-инжинеринга обеспечивается встроенной в среду разработки программой ProGuard.

3.7 Другие требования к разработке

Реализовать алгоритм выбора клетки для атаки на основе уже выбранных клеток.

3.8 Требования к аппаратно-программному комплексу.

Разработка ориентирована на Android 2.2API Level: 9.Работа возможна на устройствах с различным типом экрана. Поддержка мультитача не требуется.

3.9 Требования к технологиям разработки

Разработка ведётся с использованием среды разработки Eclipse 3.6 (Helios) с установленным ADKплагином, JDK и AndroidSDK.

3.10 Требования к составу технических средств при эксплуатации.

Устройство с поддержкой необходимой версии Androidи удовлетворяющее описанным характеристикам.

4 МЕТОДЫ ТЕСТИРОВАНИЯ СООТВЕТСТВИЯ РАЗРАБОТКИ ПРЕДЪЯВЛЕННЫМ ТРЕБОВАНИЯМ

Контроль качества продукта должен быть проведён на завершающей стадии разработки, когда будет реализованы все заявленные функции. Тестирование будет проводиться путём многократного использования приложения.


ПРИЛОЖЕНИЕ Б ПРОГРАММНЫЙ КОД

Battle.java

package ru.ship.game;

import java.util.Random;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.util.Log;

public class Battle extends Activity {

private static final String TAG = "BattleShip";

public static final int HERE_SHIP_1=1;//здесь есть 1 корабль