Смекни!
smekni.com

Разработка приложения для Windows, моделирующего игру "Нечетный" и "Четный" (стр. 2 из 2)

2: a:=random(nk);

b:=random(nk);

// Если позиция свободна ставит 0 или 1

// Иначе переход на другую позицию

if (stringgrid1. Cells [a, b]<>'1') and

(stringgrid1. Cells [a, b]<>'0') then begin

stringgrid2. Cells [a, b]:='@';

stringgrid1. Cells [a, b]:=inttostr (random(2)) end

elsegoto 2;

1: end;

// процедура Новая игра

procedure TForm1.N2Click (Sender: TObject);

begin

for i:=0 to stringgrid1. RowCount-1 do

for j:=0 to stringgrid1. RowCount-1 do

begin

stringgrid1. Cells [i, j]:='';

end;

edit1.text:=''; {Результат обнуляется}

end;

procedure TForm1.N3Click (Sender: TObject);

begin

showmessage('Досвидания');

form1. Close;

end;

// Процедура выводит сообщение о правиле игры

procedure TForm1.N8Click (Sender: TObject);

begin

showmessage('Два игрока, «нечетный» и «Четный», по очереди ставят'+#13+

' единицы и нули в незанятые позиции поля NxN'+#13+

'Каждый из игроков может ставить 1 или 0 в произольную'+#13+

' свободную позицию,тем самым занимая ее.'+#13+

' Игра продолжается до заполнения всех позиций.'+#13+

'После этого суммируются числа вдоль каждой строки'+#13+

' и каждого столбца и главных диагоналей. '+

#13+'Число ODD нечетных сумм сравнивается с числом четных сумм EVEN.'+#13+

'Если ODD>Even, то выигрывает, если EVEN>ODD выигрывает четный.'+#13+

'Если ODD=EVEN, результата считается ничейным');

end;

// Процедура выводит сообщение о программе

procedure TForm1.N9Click (Sender: TObject);

begin

