遊戲規定:
1.第一拋出點數7.11就贏!
2.如果拋出點數2.3.12就輸了!
3.如果都不是那等於是拋出點數不在[2.3.7.11.12]幾個點裡
所以第一次如果拋出的點數看是莊家還是閒家誰先和第一次拋的點數一樣就贏了...
複製內容到剪貼板
代碼:
import java.util.Random;
public class Craps
{
private Random randomNumbers=new Random();
private enum Status{CONTINUE,WON,LOST};
private final static int SNAKE_EYES=2;
private final static int TREY=3;
private final static int SEVEN=7;
private final static int YO_LEVEN=11;
private final static int BOX_CARS=12;
public void play()
{
int myPoint=0;
Status gameStatus;
int sumOfDice=rollDice();
switch(sumOfDice)
{
case SEVEN:
case YO_LEVEN:
gameStatus=Status.WON;
break;
case SNAKE_EYES:
case TREY:
case BOX_CARS:
gameStatus=Status.LOST;
break;
default:
gameStatus=Status.CONTINUE;
myPoint=sumOfDice;
System.out.printf("Point is %d\n",myPoint);
break;
}
while(gameStatus==Status.CONTINUE)
{
sumOfDice=rollDice();
if(sumOfDice==myPoint)
gameStatus=Status.WON;
else
if(sumOfDice==SEVEN)
gameStatus=Status.LOST;
}
if(gameStatus==Status.WON)
System.out.println("Player wins");
else
System.out.println("Player loses");
}
public int rollDice()
{
int die1=1+randomNumbers.nextInt(6);
int die2=1+randomNumbers.nextInt(6);
int sum=die1+die2;
System.out.printf("Player rolled %d+%d=%d\n",
die1,die2,sum);
return sum;
}
}
複製內容到剪貼板
代碼:
public class CrapsTest
{
public static void main(String args[])
{
Craps game=new Craps();
game.play();
}
}
[
本帖最後由 philxyz0316 於 2006-8-8 20:34 編輯 ]