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

2. Фленов м.Е Библия Delphi . – к.: кнеу, 2000. – 200 с.

3. Культин Н.Б Самоучитель. Основы программирования в Delphi Пер с англ – СПБ.: БХВ. Петербург, 2009. – 800 с.:

4. Чиртик А. Н. Программирование в Delphi. Трюки и эффекты – К.: КНЕУ, 2008. – 574 с.:

Додаток А

Unit 1.pas

unit Unit1;

interface

uses

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

Dialogs, Menus, StdCtrls, ExtCtrls, Spin, ComCtrls, MPlayer, Unit2, Unit3;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

Game1: TMenuItem;

Button1: TButton;

SpinButton1: TSpinButton;

Image1: TImage;

Image2: TImage;

Image3: TImage;

Image4: TImage;

Image5: TImage;

Edit1: TEdit;

Image6: TImage;

Image7: TImage;

Image8: TImage;

TrackBar1: TTrackBar;

Label1: TLabel;

GroupBox1: TGroupBox;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Button2: TButton;

PopupMenu1: TPopupMenu;

Label9: TLabel;

Label10: TLabel;

Button3: TButton;

GroupBox2: TGroupBox;

Memo1: TMemo;

N1: TMenuItem;

Memo2: TMemo;

TrackBar2: TTrackBar;

Label11: TLabel;

procedure FormCreate(Sender: TObject);

procedure SpinButton1DownClick(Sender: TObject);