showmessage ('Программу разработал студент группы &bsol;УЗИН-709–01 КРУ г. Астана'+

#13+'Захарченко Егор'+

#13+'Программа написана для игры пользователя с компьютером'+

#13+'размерность поля – 6х6.'+#13+

'Выигрышную стратегию для компьютера можно '+#13+

'построить с помощью датчика случайных чисел random(1)+1'+#13+

'тем самым вставляя в позицию только единицы'+#13+

'или присваивая к позиции компьютера только единицы'+#13+

'Но в данной программе пользователь и компьютер играет'+

#13+' на равных правилах');

end;

procedure TForm1. Button1Click (Sender: TObject);

label 1;

begin

nechet:=0;

chet:=0;

for i:=0 to 5 do

for j:=0 to 5 do

if (stringgrid2. Cells [i, j]<>'*') and (stringgrid2. Cells [i, j]<>'@') then

beginshowmessage('Не все позиции заняты, '+#13+

'продолжайте заполнять поля'); goto 1;

end;

// В этом цикле определяются позиции игроков

// соответственные числа по строкам и по столбцам суммируются

for i:=0 to 5 do

for j:=0 to 5 do

if stringGrid1. Cells [i, j]='1' then begin

if stringgrid2. Cells [i, j]='*' then nechet:=nechet+1

else chet:=chet+1 end;

for j:=0 to 5 do

for i:=0 to 5 do

if stringGrid1. Cells [i, j]='1' then begin

if stringgrid2. Cells [i, j]='*' then nechet:=nechet+1

elsechet:=chet+1 end;

// Числа суммируются по главным диагоналям

for j:=0 to 5 do

if stringgrid1. Cells [j, j]='1' then begin

if stringgrid2. Cells [j, j]='*' then nechet:=nechet+1

else chet:=chet+1 end;

for j:=0 to 5 do

if stringgrid1. Cells [j, j]='1' then begin

if stringgrid2. Cells [j, j]='*' then nechet:=nechet+1

elsechet:=chet+1 end;

// Определяется победитель

if chet=nechet Then Edit1. Text:='Ничья, число'+inttostr(chet)

else begin

if nechet>chet then edit1.text:='Выиграл Нечет(пользователь), число '+inttostr(nechet)

else

edit1.text:='Выиграл Чет(компьютер), число '+inttostr(chet);

end;

1: end;

end.

2.5 Описание программы

Требуется компьютер, который поддерживает операционную систему Windows9x. Технические характеристики такого компьютера должны составлять: Pentium 100 и выше; объем оперативной памяти не менее 16 Мб; жесткий диск не менее 500 МБ. Дополнительные устройства для программы не требуются.

Программа управляется через главное меню. Через меню можно начать новую игру, закрыть игру, прочитать справки о программе, о разработчике. Числа игрока ставятся в позиции, соответственно указателю мышки. Компьютер выбирает из свободных позиции свою позицию и ставит число 0 или 1. Результат игры показывается при нажатии на кнопку «Показать». Если заполнены не все позиции, выдается соответствующее сообщение. Если заполнены все позиции, определяется выигравший и его число.

Программа загружается нажатием на загрузочный файл Project1.exe.

Входные данные: 0 или 1 в поле StringGrid1.

Выходные данные: сумма чисел игроков и сообщение о выигравшем игроке отображаются в поле TEdit.


Рис. 1. Тестирование -1

Рис. 1. Тестирование -2

Рис. 1. Тестирование -3


Рис. 1. Тестирование -4

Рис. 1. Тестирование -5

Рис. 1. Тестирование -6


Рис. 1. Тестирование -7

В таблице (таб. 2.) представлены результаты тестирования:

Таблица 1. Результаты тестирования

Выиграл Число
Нечет 24
Чет 24
Чет 26
Нечет 30
Нечет 28
Нечет 26
Ничья 24

2.5 Внедрение

Данное приложение разработанное в Delphi, способно работать на персональных компьютерах с минимальными требованиями:

Процессор – Pentium 400 MHz.,

Оперативная память – 512 Mb,

Жесткий диск – 10 Gb,

Операционная система – WindowsXPProfessional

Программное обеспечение – BorlandDatabaseEngine.

Запустить приложение можно также как и любое другое с дискеты или с другого носителя.

Для управления программой используются кнопки меню. Выход из программы осуществляется по команде Файл-> Выход в главном меню или щелчку левой кнопкой мыши по крестику в правом верхнем углу экрана.

Сообщения оператору рисунки 8–10:

Сообщение когда не заполнены все клетки поля Рисунок 8.

Рис. 8. Сообщение игроку

Сообщение об условий игры открывается по команде Справка->Правила игры-Рисунок 9.

Рис. 9. Условие игры

Сообщение о разработчике открывается по команде Справка->о программе – Рисунок 10.


Рис. 10. Сообщение о разработчике

Список использованных источников

1. Культин Н. Программирование на ObjectPascal. Киев, 2005.

2. Чиртик, А.А. Delphi. Трюки и эффекты [Текст] / А.А. Чиртик, В.В. Борисок, Ю.И. Корвель. – СПб.: Питер, 2007.

3. Delphi: быстрый старт. – СПб.: БХВ – Петербург, 2002. – 288 с.: ил.

4. Turbo Pascal / С.А. Немнюгин. – СПб: Издательство «Питер», 2000. – 496 с.: ил.

5. Власов А.Я. Справочник по программированию на Object Pascal. Киев, 2001 г.

6. Александровский А.Д. Delphi 5.0. Разработка корпоративных приложений. – М.: ДМК, 2004. – 512 с.: ил. (Серия «Для программистов»).

7. Бобровский С. DEIPhI 7: Учебный курс СПб: Издательство «Питер», 2005.

8. Власов А.Я. Справочник по программированию на Object Pascal. Киев, 2003 г.

9. Изучаем Delphi. – СПб.: Питер, 2000. – 352 с.: ил.