Смекни!
smekni.com

Программа игры Кости (стр. 3 из 3)

else

Key: = #0; // не цифра

end;

procedure TForm2. Edit2KeyPress (Sender: TObject; var Key: Char);

begin

if ( (Key >= '0') and (Key <= '9') or (Key = #8)) then begin end // цифры

else

Key: = #0; // не цифра

end;

procedure TForm2. Button2Click (Sender: TObject);

var

sum: integer;

begin

button3. Enabled: =true;

ns: =Strtoint (Edit3. Text);

k: =1+k;

a: =0;

b: =0;

Memo1. Lines. Add ('');

Memo1. Lines. Add ('Игрок: '+ Label1. Caption);

a: =random (6) +1;

Memo1. Lines. Add ('Первый кубик = ' +inttostr (a));

b: =random (6) +1;

Memo1. Lines. Add ('Второй кубик = ' +inttostr (b));

case (a) of

1: Image2. Picture. LoadFromFile ('1. jpg');

2: Image2. Picture. LoadFromFile ('2. jpg');

3: Image2. Picture. LoadFromFile ('3. jpg');

4: Image2. Picture. LoadFromFile ('4. jpg');

5: Image2. Picture. LoadFromFile ('5. jpg');

6: Image2. Picture. LoadFromFile ('6. jpg');

end;

case (b) of

1: Image3. Picture. LoadFromFile ('1. jpg');

2: Image3. Picture. LoadFromFile ('2. jpg');

3: Image3. Picture. LoadFromFile ('3. jpg');

4: Image3. Picture. LoadFromFile ('4. jpg');

5: Image3. Picture. LoadFromFile ('5. jpg');

6: Image3. Picture. LoadFromFile ('6. jpg');

end;

sum: =a+b;

Memo1. Lines. Add ('Сумма кубиков = ' +inttostr (sum));

if (sum=x) then

begin

ns: =ns+st*4;

Memo1. Lines. Add ('Вы выиграли! Ваш выигрыш увеличин в 4 раза! =) ');

Animate1. Visible: =true;

Animate1. FileName: = ('win. avi');

Edit3. Text: =inttostr (ns);

v: =v+1;

end;

if (sum>x) then begin

ns: =ns-st;

Memo1. Lines. Add ('Вы проиграли! = (');

Animate1. Visible: =true;

Animate1. FileName: = ('loose. avi');

Edit3. Text: =inttostr (ns);

p: =p+1;

end;

if (sum<x) then begin

ns: =ns+st;

Memo1. Lines. Add ('Вы выиграли! =) ');

Animate1. Visible: =true;

Animate1. FileName: = ('win. avi');

Edit3. Text: =inttostr (ns);

v: =v+1;

end;

Memo1. Lines. add ('Всего бросков: ' + Inttostr (k));

Memo1. Lines. add ('Из них выигрышей/проигрышей: ' + Inttostr (v) + ' / '+Inttostr (p));

if ns<=0 then

begin

form3. Showmodal;

end;

end;

procedure TForm2. N2Click (Sender: TObject);

begin

Form2. Hide;

form1. Show;

Button2. Enabled: =false;

Button2. Enabled: =false;

Memo1. Clear;

Edit3. Text: = ('100');

Edit1. text: = ('32');

Edit2. text: = ('6');

k: =0;

p: =0;

v: =0;

form1. Edit1. Text: = ('');

end;

procedure TForm2. Button3Click (Sender: TObject);

begin

k: =0;

p: =0;

v: =0;

memo1. Clear;

Edit3. Text: = ('100');

end;

procedure TForm2. N5Click (Sender: TObject);

begin

form4. show;

end;

procedure TForm2. N6Click (Sender: TObject);

begin

Form5. show;

end;

procedure TForm2. Image1MouseMove (Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

Label5. Caption: = TimeToStr (Now ());

end;

end.

Form1

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, jpeg, ExtCtrls;

type

TForm1 = class (TForm)

Image1: TImage;

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Image2: TImage;

Image3: TImage;

procedure Image2MouseDown (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure Image2MouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2;

$R *. dfm}

procedure TForm1. Image2MouseDown (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

Image3. Visible: =true;

end;

procedure TForm1. Image2MouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

var

name: string;

begin

Image3. Visible: =false;

name: =Edit1. Text;

if ( (name = '') or (name = ' ')) then

begin

ShowMessage ('Введите имя');

end

else

begin

Form2. Show;

Form1. Hide;

Form2. Label1. Caption: =name;

end;

end;

end.

Form3

unit Unit3;

interface

uses

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

Dialogs, StdCtrls, jpeg, ExtCtrls;

type

TForm3 = class (TForm)

Image2: TImage;

Button1: TButton;

Button2: TButton;

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit2, Unit1;

{$R *. dfm}

procedure TForm3. Button1Click (Sender: TObject);

begin

Form2. N2. click;

Form3. Close;

end;

procedure TForm3. Button2Click (Sender: TObject);

begin

Form1. Close;

end;

end.

Заключение

Оба языка обладают своими преимуществами и недостатками. И нельзя строго о превосходстве одного над другим - все зависит от того, какую задачу ставит перед собой программист. Так например Pascal более удобен для изучения, является более наглядным для новичков. (И первоначально он был создан как раз для обучения) Но С++ в свою очередь является более компактным, быстрее компилируется. За счет этого на С++ удобнее писать большие и более сложные программы, тогда как Pascal лучше предназначен для обучения и выполнения не самых сложных алгоритмов.

Использованная литература

1. А. Гусева. Учимся программировать: Pascal 7.0.

2. Фаронов В.В. Turbo Pascal. Учебный курс

3. Бьерн Страустрап. Введение в С++

4. Липман. С++ для начинающих

5. Эккель Б. Философия С++

6. http://ru. wikipedia.org/wiki/C++

7. http://ru. wikipedia.org/wiki/Pascal