
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.