Egg Catcher Game


Egg Catcher Game


Listing Program
unit game;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, jpeg;

type
  TForm1 = class(TForm)
    btnMain: TButton;
    Panel1: TPanel;
    Telur: TImage;
    Kotak: TImage;
    lblWaktu: TLabel;
    lblSkor: TLabel;
    Lbl60: TLabel;
    lblDetik: TLabel;
    Lbl0: TLabel;
    TelurTime: TTimer;
    waktuTime: TTimer;
    procedure btnMainClick(Sender: TObject);
    procedure TelurTimeTimer(Sender: TObject);
    procedure waktuTimeTimer(Sender: TObject);
    procedure useMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

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.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 := 'Click the Play Again Button to Play Again the Game';
    end;
end;

procedure TForm1.useMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  kotak.Left := X - kotak.Width div 5;
  panel1.Cursor := crHelp;
end;

end.





Logika Program

1.    Membuka Aplikasi Borland Delphi

2.    Setelah jendela Borland Delphi terbuka, klik File lalu klik save all dan mengisi nama project yang akan dibuat

3.    Membuat Form1 dengan berisikan:
·         1 Button
·         1 Panel
·         2 Image
·         5 Label
·         2 Timer

Menyusun seperti gambar dibawah:

Untuk menyisipkan gambar, klik Additional lalu klik image, setelah itu masukkan image ke panel, pada image properties dibagian picture klik “...” lalu klik load dan pilih gambar yang akan dimasukkan.


Klik OK.

Control
Properties
Setting
Form1
BorderStyle
BsSingle

Caption
Tangkap Telur

Position
poDekstopCenter
Button1
Caption
PLAY

Name
btnMain
Panel1
bevelInner
byLowered

bevelOuter
byLowered

Caption
Click the Play Button to Start the Game

Enabled
False
Image1
Name
Telur

Strecth
True

Transparent
True

Visible
False
Image2
Enabled
False

Name
Kotak

Strecth
True

Transparent
True

Visible
False
Label1
Name
lblWaktu

Transparent
True
Label2
Name
lblSkor

Transparent
True
Label3
Name
Lbl60

Transparent
True
Label4
Name
LblDetik

Transparent
True
Label5
Name
Lbl0

Transparent
True
Timer1
Name
telurTime

Enabled
False

Interval
50
Timer2
Name
waktuTime

Enabled
False


4.    Pada bagian var isikan kode program dibawah:


·         Pejelasan kode program:

Var
Form1: TForm1;
Overlay: TRect;
Kode program diatas merupakan pendeklarasian variable Overlay

5.    Klik 2 kali pada button1 – btnMain, lalu memasukkan kode program dibawah:


·         Penjelasan kode Program:

procedure TForm1.btnMainClick(Sender: TObject);
Kode program diatas menunjukkan bila btnMain dengan caption “PLAY” di klik maka program akan berjalan

begin
begin, menunjukkan untuk memulai kode program

btnMain.Font.Size := 12;
Kode program diatas menunjukkan agar ukuran huruf pada button1 atau btnMain sebesar 12

btnMain.Caption := 'PLAY AGAIN?';
Kode program diatas menunjukkan untuk merubah caption pada btnMain yang sebelumnya adalah “PLAY” menjadi “PLAY AGAIN?”

btnMain.Enabled := false;
Kode program diatas menunjukkan pada button btnMain dengan caption “PLAY AGAIN?” tidak bisa diklik atau tidak aktif

panel1.Enabled := true;
Kode program diatas menunjukkan untuk mengaktifkan panel1

telurTime.Enabled := true;
Kode program diatas menunjukkan mengaktifkan timer1 atau telurTime agar dapat berjalan

waktuTime.Enabled := true;
Kode program diatas menunjukkan mengaktifkan timer2 atau waktuTime agar dapat berjalan

kotak.Visible := true;
Kode program diatas menunjukkan untuk menampilkan gambar image2/kotak

telur.Visible := true;
Kode program diatas menunjukkan untuk menampilkan gambar image1/telur

panel1.Caption := '';
Kode program diatas menunjukkan untuk menghilangkan caption pada panel1

lbl60.Caption := '60';
Kode program diatas menunjukkan agar caption lbl60 adalah 60

lbl60.Tag := 60;
Kode program diatas menunjukan lbl60 dimulai dari 60

lbl0.Caption := '0';
Kode program diatas menunjukkan agar caption lbl0 adalah 0

lbl0.Tag := 0;
Kode program diatas menunjukan lbl0 dimulai dari 0

