赌博游戏设计逻辑顺序题目

来源:互联网 发布:微信团购源码 编辑:程序博客网 时间:2024/05/17 02:18
public class Dubo {//2个骰子之和public int rollDice(){    int roll = (int)(Math.random()*6)+(int)(Math.random()*6);    if(roll <2){        roll = 2;    }    return roll;}//游戏规则public void dubo(){    final int WIN = 0,LOST = 1,CONTINUE = 2;    boolean firstRoll = true;    int gameStatus = CONTINUE;//记录游戏状态    int firstPoint = 0;//记录第一个数    int sumOfDice;    System.out.println("游戏开始!");    while(true){        if(firstRoll){            sumOfDice = rollDice();            System.out.println("玩家之和:"+ sumOfDice);            switch(sumOfDice){            case 7:            case 11:                gameStatus = WIN;                break;            case 2:            case 3:            case 12:                gameStatus = LOST;                break;            default:                firstRoll = false;                gameStatus = CONTINUE;                firstPoint = sumOfDice;                break;            }        }        else{            sumOfDice = rollDice();            System.out.println("玩家之和:"+ sumOfDice);            if(sumOfDice == firstPoint)                gameStatus = WIN;            else if(sumOfDice == 7)                gameStatus = LOST;        }        if(gameStatus == CONTINUE)            System.out.println("胜负未分,再掷一次*****");        else if(gameStatus == WIN)        {            System.out.println("玩家胜");            break;        }        else        {            System.out.println("玩家输");            break;        }    }}public static void main(String[] args) {    new Dubo().dubo();    System.out.println("游戏 结束");}}

游戏输出:
游戏开始!
玩家之和:4
胜负未分,再掷一次*
玩家之和:7
玩家输
游戏 结束
——————–
游戏开始!
玩家之和:5
胜负未分,再掷一次*
玩家之和:2
胜负未分,再掷一次*
玩家之和:3
胜负未分,再掷一次*
玩家之和:2
胜负未分,再掷一次*
玩家之和:6
胜负未分,再掷一次*
玩家之和:3
胜负未分,再掷一次*
玩家之和:5
玩家胜
游戏 结束
总结:可以看出每次结果不同,达到要求!
/*题目描述:
* 投掷2个骰子,计算2个骰子之和
* 如果第一次和为7、11,玩家胜;
* 如果和为2、3、12,则玩家输;
* 如果和为其他数,则记录第一次的点数和,然后继续投掷,直到点数和=第一次点数和,则玩家胜;
* 假如在玩家胜之前出现和为7,则玩家输!
*/

原创粉丝点击