發新話題

[教學]骰子遊戲

[教學]骰子遊戲

遊戲規定:
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 編輯 ]

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。