Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Dokument_Microsoft_Word_2.doc
Скачиваний:
19
Добавлен:
11.02.2016
Размер:
273.41 Кб
Скачать

Розділ іі. Сутність та реалізація гри «Бики та корови»

    1. Основні інструменти середовища Delphi для реалізації гри

Для реалізації гри «Бики та корови» було використано такі компоненти інтерфейсу та їх властивості (за допомогою меню Object Inspector):

Об’єкт

Властивість

Form1,

.Caption .

Form1.Label 1-18

.Caption, Font

Form1.Button 1-9

.Height .Width ,Font Caption

Form1.Edit 1-4

Text, Caption , Clear, Visible.

Form1.Panel 1-7

Visible, Caption, Color

3.2 Реалізація гри «Бики та корови»

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

ch,ch2: string;

s,a,a1: integer;

implementation

uses Unit2, Unit3, Unit4;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

panel4.Visible:=true;

s:=1;

a:=0;

a1:=0;

label8.Visible:=false;

label6.Visible:=false;

label7.Visible:=false;

edit1.Visible:=false;

button1.Visible:=false;

end;

procedure TForm1.Button2Click(Sender: TObject);

var i:integer;

s1,s2:string;

k:boolean;

begin

k:=true;

s1:='';

s2:=edit2.text;

if (edit2.Text<>'') and (length(edit2.Text) = 4) then//Перевірка вводу букв та перевірка на повторення цифр в числі

begin

for i:=1 to 4 do begin

if (Pos(s2[i],'1234567890') <> 0) and (Pos(s2[i],s1) =0 ) then// Фільтрує ввід пустого числа та контролює довжину числа до 4 цифр.

s1:=s1+s2[i]

else k:=false; end;

if k = true then begin

ch:=edit2.Text;//Глобальна змінна загараного числа 1 гравця

panel4.Visible:=false;

panel5.Visible:=true;

label6.Visible:=true;

label5.Caption:='';

end

elselabel5.Caption:=' не правильно введене число;end

else

label5.Caption:= не правильно введене число;

end;

procedure TForm1.Button3Click(Sender: TObject);

var i:integer;

s1,s2:string;

k:boolean;

begin

k:=true;

s1:='';

s2:=edit3.text;

if (edit3.Text<>'') and (length(edit3.Text) = 4) then

begin

for i:=1 to 4 do begin

if (Pos(s2[i],'1234567890') <> 0) and (Pos(s2[i],s1) =0 ) then// Фільтрує ввід пустого числа та контролює довжину числа до 4 цифр.

s1:=s1+s2[i]

else k:=false; end;

if k = true then begin

ch2:=edit3.Text; ;//Глобальна змінна загараного числа 2 гравця

panel5.Visible:=false;

label7.Visible:=true;

edit1.Visible:=true;

button1.Visible:=true;

label6.Caption:='';

endelselabel6.Caption:= не правильно введене число;end

else

label6.Caption:=не правильно введене число!;

end;

procedure TForm1.Button1Click(Sender: TObject);

var i,x,y:integer;

v1,s1:string;

k:boolean;

begin

x:=0;

y:=0;

v1:=edit1.text;

k:=true;

if (edit1.Text<>'') and (length(edit1.Text) = 4) then// Фільтрує ввід пустого числа та контролює довжину числа до 4 цифр.

begin

for i:=1 to 4 do begin

if(Pos(v1[i],'1234567890') <> 0)and(Pos(v1[i],s1) =0 )then//Перевірка вводу букв та перевірка на повторення цифр в числі

s1:=s1+v1[i]

else k:=false; end;

if k = true then begin

for i:=1 to 4 do

begin

if v1[i]=ch2[i] then

x:=x+1;

end;

a:=a+1;

if x = 4 then

label5.Caption:='Ви виграли за '+inttostr(a)+' х³д';

for i:=1 to 4 do

begin

if (v1[i]<>ch2[i]) and (pos(ch2[i],v1)<>0) then

inc(y);

end;

label3.Caption:='Ó âàñ '+inttostr(x)+' áèê³â ³ '+inttostr(y)+' êîð³â';

memo1.Lines.Add(v1+' '+inttostr(x)+' b '+inttostr(y)+' k');

edit1.clear;

edit1.visible:=false;

button1.Visible:=false;

edit4.visible:=true;

button4.Visible:=true;

label8.Visible:=true;

end;

end;

end;

procedure TForm1.Button4Click(Sender: TObject);

var i,x,y:integer;

v1,s1:string;

k:boolean;

begin

k:=true;

x:=0;

y:=0;

v1:=edit4.text;

if (edit4.Text<>'') and (length(edit4.Text) = 4) then begin// Фільтрує ввід пустого числа та контролює довжину числа до 4 цифр.

for i:=1 to 4 do begin

if(Pos(v1[i],'1234567890') <> 0)and(Pos(v1[i],s1) =0 )then//Перевірка вводу букв та перевірка на повторення цифр в числі

s1:=s1+v1[i]

else k:=false; end;

if k = true then begin

for i:=1 to 4 do//Пошук биків

begin

if v1[i]=ch[i] then

x:=x+1;

end;

a1:=a1+1;

if x = 4 then

label6.Caption:= «Ви виграли!»;

for i:=1 to 4 do//Пошук корів

begin

if (v1[i]<>ch[i]) and (pos(ch[i],v1)<>0) then

inc(y);

end;

label4.Caption:=У вас '+inttostr(x)+' биків '+inttostr(y)+' корів';

memo2.Lines.Add(v1+' '+inttostr(x)+' b '+inttostr(y)+' k');

edit4.clear;

edit4.visible:=false;

button4.Visible:=false;

edit1.visible:=true;

button1.Visible:=true;

end;

end;

end;

procedure TForm1.Button5Click(Sender: TObject);//Кнопка використовується для ночатку нової гри.

begin

memo1.Clear;

memo2.Clear;

edit4.Clear;

edit3.Clear;

edit2.Clear;

edit1.Clear;

label7.caption:='';

label4.caption:='';

label3.caption:='';

label5.visible:=true;

label8.caption:='';

label6.caption:='';

edit1.Visible:=false;

button1.Visible:=false;

edit4.Visible:=false;

button4.Visible:=false;

panel5.Visible:=false;

panel4.Visible:=true;

end;

procedure TForm1.Button7Click(Sender: TObject);

begin

panel7.Visible:=true;

end;

procedure TForm1.Button9Click(Sender: TObject);

begin

panel7.Visible:=false;

end;

procedure TForm1.Button6Click(Sender: TObject);

begin

panel6.Visible:=false;

end;

procedure TForm1.Button8Click(Sender: TObject);

begin

panel6.Visible:=true;

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]