Автор работы: Пользователь скрыл имя, 12 Апреля 2012 в 14:59, курсовая работа
В данной курсовой работе речь пойдет о создании несложной игровой программы «Крестики-нолики», которая и будет являться объектом исследования. Потребуется создать полноценную правильно-функционирующую программу и самостоятельно изучить некоторые процедуры и функции.
Разработать
игровую программу «Крестики-
Запуск программы осуществляется следующим образом: необходимо открыть папку, содержащую данную игру, и найти исполняемый файл krestiki-noliki.exe. На этом файле следует выполнить двойной щелчок левой клавишей манипулятора мышь.
Проект
программы состоит из файла проекта,
содержащего необходимые
Модуль Unit1 является основным модулем проекта, содержащим все необходимые для работы программы процедуры.
После
запуска программы на экран выводится
основная форма Form1 (XO) (рис.2), на которой
расположено игровое поле.
Рис.2
– Вид программы после запуска
Игра, т.е. работа программы, начинается сразу же после запуска, ход сначала предоставляется человеку, с символа «X».
После этого автоматически идёт ход компьютера, с символа «O» (рис.3)
Рис3. Поочередные ходы
Таким
образом, игроки по очереди ставят на свободные
клетки поля 3х3 знаки (человек всегда крестики,
компьютер всегда нолики). Первый, выстроивший
в ряд 3 своих фигур по вертикали, горизонтали
или диагонали, выигрывает. Если в этой
ситуации никто не выстраивает в ряд 3
своих фигур, то объявляется ничья.
Рис. 4 Ничья в игре
Рис.5 Победа человека
При победе компьютера или человека, счёт игры меняется.
Рис.6
Победа компьютера
ЗАКЛЮЧЕНИЕ
В результате
выполнения данной курсовой работы мной
была разработана игровая программа под
названием “Крестики-нолики”. Было проведено
исследование компонентов программной
среды Borland Delphi 7.0, которые использовались
при создании программы, использовалось
множество процедур и функций.
В результате исследования были выявлены следующие недостатки полученного программного продукта:
-Низкий исскуственный интеллект, т.е. ход компьютера осуществляется случайным образом, что делает маловероятным победу компьютера;
-Работоспособность приложения только в среде Windows;
Однако, помимо недостатков, есть и достоинства у этого программного продукта:
-Программный
продукт малотребователен к системным
ресурсам компьютера.
В результате учета всех сделанных выше замечаний возможно улучшение созданного программного продукта, на которое потребуется минимум изменений исходного кода программы.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
Panel7: TPanel;
Panel8: TPanel;
Panel9: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Label1: TLabel;
Label2: TLabel;
procedure Button2Click(Sender: TObject);
procedure Panel1Click(Sender: TObject);
procedure Panel2Click(Sender: TObject);
procedure Panel3Click(Sender: TObject);
procedure Panel4Click(Sender: TObject);
procedure Panel5Click(Sender: TObject);
procedure Panel6Click(Sender: TObject);
procedure Panel7Click(Sender: TObject);
procedure Panel8Click(Sender: TObject);
procedure Panel9Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var i,a,c,b:integer;
Form1: TForm1;
implementation
{$R
*.DFM}
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Panel1Click(Sender: TObject);
begin
if panel1.Caption='' then begin
panel1.Caption:='X';
button1.Click;
i:=0;
end;
end;
procedure TForm1.Panel2Click(Sender: TObject);
begin
if panel2.Caption='' then begin
panel2.Caption:='X';
button1.Click;
i:=0;
end;
end;
procedure TForm1.Panel3Click(Sender: TObject);
begin
if panel3.Caption='' then begin
panel3.Caption:='X';
button1.Click;
i:=0;
end;
end;
procedure TForm1.Panel4Click(Sender: TObject);
begin
if panel4.Caption='' then begin
panel4.Caption:='X';
button1.Click;
i:=0;
end;
end;
procedure TForm1.Panel5Click(Sender: TObject);
begin
if panel5.Caption='' then begin
panel5.Caption:='X';
button1.Click;
i:=0;
end;
end;
procedure TForm1.Panel6Click(Sender: TObject);
begin
if panel6.Caption='' then begin
panel6.Caption:='X';
button1.Click;
i:=0;
end;
end;
procedure TForm1.Panel7Click(Sender: TObject);
begin
if panel7.Caption='' then begin
panel7.Caption:='X';
button1.Click;
i:=0;
end;
end;
procedure TForm1.Panel8Click(Sender: TObject);
begin
if panel8.Caption='' then begin
panel8.Caption:='X';
button1.Click;
i:=0;
end;
end;
procedure TForm1.Panel9Click(Sender: TObject);
begin
if panel9.Caption='' then begin
panel9.Caption:='X';
button1.Click;
i:=0;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if i=0 then
repeat
/////////////////////////
if panel1.Caption='X' then
if panel2.Caption='X' then
if panel3.Caption='X' then begin
showmessage('Win');
b:=b+1;
button3.Click;
I:=1;
end;
if panel4.Caption='X' then
if panel5.Caption='X' then
if panel6.Caption='X' then begin
showmessage('Win');
b:=b+1;
button3.Click;
I:=1;
end;
if panel7.Caption='X' then
if panel8.Caption='X' then
if panel9.Caption='X' then begin
showmessage('Win');
b:=b+1;
button3.Click;
I:=1;
end;
if panel1.Caption='X' then
if panel5.Caption='X' then
if panel9.Caption='X' then begin
showmessage('Win');
b:=b+1;
button3.Click;
I:=1;
end;
if panel3.Caption='X' then
if panel5.Caption='X' then
if panel7.Caption='X' then begin
showmessage('Win');
b:=b+1;
button3.Click;
I:=1;
end;
if panel1.Caption='X' then
if panel4.Caption='X' then
if panel7.Caption='X' then begin
showmessage('Win');
b:=b+1;
button3.Click;
I:=1;
end;
if panel2.Caption='X' then
if panel5.Caption='X' then
if panel8.Caption='X' then begin
showmessage('Win');
b:=b+1;
button3.Click;