`
viMory
  • 浏览: 58081 次
  • 性别: Icon_minigender_1
  • 来自: 土卫六
最近访客 更多访客>>
社区版块
存档分类
最新评论

Craps游戏的java实现

    博客分类:
  • j2se
阅读更多

游戏人数:1人
手中握有骰子的人叫做掷骰子的人(Shooter)。如果他掷出7点或者11点,他就赢了。如果他掷出2点,3点,或者12点,他就输了。如果他掷出4点,5点,6点,8点,9点,或者10点,庄家会在某个掷出的点数上放置一个大的“ON”按钮。掷骰子的人继续掷骰子,直

 到他掷出按钮所指示的点数, 这时他就赢了,否则如果在这之前掷出了7点,则他就输。


 

 

发现这个游戏挺有趣的,不断的掷骰子,不断的概率决定你获胜或失利。

第一步 先确定类:

      这里简单考虑,只考虑二个类:骰子类,Craps游戏类:

class Die () { 
//骰子类 
} 

public class Craps() { 
//Craps游戏类 
}

 第二步  确定类的字段和方法

     骰子类和昨天的那个Beelte游戏中的一样,不写了。

    Craps类的字段有:按键掷骰子(INPUT)、两个骰子(die1,die2)、游戏状态如赢、败、平局(status)、点数(sumOfTopFace)、按钮所指的数(point)。方法有:构造方法、玩游戏(play())。

Die Craps
topFace:int

INPUT:java.util.Scanner

die1:Die

die2:Die

status:int

sumOfTopFace:int

point:int

Die()

getTopFace():int

roll():int

Craps();

play():void

main(String[]):void

第三步:Craps类的实现(Die类的实现同Beetle游戏中一样)。

public class Craps {
    public static final java.util.Scanner INPUT  
             = new java.util.Scanner(System.in); 
    private Die die1,die2; 
    private int point,sumOfTopFace,status; 
    private final int WON,LOST,GOING; //定义胜、负、平三种状态   

   public Craps() { 
        die 1 = new Die(); 
        die 2 = new Die(); 
        WON = 1; 
        LOST = 2; 
        GOING = 3; 
        point = 0;     
        sumOfTopFace = 0; 
        status = GOING; //初始为平局 
   }

     public void play() {
         INPUT.nextLine();
         die1.roll(); 
         INPUT.nextLine(); 
         die2.roll(); 
         sumOfTopFace = die1.getTopFace() + die2.getTopFace();      System.out.println("你掷到" + sumOfTopFace + "点"); 
        switch(sumOfTopFace) { 
              case 7:
              case 11: 
                     status = WON; 
                     break; 
              case 2: 
              case 3: 
              case 12: 
                     status = LOST; 
                     break;
             default: 
                     status = GOING; 
                     point = sumOfTopFace; //就在这个地方放个大的ON按钮。          System.out.println("我的得分是:" + point);
                     break; 
        }
     
        while(status ==GOING) //当是平局时,采取下面行动            System.out.println("现在是平局,如果你再掷到刚才那个点数,你就获胜,但当你掷出7就你就输!"); 
            INPUT.nextLine(); 
            die1.roll(); 
            INPUT.nextLIne(); 
            die2.roll(); 
            sumOfTopFace = die1.getTopFace() + die2.getTopFace();   System.out.println("再次掷到" + sumOfTopFace + "点"); 
            if(sumOfTopFace ==point) { 
                   status = WON; 
            } else { if(sumOfTopFace == 7) { 
                                status = LOST; 
                                break; 
                           }
               }

        if(status == WON) { 
                 System.out.println("恭喜,你赢了!"); 
       } else { 
                 System.out.println("很不幸,你输了!"); 
           } 
       }

   public static void main(String[] args) { 
          System.out.println("\n欢迎玩Craps游戏!按键开始掷骰子(按二次算一局)");
          Craps game = new Craps(); 
          game.play(); 
   } 
}

 

 

 运行结果如图:

 

5
2
分享到:
评论
1 楼 a06062125 2011-10-11  
楼主,类后面不应该有括号

class Die {
//骰子类
}

public class Craps {
//Craps游戏类
}

相关推荐

    java开源游戏源码-gameOfCrapsInJava:Java内置的掷骰子控制台应用程序的游戏。更改了掷骰子游戏的开源代码,使其变得更加动

    本文将深入剖析名为"gameOfCrapsInJava"的开源游戏源码,这是一个基于Java语言实现的掷骰子控制台游戏。通过分析这个游戏,我们将探索Java编程的基础,面向对象设计原则,以及控制台交互等关键知识点。 1. **Java...

    Java和C语言实现各种经典算法(含代码图例)

    Java和C语言实现各种经典算法(含代码图例) 老掉牙 河内塔 费式数列 巴斯卡三角形 三色棋 老鼠走迷官(一) 老鼠走迷官(二) 骑士走棋盘 八个皇后 八枚银币 生命游戏 字串核对 双色、三色河内塔 背包...

    Java算法大全

    10. **博弈论**:如赌博游戏、Craps赌博游戏等,涉及概率和策略。 11. **图论问题**:如老鼠走迷宫、骑士走棋盘、八皇后问题等,通常用深度优先搜索或广度优先搜索解决。 12. **算法设计技术**:如动态规划、贪心...

    deep-dive-craps-android

    然后,你需要实现一个Monte Carlo Simulator类,它会执行大量独立的Craps游戏并记录每局的结果。为了实现模拟,你可以使用Java的Random类来生成随机骰子点数。 在跟踪每场比赛产生的胜利以及总胜利的百分比时,你...

    simply java programming

    - 该章节主要介绍了如何创建基本的图形用户界面(GUI)以及如何使用Java实现简单的动画效果。 ##### 2. **第2章:Welcome Application** - **图形用户界面编程基础**。 - 通过设计一个欢迎窗口应用,介绍了如何...

    掷骰子:用Java开发的掷骰子游戏

    本项目名为"掷骰子:用Java开发的掷骰子游戏",显然它是一个使用Java编程语言实现的模拟掷骰子游戏。 Java是一种广泛使用的面向对象的编程语言,具有跨平台性、安全性强和可移植性好等特点。在开发掷骰子游戏时,...

    BILD-IT-Craps-And-Credit-Cards

    2. **游戏逻辑实现**:编写Craps游戏的规则引擎,包括玩家投注、随机数生成、结果判断等。 3. **用户界面设计**:可能使用Swing或JavaFX创建图形用户界面,使用户能够交互参与游戏。 4. **支付接口集成**:学习...

    算法大全(C语言版本)很经典

    - **定义**: Craps是一种流行的赌博游戏,通过投掷骰子来决定输赢。 - **应用场景**: 游戏开发、概率学研究等。 ### 25. 约瑟夫问题(Josephus Problem) #### 间隔问题 - **定义**: 一群人按顺序报数,每隔k个人...

Global site tag (gtag.js) - Google Analytics