Тестирование разработанного программного продукта 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тестирование разработанного программного продукта



Соответствие поставленной задаче.

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

  Аппаратные требования.

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

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

В частности, полноценная и вполне комфортная работа возможна даже на компьютерах Intel Pentium-3 с частотой 400 МГц и объёмом установленной оперативной памяти 512 МБ.

Рекомендуемое разрешение экрана при работе с данным приложением составляет 800х600 пикселей и более, при глубине цвета от 16 бит и выше.

Работа возможна и при более низких разрешениях (640х480) и глубине цвета (8 бит), однако комфортность работы при этом резко падает.

Совместимость.

В тестах на совместимость с различными операционными системами разработанное программное приложение показало стабильную, устойчивую работу во всех операционных системах, начиная с версии Windows XP и заканчивая Windows-8.

На более ранних версиях операционных систем – тестирование не проводилось.

Простота использования, Эргономичность.

Как показало проведённое тестирование разработанное приложение удобно в использовании, интерфейс прозрачен и интуитивно понятен.

Выявленные недостатки

Единственным недостатком, выявленным в процессе тестирования является несовместимость системы помощи «Help» с операционными системами «Windows 7» и «Windows 8». Это обусловлено тем, что подпроект системы помощи был собран в старой версии инструментальной среды «Delphi».

 


ЗАКЛЮЧЕНИЕ

Целью данного курсового проекта являлось проектирование и разработка игрового программного приложения (Развивающая игра «Морской бой»), предназначенного для стимуляции и развития у детей дошкольного и младшего школьного возраста таких навыков, как: логика мышления, воображение; планирование собственных действий.

В ходе проделанной работы:

Ø рассмотрены виды и классификация компьютерных игр и особенности их интерфейсов;

Ø изучены возможности инструментальной среды «Delphi» при проектировании и разработке игровых программных приложений;

Ø разработаны алгоритмы, реализующие логику поведения компьютерного интеллекта, отвечающего за действия виртуального игрока;

Ø спроектировано и реализовано развивающее игровое программное приложение (Развивающая игра «Морской бой»), обладающее развитым мультимедийным интерфейсом и встроенной логикой;

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

Проектирование и разработка были выполнены в инструментальной среде «Delphi 2006 Explorer».Данный выбор был детально обоснован.

Проведённое финальное тестирование показало, что разработанное приложение:

v полностью соответствует поставленной цели;

v отвечает всем необходимым требованиям;

v реализует все заявленные функции;

v совместимо с большинством операционных систем линейки «Windows»;

v нетребовательно к аппаратным ресурсам компьютера (работа возможна даже на компьютерах модели Pentium-3 с частотой 400 МГц.);

v обладает простым, наглядным, интуитивно-понятным интерфейсом;

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

Дополнительно можно отметить, что разработанное приложение:

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

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

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

В ходе работы все задачи решены, поставленная цель достигнута.

 


СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

Международные стандарты

  1. MIL-STD-498. Разработка и документирование программного обеспечения.
  2. ISO 9126:1991. Информационная технология. Оценка программного продукта. Характеристики качества и руководство по их применению.
  3. ANSI/IEEE 829-1983. Документация при тестировании программ.
  4. ANSI/IEEE 1008-1986. Тестирование программных модулей и компонентов ПС.

Стандарты РФ в соответствии со стандартами ISO

  1. ГОСТ Р ИСО/МЭК 9294-93. Информационная технология. Руководство по управлению документированием программного обеспечения.
  2. ГОСТ Р ИСО/МЭК 9127-94. Системы обработки информации. Документация пользователя и информация на упаковке для потребительских программных пакетов.
  3. ГОСТ Р ИСО/МЭК 12119:1994. Информационная технология. Пакеты программных средств. Требования к качеству и испытаниям.

