Java实现的简单掷骰子游戏示例

本文实例讲述了Java实现的简单掷骰子游戏。分享给大家供大家参考,具体如下:

要求:

掷两个骰子,每个骰子有六面,
分别为1、2、3、4、5、6。检查这两个骰子的和。
如果为2、3或12你就输了;如果和是7或者11你就赢了。
但如果和是其他数字(例如4、5、6、8、9或者10),
就确定了一个点。继续掷骰子直至抛出一个7或者
掷出和刚才相同的点数。如果掷出的是7,你就输了。
如果掷出的点数和你前一次掷出的点数相同,
你就赢了。

java实现代码:

enum Status {
  Win, Lose, Goon;
}
public class DiceGame {
  public static int GetScore() {
    return (int) (1 + Math.random() * 6);
  }
  public static int Start() {
    int score1 = GetScore();
    int score2 = GetScore();
    return score1 + score2;
  }
  public static Status judge(int sum1) {
    if (sum1 == 7 || sum1 == 11) {
      return Status.Win;
    } else if (sum1 == 2 || sum1 == 3 || sum1 == 12) {
      return Status.Lose;
    } else
      return Status.Goon;
  }
  public static void main(String[] args) {
    int sum1 = Start();
    int pre = sum1;
    switch (judge(sum1)) {
    case Win:
      System.out.println("你掷出了"+sum1+"点");
      System.out.println("恭喜你!你赢了!");
      break;
    case Lose:
      System.out.println("你掷出了"+sum1+"点");
      System.out.println("很遗憾!你输了!");
      break;
    case Goon:
      int sum2 = Start();
      while (true) {
        if (sum2 == pre) {
          System.out.println("你先掷出了"+sum1+"点");
          System.out.println("又掷出了"+sum2+"点");
          System.out.println("恭喜你!你赢了!");
          break;
        } else if (sum2 == 7) {
          System.out.println("你先掷出了"+sum1+"点");
          System.out.println("又掷出了"+sum2+"点");
          System.out.println("很遗憾!你输了!");
          break;
        } else {
          pre = sum2;
          sum2 = Start();
        }
      }
      break;
    }
    ;
  }
}

运行结果:

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

您可能感兴趣的文章:

  • Java编写掷骰子游戏
  • java实现简单的弹球游戏
  • Java游戏俄罗斯方块的实现实例
  • java实现猜数字小游戏
  • Java版坦克大战游戏源码示例
  • Java编程经典小游戏设计-打砖块小游戏源码
  • Java编程实现打地鼠文字游戏实例代码
  • Java swing框架实现的贪吃蛇游戏完整示例
  • java swing实现的扫雷游戏及改进版完整示例
  • 简单实现java数独游戏
  • Java实现的剪刀石头布游戏示例
  • java实现的2048游戏完整实例
(0)