procedure SpinButton1UpClick(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure SpinEdit1KeyPress(Sender: TObject; var Key: Char);

procedure Button1Click(Sender: TObject);

procedure TrackBar1Change(Sender: TObject);

procedure SpinEdit1Change(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Save;

procedure Load;

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure TrackBar2Change(Sender: TObject);

procedure Game1Click(Sender: TObject);

procedure N1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

type

player = record

imia:string[20];

rezult:integer;

end;

var

Form1: TForm1;

photo: array [1..6] of TBitmap;

imia:string;

suma,kosti_count:integer;

stavka_na_gru,stavka_na_kosti,money:integer;

kosti_num: array [1..6] of integer;

players:array[1..11] of player;

file_top: file of player;

implementation

{$R *.dfm}

procedure Delay(dwMilliseconds: Longint);

var

iStart, iStop, iDiff: DWORD;

begin

iStart := GetTickCount;

repeat

iStop := GetTickCount;

sleep(10);

Application.ProcessMessages;

iDiff :=iStop-iStart;

until (iDiff) >= dwMilliseconds;

end;

procedure TForm1.FormCreate(Sender: TObject);

var i:byte;

begin

kosti_count:=2;

for i:=1 to 6 do

begin

photo[i]:=TBitmap.Create();

photo[i].Width:=64;

photo[i].Height:=64;

photo[i].Canvas.CopyRect(Rect(0,0,64,64),Image7.Picture.Bitmap.Canvas,Rect((i-1)*64,0,(i-1)*64+64,64));

(FindComponent('Image' + IntToStr(i)) as TImage).Canvas.CopyRect(Rect(0,0,64,64),Image7.Picture.Bitmap.Canvas,Rect((i-1)*64,0,(i-1)*64+64,64));

end;

Image8.Picture.Bitmap:=photo[2];

Load;

end;

procedure TForm1.SpinButton1DownClick(Sender: TObject);

begin

if kosti_count>2 then

begin

kosti_count:=kosti_count-1;

image8.Picture.Bitmap:=photo[kosti_count];

end;

end;

procedure TForm1.SpinButton1UpClick(Sender: TObject);

begin

if kosti_count<6 then

begin

kosti_count:=kosti_count+1;

image8.Picture.Bitmap:=photo[kosti_count];

end;

end;

procedure TForm1.Button2Click(Sender: TObject);

var i,j,g:integer;

ar,ar1: array[1..6] of integer;

begin

TrackBar2.Enabled:=false;

Button2.Enabled:=false;

TrackBar1.Enabled:=false;

randomize;

suma:=0;

label9.Caption:= ' ';

Label3.Visible:=true;

Label3.Caption := 'Сума = '+IntToStr(suma);

ar[1]:=20; ar1[1]:=0;

ar[2]:=30; ar1[2]:=0;

ar[3]:=40; ar1[3]:=0;

ar[4]:=50; ar1[4]:=0;

ar[5]:=60; ar1[5]:=0;

ar[6]:=70; ar1[6]:=0;

for i:=1 to kosti_count do

begin

g:=random(5)+1;

(FindComponent('Image' + IntToStr(i)) as TImage).Visible := true;;

(FindComponent('Image' + IntToStr(i)) as TImage).Picture.Bitmap:=photo[g];

end;

j:=0;

while(j<ar[kosti_count])do

begin

for i:=1 to kosti_count do

begin

g:=random(5)+1;

if(ar1[i]<ar[i]) then

begin

(FindComponent('Image' + IntToStr(i)) as TImage).Picture.Bitmap:=photo[g];

kosti_num[i]:=g;

end;

ar1[i]:=ar1[i]+1;

if(ar1[i]=ar[i]) then

begin

suma:=suma+kosti_num[i];

Label3.Caption := 'Сума = '+IntToStr(suma);

end;

end;

j:=j+1;

Delay(150);

end;

if (stavka_na_kosti=suma) then

begin

money:=money+stavka_na_gru*4;

label9.Caption :='x4!!! +'+IntToStr(stavka_na_gru*4);

label9.Visible:=true;

end

else

begin

if ((stavka_na_kosti<=kosti_count*3) and (suma<kosti_count*3)) then

begin

money:=money+stavka_na_gru;

label9.Caption :=' +'+IntToStr(stavka_na_gru);

label9.Visible:=true;

end

else

if ((stavka_na_kosti>kosti_count*3) and (suma>kosti_count*3)) then

begin

money:=money+stavka_na_gru;

label9.Caption :=' +'+IntToStr(stavka_na_gru);

label9.Visible:=true;

end

else

begin

money:=money-stavka_na_gru;

label9.Caption :=' -'+IntToStr(stavka_na_gru);

label9.Visible:=true;

end;

end;

label7.Caption:=intToStr(money)+'$';

if(money<>0) then

begin

TrackBar2.Enabled:=true;

TrackBar1.Enabled:=true;

TrackBar2.Position:=trunc(money/2);

TrackBar2.Max:=money;

TrackBar1.Position:=kosti_count;

Button2.Enabled:=true;

end

else

begin

label2.Visible:=false;

label3.Visible:=false;

label4.Visible:=false;

label8.Visible:=false;

label9.Visible:=false;

label11.Visible:=false;

TrackBar2.Visible:=false;

Button2.Visible:=false;

TrackBar1.Visible:=false;

for i:=1 to kosti_count do

(FindComponent('Image'+IntToStr(i)) as TImage).Visible:=false;

Label10.Caption:=' Програш!!!';

end;

end;

procedure TForm1.SpinEdit1KeyPress(Sender: TObject; var Key: Char);

begin

Key := #0;

end;

procedure TForm1.Button1Click(Sender: TObject);

var i:integer;

begin

Button1.Visible:=false;

Button3.Visible:=true;

SpinButton1.Enabled:=false;

Edit1.Enabled:=false;

label2.Visible:=true;

label4.Visible:=true;

label8.Visible:=true;

label11.Visible:=true;

//SpinEdit1.Visible:=true;

TrackBar2.Visible:=true;

SpinButton1.Visible:=true;

Button2.Visible:=true;

Button2.Enabled:=true;

TrackBar1.Visible:=true;

TrackBar1.Max:=kosti_count*6;

TrackBar1.Min:=kosti_count;

imia:=Edit1.text;

money:=30;

TrackBar2.Max:=money;

label7.Caption:=intToStr(money)+'$';

stavka_na_gru:=15;

TrackBar2.Position:=stavka_na_gru;

Label9.Caption:='';

Label10.Caption:='';

TrackBar1.Position:=kosti_count;

for i:=1 to kosti_count do

(FindComponent('Image'+IntToStr(i)) as TImage).Visible:=false;

TrackBar1.Enabled:=true;

TrackBar2.Enabled:=true;

save;

load;

end;

procedure TForm1.TrackBar1Change(Sender: TObject);

begin

stavka_na_kosti:=TrackBar1.Position;

Label2.Caption:=IntToStr(stavka_na_kosti);

end;

procedure TForm1.SpinEdit1Change(Sender: TObject);

begin

if (money=1) then

//SpinEdit1.Value:=1;

TrackBar2.Position:=1;

if (money=0) then

begin

//SpinEdit1.MinValue:=0;

//SpinEdit1.Value:=0;

TrackBar2.Min:=0;

TrackBar2.Position:=0;

end;

//stavka_na_gru:=SpinEdit1.Value;

stavka_na_gru:=TrackBar2.Position;

end;

procedure TForm1.Button3Click(Sender: TObject);

var i:integer;

begin

save;

load;

button1.Visible:=true;

SpinButton1.Enabled:=true;

Edit1.Enabled:=true;

label2.Visible:=false;

label3.Visible:=false;

label4.Visible:=false;

label8.Visible:=false;

label9.Visible:=false;

label11.Visible:=false;

//SpinEdit1.Visible:=false;

TrackBar2.Visible:=false;

Button2.Visible:=false;

TrackBar1.Visible:=false;

for i:=1 to kosti_count do

(FindComponent('Image'+IntToStr(i)) as TImage).Visible:=false;

end;

Procedure TForm1.save;

var i,j:integer;

zapus:player;

begin

players[11].imia:=imia;

players[11].rezult:=money;

for i:=1 to 10 do

for j:=1 to 10 do

if (players[j].rezult<players[j+1].rezult) then

begin

zapus:=players[j];

players[j]:=players[j+1];

players[j+1]:=zapus;

end;

AssignFile(file_top,'data.dat');

Rewrite(file_top);

for i:=1 to 10 do

begin

Write(file_top,players[i]);

end;

CloseFile(file_top);

end;

procedure TForm1.Load;

var i:integer;

begin

if FileExists('data.dat') then

begin

AssignFile(file_top,'data.dat');

reset(file_top);

for i:=1 to 10 do

begin

read(file_top,players[i]);

end;

CloseFile(file_top);

memo1.Lines.Clear;

memo2.Lines.Clear;

for i:=1 to 10 do

begin

Memo1.Lines.Add(players[i].imia);

Memo2.Lines.Add(intToStr(players[i].rezult));

end;

end

else

begin

for i:=1 to 10 do

begin

players[i].imia:='none';

players[i].rezult:=0;

end;

memo1.Lines.Clear;

memo2.Lines.Clear;

for i:=1 to 10 do

begin

Memo1.Lines.Add(players[i].imia);

Memo2.Lines.Add(intToStr(players[i].rezult));

end;

end;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

Save;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

Load;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

save;

end;

procedure TForm1.TrackBar2Change(Sender: TObject);

begin

if (money=1) then

TrackBar2.Position:=1;

if (money=0) then

begin

TrackBar2.Min:=0;

TrackBar2.Position:=0;

end;

stavka_na_gru:=TrackBar2.Position;

label11.Caption:=IntToStr(stavka_na_gru);

end;

procedure TForm1.Game1Click(Sender: TObject);

begin

Form2.ShowModal;

end;

procedure TForm1.N1Click(Sender: TObject);

begin

Form3.ShowModal;

end;

end.

Unit 2

unit Unit2;

interface

uses

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

Dialogs, StdCtrls, ComCtrls, jpeg, ExtCtrls;

type

TForm2 = class(TForm)

Image1: TImage;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

{$R *.dfm}

end.

Unit 3

unit Unit3;

interface

uses

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

Dialogs, StdCtrls;

type

TForm3 = class(TForm)

Memo1: TMemo;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

{$R *.dfm}

end.

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