Hasil dari Membuat Game Domino
1. Setelah di Running maka akan Tampil di bawah ini lalu isi Nama Pemain ke 1
4. Pemberitahuan Untuk Pemain kedua "Ujang Di kocok Secara Acak"...
5. lalu akan muncul Siapa yang memulainya Yang Pertama yaitu Ujang klik ok,, dan di bawah gambar terlihat tanda Merah itu tampilan kartu masing - masing Peserta.
6. dan Ujang pun memulai permainan Dengan memasukan "Kepala Angka".
7. dan Ujang pun memulai permainan Dengan memasukan "Belakang Angka".
8. dan Yogi pun memulai permainan Dengan memasukan "Kepala Angka" yang sesuai dengan angka yang ujang mainkan.
9. akan ada aksi dari kartu Ujang dalam tanda panah di bawah ini, maka yogi pun harus mengisi aksi tersebut sesuai dengan aksi dari ujang..
10. setelah aksi tersebut telah di eksekusi oleh yogi maka akan muncul tampilan seperti di bawah ini dalam tanda panah..
11. jangan lupa isi aksi sesuai dengan Perintah permainan di papan aksi...
mana target yang akan kita eksekusi dalam artian "kepala angka atau belakang angka" seperti halnya dalam permainan domino sebenarnya..
12. sampe permain nan beres maka nanti akan ada pemebritahuan siapa pemenangnya..
13. dan terakhir,,, game Domino tersebut masih dalam proses pengembangan...
dan di bawah ini adalah Project GUI yang nantinya saya akan kembangkan,, kalo yang di atas namanya Project java Class masih sederhana tapi kalo yang di bawah sudah Berbentuk Grafic User interface..