相关推荐

  • Java实现的剪刀石头布游戏示例

    本文实例讲述了Java实现的剪刀石头布游戏.分享给大家供大家参考,具体如下: ChoiceAnswer.java public class ChoiceAnswer { String texts[] = { "石头", "剪刀", "布" }; int value; // [1]石头\t[2]剪刀\t[3]布 String getText() { return texts[value - 1]; } ChoiceAnswer(int value)

  • Java编写掷骰子游戏

    废话不多说了,直接奔主题. **多线程&&观察者模式 题目要求:<掷骰子>窗体小游戏,在该游戏中,玩家初始拥有1000的金钱,每次输入押大还是押小,以及下注金额,随机3个骰子的点数,如果3个骰子的总点数小于等于9,则开小,否则开大,然后判断玩家是否押对,如果未押对则扣除下注金额,如果押对则奖励和玩家下注金额相同的金钱. 分析:这个题目要求灵活运用多线程的相关知识,达到点击开始按钮时,有3个线程启动,分别控制3颗骰子的转动,在3颗骰子全部转完以后,回到主线程计算游戏结果. //个

  • Java swing框架实现的贪吃蛇游戏完整示例

    本文实例讲述了Java swing框架实现的贪吃蛇游戏.分享给大家供大家参考,具体如下: java是门高级语言,做游戏时适合做后台,但是用它也可以做游戏.闲来无事做的时候可以用来写点小游戏,练习练习预防早衰哈哈! 闲话不说了 下面是以前练习的作品,不怕大家笑话,那个时候用了一个礼拜才做出来的. 源码如下供大家学习. 使用的是java的 swing  Jframe Jpanel JButton   当然你也可以使用awt 先来看看运行效果: 具体代码: package Tcs; /** * * *

  • 简单实现java数独游戏

    本文实例为大家分享了java数独游戏的具体代码,供大家参考,具体内容如下 打算把javaFx需要的组件装好以后直接用javaFx的,但似乎eclipse的版本不对,安装了也不能用... 数独代码是在之前寒假受命写的,学了一个月java的成果,现在看来有些不足但毕竟是第一个程序,就直接放上来,数独终盘的实现直接用了暴力,时间复杂度有点高,懒得改了直接放代码 终盘实现: import java.util.Random; public class SudokuPuzzleGenerator { pri

  • Java编程实现打地鼠文字游戏实例代码

    控制台输入数字,与随机数匹配,匹配正确则返回"打中了!" 匹配错误则返回"太遗憾!没打中!" package hitmouse; import java.util.Random; import java.util.Scanner; public class HitMouse { public static void main(String[] args) { // TODO Auto-generated method stub int[] map = new int

  • java实现的2048游戏完整实例

    本文实例讲述了java实现的2048游戏.分享给大家供大家参考,具体如下: 先来看看运行效果: 具体代码如下: package awtDemo; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.*; @SuppressWarnings("serial") public class Game2048 extends JApplet{ @

  • java swing实现的扫雷游戏及改进版完整示例

    本文实例讲述了java swing实现的扫雷游戏及改进版.分享给大家供大家参考,具体如下: 版本1: package awtDemo; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JButton; import jav

  • java实现简单的弹球游戏

    弹球游戏实现原理: 隔一定时间(小于1秒)重新绘制图像,因为Graphics类是一个抽象类,创建子类的时候需要把所有涉及的方法都得重写,所以这里使用的是创建Canvas的子类,只需要重写它的paint()方法来实现.这里我们用了键盘监听事件.Timer类等. 游戏说明: 该弹球游戏中的小球会随着时间增加速度且速度最多是横向速度和垂直速度为10.当小球的y坐标(垂直坐标)大于球拍的y坐标(垂直坐标)即判断游戏结束.控制台显示的是小球的x方向的速度和y方向的速度. import java.awt.*

  • Java编程经典小游戏设计-打砖块小游戏源码

    [程序中使用的数据结构和符号说明] HitBrick类 GreenBallThread控制小球路线 xUp,yUp,bouncing定义变量存储16位数值形式 x,y小球坐标 xDx,yDy坐标增量 MAX_X,MAX_Y坐标最大值 renew初始化 label标签 Rx,Ry横板坐标 Brick[]砖块 ball小球 HitBrick()定义小球横板及砖块位置坐标 keyPressd(keyEent)定义小球启动键(按空格键启动) keyReleased(keyEvent)接收键盘事件侦听器接

  • Java版坦克大战游戏源码示例

    整理文档,搜刮出一个Java版坦克大战游戏的代码,稍微整理精简一下做下分享. package tankwar; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.io.File; import java.io.FileInputStream; imp

  • java实现猜数字小游戏

    java 实现猜数字游戏 随机给定一个数字,猜大小直到正确 package com.swift; import java.util.Random; import java.util.Scanner; public class GuessBigSmall { public static void main(String[] args) { Scanner scan=new Scanner(System.in); Random random = new Random(); int number =

  • Java游戏俄罗斯方块的实现实例

    Java游戏俄罗斯方块的实现实例 java小游戏主要理解应用java Swing,awt等基础组件的知识,通过本例应当掌握面向对象的知识. 实现代码: package cn.hncu.games; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import

随机推荐