Select Page

Belajar membuat game menggunakan Lazarus Free Pascal (LFP) – Permainan lempar dadu menjadi program game pertama saya menggunakan Lazarus Pascal. Idenya adalah mensimulasikan lemparan dadu yang akan memberikan angka secara acak. Ada dua dadu yang disediakan untuk menambah seru permainan lempar dadu.

Aplikasi permainan lempar dadu bisa diunduh disini.

Komponen yang perlu diberikan adalah

  • TImage
  • TButton
  • TTimer
  • Unit MMSystem untuk memainkan efek suara lemparan dadu.

Langkah awal, menyiapkan gambar enam dadu. Pastikan nama file mengandung angka urut untuk memudahkan pemanggilan dan disimpan dalam array DiceImages: array[1..6] of TPicture. Kita cukup menggunakan gambar yang untuk memainkan dua dadu.

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  // Load gambar dadu ke dalam array
  for i := 1 to 6 do
  begin
    DiceImages[i] := TPicture.Create;
    DiceImages[i].LoadFromFile('dice-' + IntToStr(i) + '.png');
  end;
end; 

Dengan menggunakan sintaks Randomize, kita dapat lemparan dadu secara acak.

procedure TForm1.Button2Click(Sender: TObject);
var
  DiceValue: Integer;
begin
  // Throw Dice 2
  Timer1.Enabled:= true;
  // Generate angka dadu acak
  Randomize;
  DiceValue := Random(6) + 1;
  // Play dice sound
  PlaySound('dice-sound.wav', 0, SND_ASYNC or SND_FILENAME);
  // Tampilkan gambar dadu sesuai angka yang dihasilkan
  ImageDice.Picture := DiceImages[DiceValue];
end;   

Penggunan Timer1 bertujuan menunda pelemparan dadu ke-2 sehingga pemain menanti was-was angka berikutnya yang muncul.

procedure TForm1.Timer1Timer(Sender: TObject);
var
DiceValue: Integer;
begin
  Randomize;
  DiceValue := Random(6) + 1;
  // Tampilkan gambar dadu sesuai angka yang dihasilkan
  ImageDice2.Picture := DiceImages[DiceValue];
  Timer1.Enabled:= false;
end;  

Jangan lupa menghapus gambar dari memori jika permainan lempar dadu ditutup

procedure TForm1.FormDestroy(Sender: TObject);
var
  i: Integer;
begin
  // Hapus gambar dadu dari array
  for i := 1 to 6 do
    DiceImages[i].Free;
end; 

Selamat mencoba.

Baik gambar maupun suara yang digunakan memiliki copyright yang menjadi milik pemiliknya.