end;
Menunjukkan akhir dari kode program di button1

6.    Klik pada 2 kali pada Timer1 – telurTime, dan memasukkan kode program dibawah:

·         Penjelasan kode program

procedure TForm1.TelurTimeTimer(Sender: TObject);
Kode program diatas menunjukkan untuk memulai timer1 atau TelurTime

begin
begin, menunjukkan untuk memulai kode program

telur.Visible := true;
Kode program diatas menunjukkan untuk menampilkan gambar image1/telur

telur.Top := telur.Top + 15;
Kode program diatas menunjukkan telur.Top yang menjadikan telur bergerak mulai dari posisi atas

if telur.Top > panel1.Height then
begin
Kode program diatas merupakan struktur percabangan if

telur.Top := 0;
telur.Left := random(panel1.Width);
Kode program diatas menunjukkan telur akan bergerak secara acak dari posisi atas didaerah panel1

end;
mengakhiri percabangan if

if intersectRect(Overlay, telur.BoundsRect, kotak.BoundsRect) then
begin
Kode program diatas merupakan struktur percabangan if

telur.Visible := false;
Kode program diatas menunjukkan untuk tidak menampilkan gambar image1/telur

telur.Top := 0;
telur.Left := random(panel1.Width);
Kode program diatas menunjukkan telur akan bergerak secara acak dari posisi atas didaerah panel1

lbl0.Tag := lbl0.Tag + 1;
Kode program diatas menunjukkan pada lbl0 agar ditambah satu untuk setiap telur yang masuk kedalam kotak

lbl0.Caption := inttostr(lbl0.Tag);
Kode program diatas menunjukkan lbl0 yang dirubah dari integer menjadi string

end; end;
Mengakhiri kode program pada telurTime

7.    Klik pada 2 kali pada Timer2 – waktuTime, dan memasukkan kode program dibawah:

·         Penjelasan kode program:
procedure TForm1.waktuTimeTimer(Sender: TObject);
Kode program diatas menunjukkan memulai timer2 atau waktuTime

begin
Menunjukkan untuk memulai kode program

lbl60.Tag:= lbl60.Tag - 1;
            Kode program diatas menunjukkan agar lbl60 dikurang 1, sehingga waktu pada game akan dikurang 1 lbl60 sama dengan 0.

lbl60.Caption := inttostr(lbl60.Tag);
Kode program diatas menunjukkan lbl60 dirubah dari integer ke string

if lbl60.Tag = 0 then
Kode program diatas merupakan percabangan untuk lbl60 sama dengan 0

begin
Memulai percabangan

btnMain.Enabled := true;
Kode program diatas menunjukkan pada button btnMain bisa diklik atau  aktif

waktuTime.Enabled := false;
Kode program diatas menunjukkan untuk tidak mengaktifkan timer2 atau waktuTime

panel1.Enabled := false;
Kode program diatas menunjukkan agar panel1 tidak aktif

telurTime.Enabled := false;
Kode program diatas menunjukkan untuk tidak mengaktifkan timer1 atau telurTime

kotak.Visible := false;
Kode program diatas menunjukkan agar tidak menampilkan gambar image2/kotak

telur.Visible := false;
Kode program diatas menunjukkan agar tidak menampilkan gambar image1/telur

panel1.Caption := 'Click the Play Again Button to Play Again the Game';
Kode program diatas menunjukkan untuk menampilkan caption ‘Click the Play Again Button to Play Again the Game’

end;
Untuk mengakhiri kode program

8.    Lalu, klik Panel1 dan klik Events, mengetikkan useMove pada OnMouseMove, dan memasukkan kode program dibawah:


·         Penjelasan kode program:

procedure TForm1.useMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
memulai program

kotak.Left := X - kotak.Width div 5;
panel1.Cursor := crHelp;
Kode program diatas menunjukkan agar kotak bisa digerakan searah vertikal untuk menangkap telur yang jatuh, serta bentuk kursor pada saat game dimainkan menjadi bentuk cursor help dengan ada simbol tanda tanya di kursornya

end;
Mengakhiri kode program

end.
Mengakhiri program secara keseluruhan

9.    Menyimpan program kembali, dan menjalankan program




Output

1.    Tampilan awal program saat dijalankan

2.    Saat klik button Main maka game akan mulai


3.    Tampilan saat game berakhir




0 komentar:

Posting Komentar

Write here, about you and your blog.
 
Copyright 2009 Siti Evi N All rights reserved.
Free Blogger Templates by DeluxeTemplates.net
Wordpress Theme by EZwpthemes
Blogger Templates