Стандарты «Единой Системы Программной Документации»:

  1. ГОСТ 19.001-77 ЕСПД. Общие положения.
  2. ГОСТ 19.103-77 ЕСПД. Обозначение программ и программных документов.
  3. ГОСТ 19.105-78 ЕСПД. Общие требования к программным документам.
  4. ГОСТ 19.201-78 ЕСПД. Техническое задание. Требования к содержанию и оформлению.
  5. ГОСТ 19.504-79 ЕСПД. Руководство программиста. Требования к содержанию и оформлению.
  6. ГОСТ 19.505-79 ЕСПД. Руководство оператора. Требования к содержанию и оформлению.

По разработке информационных систем и программированию

  1. Благодатских В.А., Волнин В.А., Поскакалов К.Ф. Стандартизация разработки программных средств. – М.: Финансы и статистика, 2003 г.
  2. Бобровский С. Программирование в Delphi 7. – СПб.: Информ-Пресс, 2011 г. – 806 c.
  3. Вигерс К. Разработка требований к программному обеспечению. Пер. с англ. - М.: Издательско-торговый дом "Русская Редакция", 2011 г. –576 с.
  4. Котляров В. П., Коликова Т. В. Основы тестирования программного обеспечения. – М.: Бином. Лаборатория знаний, 2011 г. –288 с.
  5. Липаев В.В. Надежность программных средств. – М.: СИНТЕГ, 1998 г.
  6. Липаев В.В. Документирование и управление конфигурацией программных средств – М.: СИНТЕГ, 1998 г.
  7. Липаев В.В. Системное проектирование сложных программных систем. – М.: СИНТЕГ, 1998 г.
  8. Орлов С.А. Технологии разработки программного обеспечения: Разработка сложных программных систем: Учебное пособие для студентов вузов, обуч. по напр. подготовки бакалавров и магистров «Информатика и выч. техника». – СПб.: Питер, 2002 г.
  9. Пальчун Б.П., Юсупов Р.М. Оценка надежности программного обеспечения. – СПб.:Наука, 1994 г.
  10. Шикин А. В., Боресков А. В. Компьютерная графика. Динамика, реалистические изображения. – M.: ДИАЛОГ-МИФИ, 1998 г. – 288 с.

ПРИЛОЖЕНИЯ

Приложение 1.  Руководство пользователя

Запуск приложения.

Приложение полностью готово к использованию и не требует никаких предварительных настроек. Для запуска программы достаточно запустить исполняемый файл: «Project1.exe»

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

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

Расстановка кораблей осуществляется нажатием левой кнопки «Мыши» и сопровождается характерным звуковым сигналом.

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

После того, как все корабли игрока расставлены приложение автоматически переходит в состояние «Игра»

Игра.

При входе в режим «Игра», подсказка в правом поле (поле виртуального противника) исчезает, а само поле превращается в координатную сетку поля боя.

Нанесение ударов осуществляется пользователем нажатиями левой кнопки «мыши» в пределах квадратов координатной сетки поля виртуального противника.

Каждый выстрел сопровождается соответствующим звуковым фрагментом.

В случае промаха соответствующая клетка поля боя помечается точкой.

В случае попадания – в клетке отображается часть пораженного корабля виртуального противника.

Завершение игры.

Игра завершается в четырёх случаях:

1. Пользователь выиграл. В этом случае выдаётся соответствующее сообщение и проигрывается победная музыка.

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

3. Пользователь может прервать игру и переиграть её заново нажав пункт меню «Новая игра».

4. Пользователь может просто закрыть приложение нажав стандартную кнопку закрытия окна.

 

Приложение 2. Исходный код главного модуля программы «Project1.dpr»

program Project1;

Uses

Forms,

Unit1 in 'Unit1.pas' {Form1},

Unit2 in 'Unit2.pas' {Form2};

{$R *.res}         // Основные Ресурсы

{$R Dop_resources.RES} // Дополнительные Ресурсы (Звуки)

Begin

Application.Initialize;

//Application.HelpFile:= 'F:\Информатика\Курсовая\Delphi\работа\исодник программы\morb.HLP';

Application.HelpFile:= 'morb.HLP';

Application.Title:= 'Морской бой';

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm2, Form2);

Application.Run;

End.

    

 

Приложение 3. Исходный код модуля первой формы «Unit1.pas»

 

unit Unit1;

Interface

Uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls, Menus, XPMan, Mmsystem;

