Posted by : Unknown Kamis, 21 Maret 2013

Tutorial Membuat Game spongbob Vs Plankton Delphi 7

Game Spongbob Vs Plankton
Game  ini bercerita tentang spongbob dan plankton sedang berrebut burger dan musuh spongbob tidak hanya plankton tp juga ubur2 yang mgnejar spongbob,,,
skrang saya akan memposting cara membuat game tersebut.. . . . .. 

syaratya anda harus memiliki aplikasi delphi boleh versi 6 atau versi 7,,
Mulai dengan open new from
buat desain from sebagai berikut
kalau sudah membuat desain lalu kita memberi nama pada setip gambar
spongbob = image,name=spongbob
 plankton  = image,name=plankton
ubur1       = image,name=mungsuh
ubur2       = image,name=musuh2
burger      =image,name=point
kotak putih pada tanah adalah image =image,tanah
speedbutton      =sbatas,sbbawah,sbkanan,sbkiri

dibawah waktu tambah label dengan nama ldljam
dibawah bob tambah label dengan nama skorbob
dibawah plankton tambah label dengan nama sekorplankton

tambah variabel:
var
  Form1: TForm1;
   lima : Integer;
   lemah : Integer;
   vskorbob,vsekorplankton : Integer;
   menit , detik : Integer ;
   jamawal , jamakhir , ketpemenang : String ;

dan tambah kode from-> even -> OnCreate masukan kode

procedure TForm1.FormCreate(Sender: TObject);
begin
lima:= 10;
lemah:= 5;
vskorbob:= 0;
vskorbob:= 0;
menit:= 5;
detik:= 0;
ketpemenang:=TimeToStr(Now);
end
;


untuk menggerakan spongbob kearah atas
klik2x pada sbatas dan masukan kode 

procedure TForm1.sbatasClick(Sender: TObject);
begin
if spongbob.Top>=125 then
begin
       spongbob.Top:=spongbob.Top-10 ;
end
end;

untuk menggerakan spongbob kebawah atas
klik2x pada sbbawah dan masukan kode

procedure TForm1.sbbawahClick(Sender: TObject);
begin
if spongbob.Top+spongbob.Height<=Panel1.Height then
begin
      spongbob.Top:=spongbob.Top+10 ;
end
end;

untuk menggerakan spongbob kekanan atas
klik2x pada sbkanan dan masukan kode

procedure TForm1.sbkananClick(Sender: TObject);
begin
if spongbob.Left+spongbob.Width < Panel1.Width   then
 begin
    spongbob.Left:=spongbob.Left+10 ;
 end
end;
untuk menggerakan spongbob kekiri atas
klik2x pada sbkiri dan masukan kode
 
procedure TForm1.sbkiriClick(Sender: TObject);
begin

  if spongbob.Left >= Panel1.Left  then
  begin
       spongbob.Left:=spongbob.Left-10 ;
  end
end;

Untuk dapat menggerakan spongbob dengan keyboard pada from -> Even->OnKeyDown klik2x
lalu masukan kode

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if Key=VK_left then
        begin
                sbkiriClick(Owner);
        end;

        if Key=VK_right then
        begin
                sbkananClick(Owner);
        end;
        if Key=VK_up then
        begin
                sbatasClick(Owner);
        end;
        if Key=VK_down then
        begin
                sbbawahClick(Owner);
        end;
end;

ubur1 agar bisa bergerak maka pada timer1 klik2x masukan kode

procedure TForm1.Timer1Timer(Sender: TObject);
begin


 mungsuh.Left:=mungsuh.Left+3;
 mungsuh.top:=mungsuh.Top+lima;


 if mungsuh.Left> Panel1.Width then
 begin
      mungsuh.Left:=-100;
 end;

  if mungsuh.Top+mungsuh.Height>Panel1.Height then
    begin
       lima:=-lima;
    end;


 if mungsuh.Top<0 then
     begin
       lima:=-lima;
     end;

   if (spongbob.Left+spongbob.Width>poin.Left) and
      (spongbob.Left<poin.Left+poin.Width)     and
      (spongbob.Top+spongbob.Height>poin.Top) and
      (spongbob.Top<poin.Top+poin.Height) then
   begin

    Randomize;
    poin.Left:=random(Panel1.Width-poin.Height);
    poin.Top:=tanah.top+random(tanah.Height-poin.Height);
    vskorbob:=vskorbob+10;
   end ;


untuk agar ubur2 dapat berjgerak mengejar spongbob maka pada timer2 tmbahkan kode

if musuh2.Left+5>spongbob.Left then
      begin
        musuh2.Left := musuh2.Left-3;
      end
      else
      begin
        musuh2.Left := musuh2.Left+3;
      end;

    if musuh2.Top+musuh2.Height-5>=spongbob.Top then
    begin
      musuh2.Top:=musuh2.Top-2;
    end
    else
    begin
    musuh2.Top:=musuh2.Top+2;
    end;

    if (musuh2.Left+musuh2.Width>spongbob.Left) and
      (musuh2.Left<spongbob.Left+spongbob.Width)     and
      (musuh2.Top+musuh2.Height>spongbob.Top) and
      (musuh2.Top<spongbob.Top+spongbob.Height) then
   begin


    vskorbob:=vskorbob-1;
   end ;


menggerakan plankton pada timer2 tambah kode sbb:

if plankton.Left+5>poin.Left then
      begin
        plankton.Left := plankton.Left-4;
      end
      else
      begin
        plankton.Left := plankton.Left+4;
      end;

    if plankton.Top+plankton.Height-5>=poin.Top then
    begin
      plankton.Top:=plankton.Top-3;
    end
    else
    begin
    plankton.Top:=plankton.Top+3;
    end;

    if (plankton.Left+plankton.Width>poin.Left) and
      (plankton.Left<poin.Left+poin.Width)     and
      (plankton.Top+plankton.Height>poin.Top) and
      (plankton.Top<poin.Top+poin.Height) then
   begin

    Randomize;
    poin.Left:=random(Panel1.Width-poin.Height);
    poin.Top:=tanah.top+random(tanah.Height-poin.Height);
    vsekorplankton:=vsekorplankton+10;
   end ;



Untuk waktu game dan kondisi saat waktu habis pada timer2 tambah kode




jamakhir:=TimeToStr(now);
if jamawal<>jamakhir then
begin
detik:=detik-1;
if detik<0 then
begin
detik:=59;
menit:=menit-1;
end;
end;



if menit<0 then
  begin

    if vskorbob > vsekorplankton then
      begin
        ketpemenang:='Selamat Anda Menang';
      end
      else
      if vskorbob<vsekorplankton then
      begin
        ketpemenang:='Maaf anda kalah..';
      end
      else
      begin
        ketPemenang:='Permainan Seri';
      end;
        Timer1.Enabled:=false;
        Timer2.Enabled:=false;
        MessageDlg(ketpemenang,mtInformation,mbOKCancel,0);
        //running program berhenti
        Application.Terminate;
      end;
        jamawal:=jamakhir;
        ldlJam.Caption:='0'+IntToStr(menit)+':'+
        IntToStr(detik);
    if detik<10 then
      begin
        ldlJam.Caption:='0'+IntToStr(menit)+':'+
        '0'+IntToStr(detik);
      end;


end;





Selamat Mencoba

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Translate

- Copyright © PENGHAYAL - Hatsune Miku - Powered by Blogger - Designed by Johanes Djogan -