// Aturcara ini adalah permainan dadu dimainkan oleh 4 orang pemain.
// Program ini dibangunkan berdasarkan aturcara Java Applet.
import java.awt.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import java.applet.*;
// pengistiharan nama class sebagai DaduApplet
public class DaduApplet extends Applet implements
ActionListener
{
// pengistiharan
objek butang, pemain & pemain 1 – 4.
Button bOK;
String player;
int P1, P2, P3,
P4;
public void init(
)
{
// tambahkan setting layout menggunakan
FlowLayout.CENTER
setLayout(
new FlowLayout( FlowLayout.CENTER ) );
// mencipta objek
butang OK
bOK = new
Button( "Klik disini untuk buat lontaran!" );
add( bOK );
// mendaftar Pendengar Peristiwa ke atas butang
OK apabila diklik
bOK.addActionListener( this );
// tentukan size
frame & bentuk paparan
setSize( 400,
200 );
setVisible(
true );
}
// tentukan bentuk peristiwa dan paparkan output dalam
bentuk grafik
public void
paint( Graphics g )
{
// memaparkan nilai yg dipegang oleh pemain 1 (P1)
// meletakkannya di kedudukan, lajur = 10 dan baris = 80
g.drawString(
"Nilai dadu bagi pemain 1: "
+ String.valueOf( P1 ), 10, 80 );
g.drawString(
"Nilai dadu bagi pemain 2: "
+ String.valueOf( P2 ), 10, 90 );
g.drawString(
"Nilai dadu bagi pemain 3: "
+ String.valueOf( P3 ), 10, 100 );
g.drawString(
"Nilai dadu bagi pemain 4: "
+ String.valueOf( P4 ), 10, 110 );
// paparkan
pemain yang memegang nilai tertinggi
g.drawString(
"Pemain " + player + " mendapat nilai dadu tertinggi", 10,
130 );
}
// tentukan
bagaimana peristiwa itu dikendalikan ke atas Pengendali Peristiwa
public void
actionPerformed( ActionEvent e )
{
// jika butang OK
di klik
if (
e.getSource( ) == bOK )
{
int i =
6;
// mencipta objek nRawak utk menghasilkan 1
nilai nombor secara rawak
Random
nRawak = new Random( );
// umpukkan
nombor yg dihasilkan secara rawak ke atas setiap pemain
// bermula
dengan nilai 1
P1 =
nRawak.nextInt( i + 1 );
P2 =
nRawak.nextInt( i + 1 );
P3 =
nRawak.nextInt( i + 1 );
P4 =
nRawak.nextInt( i + 1 );
// jika terdapat
seorang pemain sahaja yg mendapat nilai tertinggi
// jika pemain 1
(P1) lebih besar
if( ( P1
> P2 ) && ( P1 > P3 ) && ( P1 > P4 ) )
player = "pertama";
// jika pemain 2
(P2) lebih besar
else if( (
P2 > P1 ) && ( P2 > P3 ) && ( P2 > P4 ) )
player = "kedua";
// jika pemain 3
(P3) lebih besar
else if( (
P3 > P1 ) && ( P3 > P2 ) && ( P3 > P4 ) )
player = "ketiga";
// jika pemain 4
(P4) lebih besar
else if( (
P4 > P1 ) && ( P4 > P2 ) && ( P4 > P3 ) )
player = "keempat";
// jika terdapat
2 orang pemain yang mendapat nilai
tertinggi
// jika pemain 1 & 2 (P1 & P2) lebih besar
else if( (
P1 == P2 ) && ( P1 > P3 ) && ( P1 > P4 ) )
player = "pertama & kedua";
// jika pemain 2
& 3 (P2 & P3) lebih besar
else if( (
P2 == P3 ) && ( P2 > P1 ) && ( P2 > P4 ) )
player = "kedua & ketiga";
// jika pemain 3
& 4 (P3 & P4) lebih besar
else if( (
P3 == P4 ) && ( P3 > P1 ) && ( P3 > P2 ) )
player = "ketiga & keempat";
// jika pemain 4
& 1 (P4 & P1) lebih besar
else if( (
P4 == P1 ) && ( P4 > P2 ) && ( P4 > P3 ) )
player = "pertama &
keempat";
// jika pemain 4
& 2 (P4 & P2) lebih besar
else if( (
P4 == P2 ) && ( P4 > P1 ) && ( P4 > P3 ) )
player = "kedua & keempat";
// jika terdapat 3 orang pemain yang mendapat nilai tertinggi
// jika pemain 1,
2 & 3 (P1, P2 & P3) lebih besar
else if( (
P1 == P2 ) && ( P1 == P3 ) && ( P1 > P4 ) )
player = "pertama, kedua &
ketiga";
// jika pemain 2,
3 & 4 (P2, P3 & P4) lebih besar
else if( (
P2 == P3 ) && ( P2 == P4 ) && ( P2 > P1 ) )
player = "kedua, ketiga &
keempat";
// jika pemain 3,
4 & 1 (P3, P4 & P1) lebih besar
else if( (
P3 == P4 ) && ( P3 == P1 ) && ( P3 > P2 ) )
player = "pertama, ketiga &
keempat";
// jika pemain 4,
1 & 2 (P4, P1 & P2) lebih besar
else if( (
P4 == P1 ) && ( P4 == P2 ) && ( P4 > P3 ) )
player = "pertama, kedua &
keempat";
//jika SEMUA pemain dapat nilai yg sama
else
player = "semua";
repaint(
);
}
}
}