Type

TForm1 = class(TForm)

Panel1: TPanel;

Image1: TImage;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label25: TLabel;

Panel2: TPanel;

Image2: TImage;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

Label26: TLabel;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N6: TMenuItem;

N5: TMenuItem;

Label12: TLabel;

Label24: TLabel;

Label27: TLabel;

Label28: TLabel;

Label29: TLabel;

procedure FormCreate(Sender: TObject);

procedure rastkor(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure nash(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure N2Click(Sender: TObject);

procedure vistrel(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure N3Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

Var

Form1: TForm1;

i, j, g, x 1, y 1, k 11, k 21,

k 33, k 32, k 31, m 3, m 2, m 1,      //кол-во 3х 2х 1х кораблей

m, n, z: integer;

rot,              //ротация кораблей

riad, rnd,         //для того что бы рядом не ставились,нужна для рандомирования

win, lose,         //проверка на победу или поражение

bum,              //проверка выстрела компьютера

kon,              //проверка конца игры

cokil: boolean;     //попал ли комрьютер

b1,b2:Array[1..14,1..14] of integer;

Implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

Begin

PlaySound('START_WAV', HInstance, SND_RESOURCE or SND_ASYNC or SND_NOWAIT);

rot:= false; //заполнение переменных

kon:= false;

k11:=3;

k33:=2;

k32:=5;

k31:=9;

m3:=0;

m2:=0;

m1:=0;

label13.Height:=0;

label14.Height:=0;

label15.Height:=0;

label16.Height:=0;

label17.Height:=0;

label18.Height:=0;

label19.Height:=0;

label20.Height:=0;

label21.Height:=0;

label22.Height:=0;

label23.Height:=0;

label26.Height:=0;

label12.Caption:='Расставьте корабли';

For i:=1 to 10 do //рисует сетку поля игрока

for j:=1 to 10 do

begin

b1[i,j]:=0;

image1.Canvas.Rectangle(20*i-20,20*j-20,20*i,20*j);

end;

randomize;

 m:=random(10)+1;

 n:=random(10)+1;

 z:=(random (100) mod 2);

//расстановка клораблей компьютера

//четырехпалубный

Case n of

1..7:

case m of

1..7: for i:=0 to 3 do

         if z=0 then

           b2[m+i,n]:=2

         else

           b2[m,n+i]:=2;

8..10: for i:=0 to 3 do

         if z=0 then

           b2[m-i,n]:=2

         else

           b2[m,n+i]:=2;

end;

8..10:

case m of

1..7: for i:=0 to 3 do

         if z=0 then

           b2[m+i,n]:=2

         else

           b2[m,n-i]:=2;

8..10: for i:=0 to 3 do

         if z=0 then

           b2[m-i,n]:=2

         else

           b2[m,n-i]:=2;

end;

end;

           //трехпалубные

while m3<2 do begin

m:=random(10)+1;

n:=random(10)+1;

z:=(random(100) mod 2);

Case n of

1..7:

case m of

1..7: case z of

            0: if (b2[m,n]<>2) and

                      (b2[m-1,n-1]<>2) and

                      (b2[m-1,n]<>2) and

                      (b2[m-1,n+1]<>2) and

                      (b2[m,n-1]<>2)and

                      (b2[m+1,n+1]<>2)and

                      (b2[m+1,n]<>2) and

                      (b2[m+1,n-1]<>2) and

                      (b2[m,n+1]<>2) and

                      (b2[m+1,n+2]<>2) and

                     (b2[m-1,n+2]<>2) and

                      (b2[m,n+2]<>2) and

                      (b2[m+1,n+3]<>2) and

                      (b2[m-1,n+3]<>2) and

                      (b2[m,n+3]<>2) and

                      (b2[m,n+3]<>2) then

                         begin

                     for i:=0 to 2 do

                     b2[m,n+i]:=2;

                       m3:=m3+1

                         end;

              1: if (b2[m,n]<>2) and

                      (b2[m+1,n+1]<>2) and

                      (b2[m,n+1]<>2) and

                      (b2[m-1,n+1]<>2) and

                      (b2[m-1,n]<>2)and

                      (b2[m-1,n-1]<>2)and

                      (b2[m,n-1]<>2) and

                      (b2[m+1,n-1]<>2) and

                      (b2[m+1,n]<>2) and

                      (b2[m+2,n-1]<>2) and

                      (b2[m+2,n+1]<>2) and

                      (b2[m+2,n]<>2) and

                      (b2[m+3,n-1]<>2) and

                      (b2[m+3,n+1]<>2) and

                      (b2[m+3,n]<>2) and

                      (b2[m+3,n]<>2) then begin

                     for i:=0 to 2 do

                         b2[m+i,n]:=2;

                        m3:=m3+1

                                             end

       end;

8..10: case z of

            0: if (b2[m,n]<>2) and

                      (b2[m+1,n+1]<>2) and

                      (b2[m,n+1]<>2) and

                      (b2[m-1,n+1]<>2) and

                      (b2[m-1,n]<>2)and

                      (b2[m-1,n-1]<>2)and

                      (b2[m,n-1]<>2) and

                      (b2[m+1,n-1]<>2) and

                      (b2[m-2,n-1]<>2) and

                      (b2[m-2,n+1]<>2) and

                      (b2[m-2,n]<>2) and

                      (b2[m-3,n-1]<>2) and

                      (b2[m-3,n+1]<>2) and

                      (b2[m-3,n]<>2) then

                  begin

                     for i:=0 to 2 do

                        b2[m-i,n]:=2;

                          m3:=m3+1

                 end;

              1: if (b2[m,n]<>2) and

                      (b2[m-1,n-1]<>2) and

                      (b2[m-1,n]<>2) and

                      (b2[m-1,n+1]<>2) and

                      (b2[m,n-1]<>2)and

                      (b2[m+1,n+1]<>2)and

                      (b2[m+1,n]<>2) and

                      (b2[m+1,n-1]<>2) and

                      (b2[m,n+1]<>2) and

                      (b2[m+1,n+2]<>2) and

                      (b2[m-1,n+2]<>2) and

                       (b2[m,n+2]<>2) and

                      (b2[m+1,n+3]<>2) and

                      (b2[m-1,n+3]<>2) and

                      (b2[m,n+3]<>2) and

                      (b2[m,n+3]<>2) then

                         begin

                     for i:=0 to 2 do

                     b2[m,n+i]:=2;

                       m3:=m3+1

                         end;

             end

end;

8..10:

case m of

1..7: case z of

            0: if (b2[m,n]<>2) and

                      (b2[m+1,n+1]<>2) and

                      (b2[m,n+1]<>2) and

                      (b2[m-1,n+1]<>2) and

                      (b2[m-1,n]<>2)and

                      (b2[m-1,n-1]<>2)and

                      (b2[m,n-1]<>2) and

                      (b2[m+1,n-1]<>2) and

                      (b2[m+2,n-1]<>2) and

                      (b2[m+2,n+1]<>2) and

                      (b2[m+2,n]<>2) and

                         (b2[m+3,n-1]<>2) and

                      (b2[m+3,n+1]<>2) and

                      (b2[m+3,n]<>2) then begin

                     for i:=0 to 2 do

                        b2[m+i,n]:=2;

                        m3:=m3+1

                                       end;

            1: if (b2[m,n]<>2) and

                      (b2[m-1,n-1]<>2) and

                      (b2[m-1,n]<>2) and

                      (b2[m-1,n+1]<>2) and

                        (b2[m,n-1]<>2)and

                      (b2[m+1,n+1]<>2)and

                      (b2[m+1,n]<>2) and

                      (b2[m+1,n-1]<>2) and

                      (b2[m+1,n-2]<>2) and

                      (b2[m-1,n-2]<>2) and

                      (b2[m,n-2]<>2) and

                      (b2[m+1,n-3]<>2) and

                      (b2[m-1,n-3]<>2) and

                      (b2[m,n-3]<>2) then

                         begin

                      for i:=0 to 2 do

                        b2[m,n-i]:=2;

                           m3:=m3+1

                         end

             end;

8..10: case z of

            0: if (b2[m,n]<>2) and

                      (b2[m-1,n-1]<>2) and

                      (b2[m-1,n]<>2) and

                      (b2[m-1,n+1]<>2) and

                      (b2[m,n-1]<>2)and

                      (b2[m+1,n+1]<>2)and

                      (b2[m+1,n]<>2) and

                      (b2[m+1,n-1]<>2) and

                      (b2[m+1,n-2]<>2) and

                      (b2[m-1,n-2]<>2) and

                      (b2[m,n-2]<>2) and

                      (b2[m+1,n-3]<>2) and

                      (b2[m-1,n-3]<>2) and

                      (b2[m,n-3]<>2) then

                         begin

                     for i:=0 to 2 do

                        b2[m,n-i]:=2;

                           m3:=m3+1

                         end;

            1: if (b2[m,n]<>2) and

                      (b2[m+1,n+1]<>2) and

                      (b2[m,n+1]<>2) and

                      (b2[m-1,n+1]<>2) and

                      (b2[m-1,n]<>2)and

                      (b2[m-1,n-1]<>2)and

                      (b2[m,n-1]<>2) and

                      (b2[m+1,n-1]<>2) and

                      (b2[m-2,n-1]<>2) and

                      (b2[m-2,n+1]<>2) and

                       (b2[m-2,n]<>2) and

                      (b2[m-3,n-1]<>2) and

                      (b2[m-3,n+1]<>2) and

                      (b2[m-3,n]<>2) then

                  begin

                     for i:=0 to 2 do

                        b2[m-i,n]:=2;

                          m3:=m3+1

                 end

             end

end

End

end;

//двухпалубные

while m2<3 do begin

m:=random(10)+1;

n:=random(10)+1;

z:=(random(100) mod 2);

Case n of

1..8:

case m of

1..8: case z of

            0: if (b2[m,n]<>2) and

                      (b2[m-1,n-1]<>2) and

                      (b2[m-1,n]<>2) and

                      (b2[m-1,n+1]<>2) and

                      (b2[m,n-1]<>2)and

                      (b2[m+1,n+1]<>2)and

                      (b2[m+1,n]<>2) and

                      (b2[m+1,n-1]<>2) and

                      (b2[m,n+1]<>2) and

                      (b2[m+1,n+2]<>2) and

                      (b2[m-1,n+2]<>2) and

                      (b2[m,n+2]<>2) then

                         begin

                     for i:=0 to 1 do

                     b2[m,n+i]:=2;

                       m2:=m2+1

                         end;

              1: if (b2[m,n]<>2) and

                      (b2[m+1,n+1]<>2) and

                      (b2[m,n+1]<>2) and

                      (b2[m-1,n+1]<>2) and

                      (b2[m-1,n]<>2)and

                      (b2[m-1,n-1]<>2)and

                      (b2[m,n-1]<>2) and

                      (b2[m+1,n-1]<>2) and

                      (b2[m+1,n]<>2) and

                      (b2[m+2,n-1]<>2) and

                      (b2[m+2,n+1]<>2) and

                      (b2[m+2,n]<>2) then begin

                     for i:=0 to 1 do

                        b2[m+i,n]:=2;

                        m2:=m2+1

                                             end

       end;

9..10: case z of

            0: if (b2[m,n]<>2) and

                      (b2[m+1,n+1]<>2) and

                      (b2[m,n+1]<>2) and

                      (b2[m-1,n+1]<>2) and

                      (b2[m-1,n]<>2)and

                      (b2[m-1,n-1]<>2)and

                      (b2[m,n-1]<>2) and

                      (b2[m+1,n-1]<>2) and

                      (b2[m-2,n-1]<>2) and

                      (b2[m-2,n+1]<>2) and

                      (b2[m-2,n]<>2) then

                  begin

                     for i:=0 to 1 do

                        b2[m-i,n]:=2;

                          m2:=m2+1

                 end;

                1: if (b2[m,n]<>2) and

                      (b2[m-1,n-1]<>2) and

                      (b2[m-1,n]<>2) and

                      (b2[m-1,n+1]<>2) and

                      (b2[m,n-1]<>2)and

                      (b2[m+1,n+1]<>2)and

                      (b2[m+1,n]<>2) and

                      (b2[m+1,n-1]<>2) and

                      (b2[m,n+1]<>2) and

                      (b2[m+1,n+2]<>2) and

                      (b2[m-1,n+2]<>2) and

                      (b2[m,n+2]<>2) then

                         begin

                     for i:=0 to 1 do

                     b2[m,n+i]:=2;

                       m2:=m2+1

                         end;

             end

end;

9..10:

case m of

1..8: case z of

            0: if (b2[m,n]<>2) and

                      (b2[m+1,n+1]<>2) and

                      (b2[m,n+1]<>2) and

                      (b2[m-1,n+1]<>2) and

                      (b2[m-1,n]<>2)and

                      (b2[m-1,n-1]<>2)and

                      (b2[m,n-1]<>2) and

                      (b2[m+1,n-1]<>2) and

                      (b2[m+2,n-1]<>2) and

                      (b2[m+2,n+1]<>2) and

                      (b2[m+2,n]<>2) then begin

                     for i:=0 to 1 do

                        b2[m+i,n]:=2;

                        m2:=m2+1

                                       end;

            1: if (b2[m,n]<>2) and

                      (b2[m-1,n-1]<>2) and

                      (b2[m-1,n]<>2) and

                      (b2[m-1,n+1]<>2) and

                      (b2[m,n-1]<>2)and

                      (b2[m+1,n+1]<>2)and

                      (b2[m+1,n]<>2) and

                      (b2[m+1,n-1]<>2) and

                      (b2[m+1,n-2]<>2) and

                      (b2[m-1,n-2]<>2) and

                      (b2[m,n-2]<>2) then

                         begin

                     for i:=0 to 1 do

                        b2[m,n-i]:=2;

                           m2:=m2+1

                         end

             end;

9..10: case z of

            0: if (b2[m,n]<>2) and

                      (b2[m-1,n-1]<>2) and

                      (b2[m-1,n]<>2) and

                      (b2[m-1,n+1]<>2) and

                      (b2[m,n-1]<>2)and

                      (b2[m+1,n+1]<>2)and

                      (b2[m+1,n]<>2) and

                      (b2[m+1,n-1]<>2) and

                      (b2[m+1,n-2]<>2) and

                      (b2[m-1,n-2]<>2) and

                      (b2[m,n-2]<>2) then

                         begin

                     for i:=0 to 1 do

                        b2[m,n-i]:=2;

                           m2:=m2+1

                         end;

            1: if (b2[m,n]<>2) and

                      (b2[m+1,n+1]<>2) and

                      (b2[m,n+1]<>2) and

                      (b2[m-1,n+1]<>2) and

                      (b2[m-1,n]<>2)and

                      (b2[m-1,n-1]<>2)and

                      (b2[m,n-1]<>2) and

                      (b2[m+1,n-1]<>2) and

                      (b2[m-2,n-1]<>2) and

                      (b2[m-2,n+1]<>2) and

                      (b2[m-2,n]<>2) then

                  begin

                     for i:=0 to 1 do

                        b2[m-i,n]:=2;

                          m2:=m2+1

                 end

             end

end

End

end;

//подлодки

while m1<4 do begin

m:=random(10)+1;

n:=random(10)+1;

while m1<4 do begin

  m:=random(10)+1;

n:=random(10)+1;

if (b2[m,n]<>2) and

(b2[m+1,n+1]<>2) and

(b2[m,n+1]<>2) and

(b2[m-1,n+1]<>2) and

(b2[m-1,n]<>2)and

(b2[m-1,n-1]<>2)and

(b2[m,n-1]<>2) and

(b2[m+1,n-1]<>2) and

(b2[m+1,n]<>2) then begin

b2[m,n]:=2;

m1:=m1+1;

End

end;

end;

end;



Поделиться:


Последнее изменение этой страницы: 2021-05-12; просмотров: 60; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.22.242.141 (0.317 с.)