Secara umum game adalah suatu program permainan berbasis komputer yang dibuat melalui suatu program bahasa pemograman. Dalam hal ini bahasa pemograman yang dipakai adalah Delphi.
DESAIN PROGRAM
Tampilan program :
LISTING PROGRAM
var
Form1: TForm1;
Overlay : TRect;
implementation
{$R *.dfm}
procedure
TForm1.btnMainClick(Sender: TObject);
begin
btnMain.Font.Size := 12;
btnMain.Caption := 'MAIN LAGI?';
btnMain.Enabled := false;
panel1.Enabled := true;
telurTime.Enabled := true;
waktuTime.Enabled := true;
kotak.Visible := true;
telur.Visible := true;
panel1.Caption := '';
telur.Top := 0;
lbl60.Caption := '60';
lbl60.Tag := 60;
lbl0.Caption := '0';
lbl0.Tag := 0;
end;
procedure TForm1.telurTimeTimer(Sender:
TObject);
begin
telur.Visible := true;
telur.Top := telur.Top+15;
if telur.Top > panel1.Height then
begin
telur.Top := 0;
telur.Left := random(panel1.Width);
end;
if intersectRect(Overlay, telur.BoundsRect,
kotak.BoundsRect) then
begin
telur.Visible := false;
telur.Top := 0;
telur.Left := random(panel1.Width);
lbl0.Tag := lbl0.Tag +1;
lbl0.Caption := inttostr(lbl0.Tag);
end;
end;
procedure
TForm1.useMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
kotak.Left := X- kotak.Width div 2;
panel1.Cursor := crNone;
end;
procedure
TForm1.waktuTimeTimer(Sender: TObject);
begin
lbl60.Tag:= lbl60.Tag -1;
lbl60.Caption := inttostr(lbl60.Tag);
if lbl60.Tag = 0 then
begin
btnMain.Enabled := true;
waktuTime.Enabled := false;
panel1.Enabled := false;
telurTime.Enabled := false;
kotak.Visible := false;
telur.Visible := false;
panel1.Caption := 'Klik Main Lagi, Jika ingin
main lagi';
end;
end;
end.
LOGIKA
PEMOGRAMAN
1.
MEMBUAT
TAMPILAN PROGRAM
Dalam
design tersebut, terdapat :
Timer2 =
Sebagai tempat pengaturan waktu bergeraknya kotak.
Image2 =
Sebagai pemuncul gambar kotak
Label1 = Sebagai pemberi nama inputan pada
“Waktu”
Label2 =
Sebagai pemberi nama inputan pada “Skor”
Label3 =
Sebagai pemberi nama inputan pada “60”
Label4 =
Sebagai pemberi nama inputan pada “0”
Label5 =
Sebagai pemberi nama inputan pada “Detik”
1.
PENGATURAN
PROPERTIES DI SETIAP KOMPONEN
Setelah itu double klik pada Buttton Main!!
lalu masukkan kode program:
procedure TForm1.btnMainClick(Sender: TObject);
begin
btnMain.Font.Size :=
12;
btnMain.Caption :=
'MAIN LAGI?';
btnMain.Enabled :=
false;
panel1.Enabled :=
true;
telurTime.Enabled :=
true;
waktuTime.Enabled :=
true;
kotak.Visible :=
true;
telur.Visible :=
true;
panel1.Caption := '';
telur.Top := 0;
lbl60.Caption :=
'60';
lbl60.Tag := 60;
lbl0.Caption := '0';
lbl0.Tag := 0;
end;
Klik close untuk mengembalikan tampilan
pada form. Setelah itu double klik lagi pada Button Timer1 lalu masukkan kode
program :
procedure
TForm1.telurTimeTimer(Sender: TObject);
begin
telur.Visible := true;
telur.Top := telur.Top+15;
if telur.Top > panel1.Height then
begin
telur.Top := 0;
telur.Left := random(panel1.Width);
end;
if intersectRect(Overlay, telur.BoundsRect,
kotak.BoundsRect) then
begin
telur.Visible := false;
telur.Top := 0;
telur.Left := random(panel1.Width);
lbl0.Tag := lbl0.Tag +1;
lbl0.Caption := inttostr(lbl0.Tag);
end;
end;
Klik close untuk mengembalikan tampilan
pada form. Setelah itu double klik lagi pada Timer2 lalu masukkan kode program
:
procedure
TForm1.waktuTimeTimer(Sender: TObject);
begin
lbl60.Tag:= lbl60.Tag -1;
lbl60.Caption := inttostr(lbl60.Tag);
if lbl60.Tag = 0 then
begin
btnMain.Enabled := true;
waktuTime.Enabled := false;
panel1.Enabled := false;
telurTime.Enabled := false;
kotak.Visible := false;
telur.Visible := false;
panel1.Caption := 'Klik Main Lagi, Jika
ingin main lagi';
end;
end;
Klik close untuk mengembalikan tampilan
pada form. Scroll kodingan ke atas sampa menemukan deklarasi var, lalu masukkan
kode program :
var
Form1: TForm1;
Overlay : TRect;
Klik close untuk mengembalikan tampilan
pada form. Klik Panel1 masuk ke Object Inspector bagian Event, pada OnMouseMove
ketik useMove
Lalu masukkan kode program :
procedure
TForm1.useMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
kotak.Left := X- kotak.Width div 2;
panel1.Cursor := crNone;
end;
PENJELASAN KODE PROGRAM :
1.
btnMain.Font.Size := 12;
Kode program tersebut mengubah ukuran huruf btnMain( button
Main!!) menjadi 12.
2. btnMain.Caption := 'MAIN LAGI?';
Kode program tersebut mengubah caption(keterangan
button) btnMain( button Main!!) menjadi MAIN
LAGI?
3. btnMain.Enabled := false;
Kode program tersebut menonaktifkan fungsi btnMain.
4. panel1.Enabled := true;
Kode program tersebut mengaktifkan
fungsi panel1.
5. telurTime.Enabled := true;
Kode program tersebut
mengaktifkan fungsi telurTime.
6. waktuTime.Enabled := true;
Kode program tersebut
mengaktifkan fungsi waktuTime.
7. kotak.Visible := true;
Kode program tersebut menampilkan gambar kotak agar tampak
atau jelas.
8. telur.Visible := true;
Kode program tersebut menampilkan gambar telur agar tampak
atau jelas.
9. panel1.Caption := '';
Kode program tersebut mengubah caption(keterangan panel) pada
panel1 menjadi ‘’ atau kosong.
10. telur.Top
:= 0;
Kode program tersebut mengatur
posisi gambar telur pada batas atas 0px.
11. lbl60.Caption
:= '60';
Kode program tersebut mengubah caption(keterangan label) pada
lbl60 menjadi 60.
12. lbl60.Tag
:= 60;
Kode program tersebut mengatur jumlah angka yang akan dipakai
sebagai lama wkatu permainan.
13. lbl0.Caption
:= '0';
Kode program tersebut mengubah caption(keterangan label) pada
lbl0 menjadi 0.
14. lbl0.Tag := 0;
Kode program tersebut mengatur lama waktu permainan selesai
pada nilai 0.
15. telur.Visible
:= true;
Kode program tersebut mengaktifkan fungsi telur.
16. telur.Top
:= telur.Top+15;
Kode program tersebut mengatur kecepatan gambar telur yang
jatuh.
17. if telur.Top > panel1.Height then
begin
telur.Top := 0;
telur.Left :=
random(panel1.Width);
end;
Kode program memberikan eksekusi saat posisi ketinggian
gambar telur lebih besar dari panjang panel1 maka posisi telur dikembalikan
pada 0px lalu gambar telur bergarak acak ke kiri selebar ukuran panel1.
18. telur.Visible := true;
Kode program tersebut mengaktifkan fungsi telur.
19. if intersectRect(Overlay, telur.BoundsRect,
kotak.BoundsRect) then
begin
telur.Visible :=
false;
telur.Top := 0;
telur.Left :=
random(panel1.Width);
lbl0.Tag :=
lbl0.Tag +1;
lbl0.Caption :=
inttostr(lbl0.Tag);
Kode program tersebut memberikan eksekusi saat gambar telur
dan kotak bertemu/berpotongan maka gambar telur akan tidak nampak , posisi
gambar telur dikembalikan ke 0px, gambar teluar bergerak acak ke arah kiri
selebar panel1, tampilan angka pada lbl0
bertambah satu, dan caption pada lbl0 nilai variabelnya diubah menjadi string.
20. lbl60.Tag:= lbl60.Tag -1;
Kode program tersebut menampilkan angka pada lbl60 berkurang
satu terus-menerus.
21. lbl60.Caption := inttostr(lbl60.Tag);
Kode program tersebut merubah nilai pada caption variabel
lbl60 menjadi string.
22. if lbl60.Tag = 0 then
begin
btnMain.Enabled :=
true;
waktuTime.Enabled
:= false;
panel1.Enabled :=
false;
telurTime.Enabled
:= false;
kotak.Visible :=
false;
telur.Visible :=
false;
panel1.Caption :=
'Klik Main Lagi, Jika ingin main lagi';
Kode program tersebut memberikan eksekusi saat lbl60 bernilai
nol maka fungsi btnMain diaktifkan. Sedangkan fungsi wakuTime-panel1-telurTime
tidak diaktifkan, gambar kotak dan telur tidak ditampakkan, pada panel1 akan
menampilan informasi 'Klik Main Lagi,
Jika ingin main lagi'.
23. Overlay : TRect;
Kode program tersebut menambahkan efek TRect pada program.
Kode program tersebut mengatur gambar kotak yang bergerak ke kiri berakhir pada
lebar gambarkotak dibagi dua (saat gambar kotak terus digeser ke kiri atau
kanan sampai melebihi garis panel maka kemunculan gambar kotak sampai
setengahnya karena dibagi2).
25. panel1.Cursor := crNone;
Kode program tersebut menampilka saat gambar kotak digerakkan
bentuk mouse tidak berubah(dalam keadaan default) kursor user.
OUTPUT
Tampilan Form saat Run.
Tampilan Form saat Run.
0 komentar:
Posting Komentar