РАЗРАБОТКА ИГРЫ «МОРСКОЙ БОЙ» С AI

Автор работы: Пользователь скрыл имя, 05 Октября 2011 в 17:17, курсовая работа

Описание работы

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

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

Содержание работы

ВВЕДЕНИЕ 4

1 ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ 4

1.1 Описание бизнес процесса 4

1.2 Сравнение аналогов 5

1.3 Моделирование требований 6

1.4 Выбор модели жизненного цикла 7

2 ПРОЕКТИРОВАНИЕ 9

2.1 Выбор модели системы 9

2.2 Проектирование структуры системы 9

2.3 Проектирование логики работы 10

2.4 Проектирование интерфейса 13

3 РАЗРАБОТКА ПРОГРАММНОГО КОДА 15

4 ВЕРИФИКАЦИЯ И АТТЕСТАЦИЯ 16

4.1 Выбор методов верификации и аттестации 16

4.2 Инспектирование 16

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

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

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

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

ЗАКЛЮЧЕНИЕ 19

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Файлы: 1 файл

ОФОрмление ТРПП максим 19,06.docx

— 619.24 Кб (Скачать файл)

           privatefinal Rect ship4Rect = new Rect();

           privatefinal Rect ship3Rect = new Rect();

           privatefinal Rect ship2Rect = new Rect();

           privatefinal Rect ship1Rect = new Rect();

           privateintattack_coord[]=newint[3];

           publicintattack_result=5;

                 public ViewBattle(Context context) {

                 super(context);

                 setFocusable(true);

                 this.oppRound = (OppRound) context;

                 setId(43);//устанавливаемномервьюва

                 }

           publicvoid onDraw(Canvas canvas) {

                 Paint background=newPaint();

                 background.setColor(getResources().getColor(R.color.backBattle));//рисуемизакрашиваемзадник

     canvas.drawRect(0, 0, getWidth(), getHeight(), background);//рисуемсетку

     Paint grid = newPaint();

     grid.setColor(getResources().getColor(R.color.grid_color));

     for (int i = 0; i < 10; i++) {

     canvas.drawLine(0, i * height, getWidth(), i * height,grid);//горизонатльные

     canvas.drawLine(i * width, 0, i * width, getHeight(),grid); }//вертикальные

                  //выделяемвыбраннуюклетку

     Paint selected=newPaint();

     selected.setColor(getResources().getColor(R.color.grid_color));

     canvas.drawRect(selRect, selected);

      Paint attacked=newPaint();

     attacked.setColor(getResources().getColor(R.color.attacked));//краскадляатакованногокорабля

      Paint empty=newPaint();

                 empty.setColor(getResources().getColor(R.color.no_choose));//краскадляклеткиатакованнойнопустой

                   Paint ship_4=newPaint();

                   ship_4.setColor(getResources().getColor(R.color.ship_4));

                   Paint ship_3=newPaint();

                   ship_3.setColor(getResources().getColor(R.color.ship_3));

                   Paint ship_2=newPaint();

                   ship_2.setColor(getResources().getColor(R.color.ship_2));

                   Paint ship_1=newPaint();

                   ship_1.setColor(getResources().getColor(R.color.ship_1));

     for(int i=0;i<11;i++) {

     for(int j=0;j<11;j++){

     if(Battle.field_gamer[i][j]==Battle.BOMB_HERE) {//еслинашлинаместеатаки 4 корабль

     attackedRect.set(i*width, j*height,i*width+50,j*height+50);

     canvas.drawRect(attackedRect,  empty);}

if(Battle.field_gamer[i][j]==Battle.SHIP_ON_FIRE) {//еслинашлинаместеатакикорабль

     attackedRect.set(i*width, j*height,i*width+50,j*height+50);

     canvas.drawRect(attackedRect,  attacked);}

if(Battle.field_gamer[i][j]==Battle.HERE_SHIP_4) {//еслинашлинаместеатаки 4 корабль

     ship4Rect.set(i*width, j*height,i*width+50,j*height+50);

     canvas.drawRect(ship4Rect,  ship_4);}

if(Battle.field_gamer[i][j]==Battle.HERE_SHIP_3) {//еслинашлинаместеатаки 4 корабль

     ship3Rect.set(i*width, j*height,i*width+50,j*height+50);

     canvas.drawRect(ship3Rect,  ship_3);}

if(Battle.field_gamer[i][j]==Battle.HERE_SHIP_2) {//еслинашлинаместеатаки 4 корабль

     ship2Rect.set(i*width, j*height,i*width+50,j*height+50);

     canvas.drawRect(ship2Rect,  ship_2); }

if(Battle.field_gamer[i][j]==Battle.HERE_SHIP_1) {//еслинашлинаместеатаки 4 корабль

     ship1Rect.set(i*width, j*height,i*width+50,j*height+50);

     canvas.drawRect(ship1Rect,  ship_1);   }}}}

     publicboolean onTouchEvent(MotionEvent event) {

if (event.getAction() != MotionEvent.ACTION_DOWN)

     returnsuper.onTouchEvent(event);

attack_coord=Battle.autoAttack(Battle.field_gamer);

select(attack_coord[0], attack_coord[1]);

if(attack_coord[2]==0) {//если промахнулся то завершаем активити

     Toast.makeText( getContext(), "Промах", Toast.LENGTH_SHORT).show();

                 oppRound.setResult(RESULT_OK);

                 oppRound.finish();}  

                 else {

Toast.makeText( getContext(), "Прямоепопадание!", Toast.LENGTH_SHORT).show(); }

           invalidate();

                 returntrue; } 

     @Override

protectedvoid onSizeChanged(int w,int h,int oldw,int oldh) {

           width = w /10;

           height = h /10;

           getRect(selX, selY, selRect);

           getRect(selX,selY,ship1Rect);

           getRect(selX,selY,ship3Rect);

           getRect(selX,selY,attackedRect);

           getRect(selX,selY,ship2Rect);

           getRect(selX,selY,ship4Rect);

           super.onSizeChanged(w, h, oldw, oldh);}

           privatevoid getRect(int x, int y, Rect rect) {

           rect.set((int) (x * width), (int) (y * height), (int) (x

         * width + width), (int) (y * height + height)); }

         privatevoid select(int x, int y) {

           invalidate(selRect);

           selX = Math.min(Math.max(x, 0), 9);

           selY = Math.min(Math.max(y, 0), 9);

           if(Battle.field_gamer[selX][selY]>0 && Battle.field_gamer[selX][selY]<5) { getRect(selX, selY, attackedRect); invalidate(attackedRect);}

           getRect(selX, selY, selRect);

           invalidate(selRect);

           } 

     }

 

     

Информация о работе РАЗРАБОТКА ИГРЫ «МОРСКОЙ БОЙ» С AI