[Delphi] Prosta Układanka.
Witam .
Chcę dziś was nauczyć jak Można Napisać własną grę w Delphi.
A więc Zaczynajmy.
1.Odpalamy Delphi.
2. Klikamy File>New>Application.
3. NA Formę Programu kładziemy 2 labele, 10 Buttonów oraz 1 Timer.
4. Nazywanie Labeli. 1 Labelowi właściwości Caption ustawiamy na ]"Czas 0:0" , a 2 Labelowi właściwości Caption Ustawiamy Na : "Ruchy 0".
5.Teraz Zajmijmy Się Buttonami.
* Właściwość Height, oraz Width Pierwszych 9 buttonów Ustawiamy na 121.
* Właściwość Height, oraz Width Buttonu 10 ustawiamy na
25 oraz 365
* Zmiana Caption poszczególnych buttonów.
Button1 > Caption >1
Button2 > Caption >2
Button3 > Caption >3
Button4 > Caption >4
Button5 > Caption >5
Button6 > Caption >6
Button7 > Caption >7
Button8 > Caption >8
Button9 > Caption > [puste]
Button10 > Caption >Losuj
* Dodawanie Funkcji Butonów.
Button1 > OnClick >
//Sprawdza czy Nazwa Caption Buttona 2 jest pusta jeśli tak to zmienia Caption Buttona 2 na Caption Buttona 1 A potem Caption Buttona 1 zmienia na Pusty. I tak Wszędzie robimy w Analogiczny sposób.
if button2.Caption=' ' then
begin
button2.Caption:=button1.Caption;
button1.Caption:=' ';
sprawdzaj;
end else
if button4.Caption=' ' then
begin
button4.Caption:=button1.Caption;
button1.Caption:=' ';
sprawdzaj;
end;
end;
Button2 > OnClick >
if button1.Caption=' ' then
begin
button1.Caption:=button2.Caption;
button2.Caption:=' ';
sprawdzaj;
end else
if button3.Caption=' ' then
begin
button3.Caption:=button2.Caption;
button2.Caption:=' ';
sprawdzaj;
end else
if button5.Caption=' ' then
begin
button5.Caption:=button2.Caption;
button2.Caption:=' ';
sprawdzaj;
end;
end;
Button3 > OnClick >
if button2.Caption=' ' then
begin
button2.Caption:=button3.Caption;
button3.Caption:=' ';
sprawdzaj;
end else
if button6.Caption=' ' then
begin
button6.Caption:=button3.Caption;
button3.Caption:=' ';
sprawdzaj;
end;
end;
Button4 > OnClick >
if button1.Caption=' ' then
begin
button1.Caption:=button4.Caption;
button4.Caption:=' ';
sprawdzaj;
end else
if button5.Caption=' ' then
begin
button5.Caption:=button4.Caption;
button4.Caption:=' ';
sprawdzaj;
end else
if button7.Caption=' ' then
begin
button7.Caption:=button4.Caption;
button4.Caption:=' ';
sprawdzaj;
end;
end;
Button5 > OnClick >
if button2.Caption=' ' then
begin
button2.Caption:=button5.Caption;
button5.Caption:=' ';
sprawdzaj;
end else
if button4.Caption=' ' then
begin
button4.Caption:=button5.Caption;
button5.Caption:=' ';
sprawdzaj;
end else
if button6.Caption=' ' then
begin
button6.Caption:=button5.Caption;
button5.Caption:=' ';
sprawdzaj;
end else
if button8.Caption=' ' then
begin
button8.Caption:=button5.Caption;
button5.Caption:=' ';
sprawdzaj;
end;
end;
Button6 > OnClick >
if button3.Caption=' ' then
begin
button3.Caption:=button6.Caption;
button6.Caption:=' ';
sprawdzaj;
end else
if button5.Caption=' ' then
begin
button5.Caption:=button6.Caption;
button6.Caption:=' ';
sprawdzaj;
end else
if button9.Caption=' ' then
begin
button9.Caption:=button6.Caption;
button6.Caption:=' ';
sprawdzaj;
end;
end;
Button7 > OnClick >
if button4.Caption=' ' then
begin
button4.Caption:=button7.Caption;
button7.Caption:=' ';
sprawdzaj;
end else
if button8.Caption=' ' then
begin
button8.Caption:=button7.Caption;
button7.Caption:=' ';
sprawdzaj;
end;
end;
Button8 > OnClick >
if button7.Caption=' ' then
begin
button7.Caption:=button8.Caption;
button8.Caption:=' ';
sprawdzaj;
end else
if button5.Caption=' ' then
begin
button5.Caption:=button8.Caption;
button8.Caption:=' ';
sprawdzaj;
end else
if button9.Caption=' ' then
begin
button9.Caption:=button8.Caption;
button8.Caption:=' ';
sprawdzaj;
end;
end;
Button9 > OnClick >
if button6.Caption=' ' then
begin
button6.Caption:=button9.Caption;
button9.Caption:=' ';
sprawdzaj;
end else
if button8.Caption=' ' then
begin
button8.Caption:=button9.Caption;
button9.Caption:=' ';
sprawdzaj;
end;
end;
Button10 > OnClick >
var
//Przypisuje Zmienną.
i:integer;
begin
//zmienia Właściwości Enabled Buttonów na True.
button1.Enabled:=true;
button2.Enabled:=true;
button3.Enabled:=true;
button4.Enabled:=true;
button5.Enabled:=true;
button6.Enabled:=true;
button7.Enabled:=true;
button8.Enabled:=true;
button9.Enabled:=true;
gra:=false;
stoper:=0;
//Funkcja Losowania
randomize;
for i:=1 to 10000 do
case random(10)+1 of
1:button1click(sender);
2:button2click(sender);
3:button3click(sender);
4:button4click(sender);
5:button5click(sender);
6:button6click(sender);
7:button7click(sender);
8:button8click(sender);
9:button9click(sender);
end;
licznik:=-1;
Funkcja Sprawdzająca.
sprawdzaj;
gra:=true;
end;
6. Dodawanie Zmiennych Do Programu.
*Nad Sekcją implementation w Sekcji Var dopisujemy:
licznik,stoper:longint;
gra:boolean;
7. Funkcje Timera.
Klikamy 2 razy na komponent Timer1 i W OnClick Dajemy kod:
label1.Caption:='Czas '+inttostr(stoper div 60)+':'+inttostr(stoper mod 60);
if gra then inc(stoper);
8. Właściwośći Buttonów.
*Od Buttona 1 do Buttona 2 właściwości Enabled ustawiamy na False.
9. Cały Kod Gry:
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, jpeg;
type
TForm6 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Timer1: TTimer;
Image1: TImage;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
procedure sprawdzaj;
public
{ Public declarations }
end;
var
Form6: TForm6;
licznik,stoper:longint;
gra:boolean;
implementation
{$R *.dfm}
procedure TForm6.sprawdzaj;
begin
inc(licznik);
label2.Caption:='Ruchy '+inttostr(licznik);
if gra then
if button1.Caption='1' then
if button2.Caption='2' then
if button3.Caption='3' then
if button4.Caption='4' then
if button5.Caption='5' then
if button6.Caption='6' then
if button7.Caption='7' then
if button8.Caption='8' then
if button9.Caption=' ' then
begin
gra:=false;
ShowMessage('Gratuluję udało Ci się ułożyć');
end;
end;
procedure TForm6.Timer1Timer(Sender: TObject);
begin
label1.Caption:='Czas '+inttostr(stoper div 60)+':'+inttostr(stoper mod 60);
if gra then inc(stoper);
end;
procedure TForm6.Button1Click(Sender: TObject);
begin
if button2.Caption=' ' then
begin
button2.Caption:=button1.Caption;
button1.Caption:=' ';
sprawdzaj;
end else
if button4.Caption=' ' then
begin
button4.Caption:=button1.Caption;
button1.Caption:=' ';
sprawdzaj;
end;
end;
procedure TForm6.Button2Click(Sender: TObject);
begin
if button1.Caption=' ' then
begin
button1.Caption:=button2.Caption;
button2.Caption:=' ';
sprawdzaj;
end else
if button3.Caption=' ' then
begin
button3.Caption:=button2.Caption;
button2.Caption:=' ';
sprawdzaj;
end else
if button5.Caption=' ' then
begin
button5.Caption:=button2.Caption;
button2.Caption:=' ';
sprawdzaj;
end;
end;
procedure TForm6.Button3Click(Sender: TObject);
begin
if button2.Caption=' ' then
begin
button2.Caption:=button3.Caption;
button3.Caption:=' ';
sprawdzaj;
end else
if button6.Caption=' ' then
begin
button6.Caption:=button3.Caption;
button3.Caption:=' ';
sprawdzaj;
end;
end;
procedure TForm6.Button4Click(Sender: TObject);
begin
if button1.Caption=' ' then
begin
button1.Caption:=button4.Caption;
button4.Caption:=' ';
sprawdzaj;
end else
if button5.Caption=' ' then
begin
button5.Caption:=button4.Caption;
button4.Caption:=' ';
sprawdzaj;
end else
if button7.Caption=' ' then
begin
button7.Caption:=button4.Caption;
button4.Caption:=' ';
sprawdzaj;
end;
end;
procedure TForm6.Button5Click(Sender: TObject);
begin
if button2.Caption=' ' then
begin
button2.Caption:=button5.Caption;
button5.Caption:=' ';
sprawdzaj;
end else
if button4.Caption=' ' then
begin
button4.Caption:=button5.Caption;
button5.Caption:=' ';
sprawdzaj;
end else
if button6.Caption=' ' then
begin
button6.Caption:=button5.Caption;
button5.Caption:=' ';
sprawdzaj;
end else
if button8.Caption=' ' then
begin
button8.Caption:=button5.Caption;
button5.Caption:=' ';
sprawdzaj;
end;
end;
procedure TForm6.Button6Click(Sender: TObject);
begin
if button3.Caption=' ' then
begin
button3.Caption:=button6.Caption;
button6.Caption:=' ';
sprawdzaj;
end else
if button5.Caption=' ' then
begin
button5.Caption:=button6.Caption;
button6.Caption:=' ';
sprawdzaj;
end else
if button9.Caption=' ' then
begin
button9.Caption:=button6.Caption;
button6.Caption:=' ';
sprawdzaj;
end;
end;
procedure TForm6.Button7Click(Sender: TObject);
begin
if button4.Caption=' ' then
begin
button4.Caption:=button7.Caption;
button7.Caption:=' ';
sprawdzaj;
end else
if button8.Caption=' ' then
begin
button8.Caption:=button7.Caption;
button7.Caption:=' ';
sprawdzaj;
end;
end;
procedure TForm6.Button8Click(Sender: TObject);
begin
if button7.Caption=' ' then
begin
button7.Caption:=button8.Caption;
button8.Caption:=' ';
sprawdzaj;
end else
if button5.Caption=' ' then
begin
button5.Caption:=button8.Caption;
button8.Caption:=' ';
sprawdzaj;
end else
if button9.Caption=' ' then
begin
button9.Caption:=button8.Caption;
button8.Caption:=' ';
sprawdzaj;
end;
end;
procedure TForm6.Button9Click(Sender: TObject);
begin
if button6.Caption=' ' then
begin
button6.Caption:=button9.Caption;
button9.Caption:=' ';
sprawdzaj;
end else
if button8.Caption=' ' then
begin
button8.Caption:=button9.Caption;
button9.Caption:=' ';
sprawdzaj;
end;
end;
procedure TForm6.Button10Click(Sender: TObject);
var
i:integer;
begin
button1.Enabled:=true;
button2.Enabled:=true;
button3.Enabled:=true;
button4.Enabled:=true;
button5.Enabled:=true;
button6.Enabled:=true;
button7.Enabled:=true;
button8.Enabled:=true;
button9.Enabled:=true;
gra:=false;
stoper:=0;
randomize;
for i:=1 to 10000 do
case random(10)+1 of
1:button1click(sender);
2:button2click(sender);
3:button3click(sender);
4:button4click(sender);
5:button5click(sender);
6:button6click(sender);
7:button7click(sender);
8:button8click(sender);
9:button9click(sender);
end;
licznik:=-1;
sprawdzaj;
gra:=true;
end;
procedure TForm6.FormClose(Sender: TObject; var Action: TCloseAction);
begin
gra:=false;
label1.Caption:='Czas 0:0';
label2.Caption:='Ruchy 0';
timer1.Enabled:=false;
button1.Enabled:=false;
button2.Enabled:=false;
button3.Enabled:=false;
button4.Enabled:=false;
button5.Enabled:=false;
button6.Enabled:=false;
button7.Enabled:=false;
button8.Enabled:=false;
button9.Enabled:=false;
end;
e