di bawah adalah codding java..
atau lebih lengkap lagi coddingnya silahkan download disini
Coding :
/*
* To change this
template, choose Tools | Templates
* and open the
template in the editor.
*/
package Domino;
import java.util.*;
import javax.swing.JOptionPane;
class Variables {
static Dice
dice=new Dice (49);
static tiles
tile=new tiles();
static String []
character=new String[3];
static int
charcount=0;
static int
player1[][]=new int[2][49];
static int
player2[][]=new int[2][49];
static int
dicevalue;
static boolean
check;
static boolean checkroll;
static boolean
checkroll1;
static boolean
checkgame=true;
static int
highhead1=0;
static int
highhead2=0;
static int
hightail1=0;
static int
hightail2=0;
static int
interval[][]=new int[2][98];
static int x2=49;
static int y2=49;
static int xx2=49;
static int yy2=49;
static int toplace;
static int
counter1;
static int
counterplayer1;
static int
counterplayer2;
static int temp;
}
class Dice {
Random r =new
Random();
int sides;
//constructor
public Dice(int
s){
sides = s;
}
//roll method
depending on sides up there
public int roll(){
return
r.nextInt(sides);
}
}
class tiles {
static int
headcount=0;
static int tailcount=0;
static int a=0;
static int b=0;
int handler[][]=new
int [2][49];
public void
dominotiles(){
for(int
x=0;x<49;x++){
for(int
y=0; y<2; y++){
if(y==0){
if(headcount==7){
headcount=0;
a=a+1;
}
if(headcount<=6){
handler[y][x]=a;
headcount=headcount+1;
}
}
else {
if(tailcount==7){
tailcount=0;
}
if(tailcount<=6){
handler[y][x]=tailcount;
tailcount=tailcount+1;
}
}
}
}
}
}
public class Gapleh
extends Variables {
public static void
main(String[]args){
tile.dominotiles();
for(int
x=0;x<49;x++){
for(int y=0;
y<2; y++){
player1[y][x]=7;
player2[y][x]=7;
}
}
for(int
x=0;x<98;x++)
for(int
y=0;y<2;y++){
interval[y][x]=7;
}
newCharacter();
newCharacter();
JOptionPane.showMessageDialog(null,character[0]+"
Di Kocok Secara Acak");
for(int
x=0;x<7;x++){
check=true;
while(check){
dicevalue=dice.roll();
if(tile.
handler[0][dicevalue]<7 && tile. handler[1][dicevalue]<7){
player1[0][dicevalue]=tile. handler[0][dicevalue];
player1[1][dicevalue]=tile. handler[1][dicevalue];
tile.
handler[0][dicevalue]=7;
tile.
handler[1][dicevalue]=7;
if(highhead1<player1[0][dicevalue]){
highhead1=player1[0][dicevalue];
hightail1=player1[1][dicevalue];
}
check=false;
}
}
}
System.out.println(character[0]+"'s tiles");
for(int
x=0;x<49;x++){
if(player1[0][x]<7&&player1[1][x]<7){
System.out.print("("+player1[0][x]+","+player1[1][x]+")");
System.out.println();
}
}
JOptionPane.showMessageDialog(null,character[1]+" Di Kocok Secara
Acak");
for(int
x=0;x<7;x++){
check=true;
while(check){
dicevalue=dice.roll();
if(tile.
handler[0][dicevalue]<7 && tile. handler[1][dicevalue]<7){
player2[0][dicevalue]=tile. handler[0][dicevalue];
player2[1][dicevalue]=tile. handler[1][dicevalue];
tile.
handler[0][dicevalue]=7;
tile.
handler[1][dicevalue]=7;
if(highhead2<player2[0][dicevalue]){
highhead2=player2[0][dicevalue];
hightail2=player2[1][dicevalue];
}
check=false;
}
}
}
System.out.println(character[1]+"'s tiles");
for(int
x=0;x<49;x++){
if(player2[0][x]<7&&player2[1][x]<7){
System.out.print(player2[0][x]+"\t"+player2[1][x]);
System.out.println();
}
}
if(highhead1>highhead2){
JOptionPane.showMessageDialog(null,character[0]+" Mangga
Tipayun");
game();
}
else
if(highhead1<highhead2){
JOptionPane.showMessageDialog(null,character[1]+" Sok Duluan
Mainkan");
character[2]=character[0];
character[0]=character[1];
character[1]=character[2];
for(int
x=0;x<49;x++){
temp=player1[0][x];
player1[0][x]=player2[0][x];
player2[0][x]=temp;
temp=player1[1][x];
player1[1][x]=player2[1][x];
player2[1][x]=temp;
}
game();
}
else{
if(hightail1>hightail2){
JOptionPane.showMessageDialog(null,character[0]+" Mangga
Tipayun");
game();
}
else{
JOptionPane.showMessageDialog(null,character[1]+" Sok Duluan
Mainkan");
character[2]=character[0];
character[0]=character[1];
character[1]=character[2];
for(int x=0;x<49;x++){
temp=player1[0][x];
player1[0][x]=player2[0][x];
player2[0][x]=temp;
temp=player1[1][x];
player1[1][x]=player2[1][x];
player2[1][x]=temp;
}
game();
}
}
}
public static void
newCharacter(){
if
(charcount<2){
character[charcount]=JOptionPane.showInputDialog("Isi Nama:");
charcount+=1;
}
}
public static void
printgamecycle(){
System.out.println("Aksi Permainan");
for(int
x=0;x<98;x++){
if(interval[0][x]<7&&interval[0][x]<7)
System.out.println(interval[0][x]+"\t"+interval[1][x]);
}
}
public static void
game(){
check=true;
while(check){
while(check){
try{
highhead1=Integer.parseInt(JOptionPane.showInputDialog(character[0]+"'s
turn\nEnter Masukan angka kartu domino anda Mas :"));
hightail1=Integer.parseInt(JOptionPane.showInputDialog(character[0]+"'s
turn\nEnter Masukan angka kartu domino anda Mas:"));
check=false;
}
catch(NumberFormatException e){
JOptionPane.showMessageDialog(null,"ga ada Di kartu punya Mu
Mas","ERROR",JOptionPane.ERROR_MESSAGE);
}
}
if(highhead1<=6&&highhead1>=0&&hightail1<=6&&hightail1>=0){
for(int x=0;x<49;x++){
if(player1[0][x]==highhead1&&player1[1][x]==hightail1){
interval[0][x2]=player1[0][x];
interval[1][y2]=player1[1][x];
player1[0][x]=7;
player1[1][x]=7;
}
}
check=false;
printgamecycle();
}
}
while(checkgame){
counter1=0;
for(int
x=0;x<49;x++){
if(tile.
handler[0][x]==7&&tile. handler[1][x]==7)
counter1+=1;
}
if(counter1==49){
for(int
x=0;x<49;x++){
if(player1[0][x]<7&&player1[1][x]<7)
counterplayer1+=1;
if(player2[0][x]<7&&player2[1][x]<7)
counterplayer2+=1;
}
if(counterplayer1<counterplayer2){
JOptionPane.showMessageDialog(null,character[0]+"Wins");
checkgame=false;
check=false;
checkroll=false;
checkroll1=false;
}
else
if(counterplayer1>counterplayer2){
JOptionPane.showMessageDialog(null,character[1]+"Wins");
checkgame=false;
check=false;
checkroll=false;
checkroll1=false;
}
else
if(counterplayer1==counterplayer2){
JOptionPane.showMessageDialog(null,"DRAW!!!");
checkgame=false;
check=false;
checkroll=false;
checkroll1=false;
}
}
while(true){
check=false;
checkroll1=true;
while(checkroll1){
checkroll=true;
for(int x=0;x<49;x++){
if(highhead1==player2[0][x]||highhead1==player2[1][x]||hightail1==player2[0][x]||hightail1==player2[1][x]){
check=true;
checkroll=false;
checkroll1=false;
}
else if(counter1==49){
check=false;
checkroll=false;
checkroll1=false;
}
}
while(checkroll){
dicevalue=dice.roll();
if(tile. handler[0][dicevalue]<7 && tile.
handler[1][dicevalue]<7){
JOptionPane.showMessageDialog(null,character[1]+" chose to pass,
required to get new domino from boneyard");
player2[0][dicevalue]=tile. handler[0][dicevalue];
player2[1][dicevalue]=tile. handler[1][dicevalue];
tile. handler[0][dicevalue]=7;
tile. handler[1][dicevalue]=7;
highhead2=highhead1;
hightail2=hightail1;
check=false;
checkroll=false;
checkroll1=false;
}
counter1=0;
for(int x=0;x<49;x++){
if(tile.
handler[0][x]==7&&tile. handler[1][x]==7)
counter1+=1;
}
if(counter1==49){
check=false;
checkroll=false;
checkroll1=false;
}
}
}
System.out.println(character[1]+"'s tiles");
for(int
x=0;x<49;x++){
if(player2[0][x]<7&&player2[1][x]<7)
System.out.println("("+player2[0][x]+","+player2[1][x]+")");
}
while(check){
while(check){
try{
highhead2=Integer.parseInt(JOptionPane.showInputDialog(character[1]+"'s
turn\nEnter a head tile number to use:"));
hightail2=Integer.parseInt(JOptionPane.showInputDialog(character[1]+"'s
turn\nEnter a tail tile number to use:"));
while(check){
toplace=Integer.parseInt(JOptionPane.showInputDialog("Where to
place the tiles:\n[0]head portion\n[1]tail portion"));
if(toplace==0||toplace==1){
check=false;
}
else
JOptionPane.showMessageDialog(null,"WRONG
INPUT","Warning",JOptionPane.WARNING_MESSAGE);
}
check=false;
}
catch(NumberFormatException e){
JOptionPane.showMessageDialog(null,"WRONG INPUT","ERROR",JOptionPane.ERROR_MESSAGE);
}
}
check=true;
if(toplace==0){
if(highhead2==highhead1){
for(int x=0;x<49;x++){
if(player2[0][x]==highhead2&&player2[1][x]==hightail2){
x2-=1;
y2-=1;
interval[0][x2]=player2[1][x];
interval[1][y2]=player2[0][x];
highhead2=player2[1][x];
hightail2=hightail1;
player2[0][x]=7;
player2[1][x]=7;
check=false;
}
}
}
else
if(hightail2==highhead1){
for(int x=0;x<49;x++){
if(player2[0][x]==highhead2&&player2[1][x]==hightail2){
x2-=1;
y2-=1;
interval[0][x2]=player2[0][x];
interval[1][y2]=player2[1][x];
hightail2=hightail1;
player2[0][x]=7;
player2[1][x]=7;
check=false;
}
}
}
}
else
if(toplace==1){
if(highhead2==hightail1){
for(int x=0;x<49;x++){
if(player2[0][x]==highhead2&&player2[1][x]==hightail2){
xx2+=1;
yy2+=1;
interval[0][xx2]=player2[0][x];
interval[1][yy2]=player2[1][x];
highhead2=highhead1;
player2[0][x]=7;
player2[1][x]=7;
check=false;
}
}
}
else
if(hightail2==hightail1){
for(int x=0;x<49;x++){
if(player2[0][x]==highhead2&&player2[1][x]==hightail2){
xx2+=1;
yy2+=1;
interval[0][xx2]=player2[1][x];
interval[1][yy2]=player2[0][x];
highhead2=highhead1;
hightail2=player2[0][x];
player2[0][x]=7;
player2[1][x]=7;
check=false;
}
}
}
}
}
printgamecycle();
counterplayer2=0;
for(int x=0;x<49;x++){
if(player2[0][x]<7&&player2[1][x]<7)
counterplayer2+=1;
}
if(counterplayer2==0){
JOptionPane.showMessageDialog(null,character[1]+" Wins!!!");
checkgame=false;
check=false;
checkroll=false;
checkroll1=false;
}
else{
check=false;
checkroll1=true;
}
break;
}
while(true){
while(checkroll1){
checkroll=true;
for(int x=0;x<49;x++){
if(highhead2==player1[0][x]||highhead2==player1[1][x]||hightail2==player1[0][x]||hightail2==player1[1][x]){
check=true;
checkroll=false;
checkroll1=false;
}
else if(counter1==49){
check=false;
checkroll=false;
checkroll1=false;
}
}
while(checkroll){
dicevalue=dice.roll();
if(tile. handler[0][dicevalue]<7 && tile.
handler[1][dicevalue]<7){
JOptionPane.showMessageDialog(null,character[0]+" chose to pass,
required to get new domino from boneyard");
player1[0][dicevalue]=tile. handler[0][dicevalue];
player1[1][dicevalue]=tile. handler[1][dicevalue];
tile. handler[0][dicevalue]=7;
tile. handler[1][dicevalue]=7;
highhead1=highhead2;
hightail1=hightail2;
check=false;
checkroll=false;
checkroll1=false;
}
counter1=0;
for(int x=0;x<49;x++){
if(tile. handler[0][x]==7&&tile. handler[1][x]==7)
counter1+=1;
}
if(counter1==49){
check=false;
checkroll=false;
checkroll1=false;
}
}
}
System.out.println(character[0]+"'s tiles");
for(int
x=0;x<49;x++){
if(player1[0][x]<7&&player1[1][x]<7)
System.out.println(player1[0][x]+"\t"+player1[1][x]);
}
while(check){
while(check){
try{
highhead1=Integer.parseInt(JOptionPane.showInputDialog(character[0]+"'s
turn\nEnter a your head tile number to use:"));
hightail1=Integer.parseInt(JOptionPane.showInputDialog(character[0]+"'s
turn\nEnter a your tail tile number to use:"));
while(check){
toplace=Integer.parseInt(JOptionPane.showInputDialog("Where to
place the tiles:\n[0]head portion\n[1]tail portion"));
if(toplace==0||toplace==1){
check=false;
}
else
JOptionPane.showMessageDialog(null,"WRONG
INPUT","Warning",JOptionPane.WARNING_MESSAGE);
}
check=false;
}
catch(NumberFormatException e){
JOptionPane.showMessageDialog(null,"WRONG
INPUT","ERROR",JOptionPane.ERROR_MESSAGE);
}
}
check=true;
if(toplace==0){
if(highhead1==highhead2){
for(int x=0;x<49;x++){
if(player1[0][x]==highhead1&&player1[1][x]==hightail1){
x2-=1;
y2-=1;
interval[0][x2]=player1[1][x];
interval[1][y2]=player1[0][x];
highhead1=player1[1][x];
hightail1=hightail2;
player1[0][x]=7;
player1[1][x]=7;
check=false;
}
}
}
else
if(hightail1==highhead2){
for(int x=0;x<49;x++){
if(player1[0][x]==highhead1&&player1[1][x]==hightail1){
x2-=1;
y2-=1;
interval[0][x2]=player1[0][x];
interval[1][y2]=player1[1][x];
hightail1=hightail2;
player1[0][x]=7;
player1[1][x]=7;
check=false;
}
}
}
}
else
if(toplace==1){
if(highhead1==hightail2){
for(int x=0;x<49;x++){
if(player1[0][x]==highhead1&&player1[1][x]==hightail1){
xx2+=1;
yy2+=1;
interval[0][xx2]=player1[0][x];
interval[1][yy2]=player1[1][x];
highhead1=highhead2;
player1[0][x]=7;
player1[1][x]=7;
check=false;
}
}
}
else
if(hightail1==hightail2){
for(int x=0;x<49;x++){
if(player1[0][x]==highhead1&&player1[1][x]==hightail1){
xx2+=1;
yy2+=1;
interval[0][xx2]=player1[1][x];
interval[1][yy2]=player1[0][x];
highhead1=highhead2;
hightail1=player1[0][x];
player1[0][x]=7;
player1[1][x]=7;
check=false;
}
}
}
}
}
printgamecycle();
counterplayer1=0;
for(int x=0;x<49;x++){
if(player1[0][x]<7&&player1[1][x]<7)
counterplayer1+=1;
}
if(counterplayer1==0){
JOptionPane.showMessageDialog(null,character[0]+" LOE
MENANG!!!");
checkgame=false;
check=false;
checkroll=false;
checkroll1=false;
}
break;
}
}
}
}