Forum » Programiranje » Delphi - izdelava igre
Delphi - izdelava igre
d4vid ::
Pozdravljeni!
V šoli smo dobili nalogo, da moramo naredit preprosto igro, kjer pritiskaš na gumb, ki naključno skače po oknu. Imaš minuto časa, igra pa se predhodno konča če 3x zaporedoma ne klikneš/zgrešiš gumb. Igro sem že skoraj dokončal, ampak ne znam naredit, da se igra konča, če 3x zgrešiš/ne klikneš gumb-a. Ima kdo kakšno idejo? Igro delam v lazarusu.
Hvala za odgovore.
V šoli smo dobili nalogo, da moramo naredit preprosto igro, kjer pritiskaš na gumb, ki naključno skače po oknu. Imaš minuto časa, igra pa se predhodno konča če 3x zaporedoma ne klikneš/zgrešiš gumb. Igro sem že skoraj dokončal, ampak ne znam naredit, da se igra konča, če 3x zgrešiš/ne klikneš gumb-a. Ima kdo kakšno idejo? Igro delam v lazarusu.
Hvala za odgovore.
technolog ::
Daš OnClick event na window in šteješ, če imaš dva klika, potem spremeniš formo, da prikaže rezultate.
blackbfm ::
1. definiraš globalno spremenljivko, vrineš med 'var' in 'implementation' tole:
kliki: integer;
2. Formi naštimaš OnClick event:
inc(kliki);
if kliki = 2 then showmessage('konec');
Nekaj takega
kliki: integer;
2. Formi naštimaš OnClick event:
inc(kliki);
if kliki = 2 then showmessage('konec');
Nekaj takega
MrBrdo ::
Pa če maš timer pol ga ustavi. Za štetje če 3x zgrešiš bi pa jaz tako naredil, da imaš 2 spremenljivki, eno povečaš vsakič ko zamenjaš pozicijo gumba, eno pa vsakič ko uporabnik klikne gumb. Če je razlika med njima več kot 3, potem je game over. Edino kar moraš pazit, da uporabnik ne more 2x kliknit na gumb preden zamenja pozicijo, to bi lahko dosegel z še eno spremenljivko "lastClicked", kamor shraniš tisti prvi števec (ki ga povečuješ vsakič ko zamenjaš pozicijo gumba), če je lastClicked že enak trenutnem številu potem ne povečaš števila klikov. Upam da štekaš. Naredit se da na veliko načinov.
MrBrdo
dronyx ::
Igro sem že skoraj dokončal, ampak ne znam naredit, da se igra konča, če 3x zgrešiš/ne klikneš gumb-a. Ima kdo kakšno idejo?
Imam še vedno na PC nameščen stari dobri Delphi 6 in sem šel preverit, kako se proži onclick dogodek. Ko klikneš na gumb, se ne sproži onclick na formi, kar olajša zadevo, saj samo šteješ onclick dogodke na formi z globalno spremenljivko, kot je nekdo zgoraj napisal. Konec igre je pa ko se proži ontimer dogodek in je čas potekel, ali pa je vrednost globalne spremenljivke tri (preveriš vsakič, ko se onclick na formi sproži).
Zgodovina sprememb…
- spremenil: dronyx ()
Nextor ::
Na brzino...
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; i, o:Integer; implementation {$R *.dfm} procedure TForm1.FormClick(Sender: TObject); begin inc(o); end; procedure TForm1.FormCreate(Sender: TObject); begin i:=0; o:=0; Timer1.Enabled:=true; end; procedure TForm1.Timer1Timer(Sender: TObject); begin inc(i); if (i >= 60) or (o >= 3) then begin Timer1.Enabled:=false; MessageBox(0, PChar('Konec igre!'), 'Igra?!', MB_ICONWARNING + MB_ICONERROR); end else begin Button1.Left:=Random(Form1.Width) - Button1.Width; Button1.Top:=Random(Form1.Height) - Button1.Height; end; end; end.
Zgodovina sprememb…
- spremenilo: Nextor ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [Delphi] Simpl vprašanja ko pasulj :)Oddelek: Programiranje | 1504 (1353) | oldguy |
» | Delphi - kako prepreči prečiti več zaporednih klikov gumbaOddelek: Programiranje | 1138 (1061) | LoneWolf |
» | Dodajanje ukazov v menije (OpenDialog1, SaveDialog1)Oddelek: Programiranje | 988 (881) | CHAOS |
» | Delphi problem- MessageDlgOddelek: Programiranje | 928 (858) | c3R4R |
» | Delphi problem- zapiranje programaOddelek: Programiranje | 1163 (1109) | c3R4R |