Program:
import java.util.*; class Game { public static boolean gameison=true; public static int currentplayer=1; public static void nextPlayer() { currentplayer++; if(currentplayer>4) currentplayer=1; } public static void main(String[] a) { Dice d=new Dice(); Player p1= new Player(d,1); Player p2= new Player(d,2); Player p3= new Player(d,3); Player p4= new Player(d,4); System.out.println("Lets start the game....."); p1.start(); p2.start(); p3.start(); p4.start(); try { p1.join(); p2.join(); p3.join(); p4.join(); }catch(Exception e) {} } } class Dice { int score; Random r; Player p; public Dice() { r=new Random(); } public int turn(int playerno) { if(playerno==Game.currentplayer) { p=new Player(); score=r.nextInt(6); System.out.println("Player no "+playerno+" gets "+score+" in his turn and his score is "+(p.score+score)+" now"); Game.nextPlayer(); } else { try{wait();}catch(Exception e){} } return score; } } class Player extends Thread { Dice dice; int score=0, pno; public Player() {} public Player(Dice d,int playerno) { dice=d; pno=playerno; } public void run() { while(Game.gameison) { synchronized(dice) { score=score+dice.turn(pno); //System.out.println("Score of "+pno+" player is "+score+" now"); if(score>=25) { System.out.println(pno+"is the winner"); Game.gameison=false; } try{wait();} catch(Exception e){} } } } }


Post A Comment:
0 comments: