JAVA 骰子游戏
来源:互联网 发布:java分布式开发容易吗 编辑:程序博客网 时间:2024/05/22 11:31
说明:骰子加起来2次和为7或11:胜利;骰子和加起来为2,3,12为失败;
如果为其他数进行再一次投,如果再一次投等于刚投的数为胜利。如果等于7为失败。
最后统计胜败以及投次。
package Two;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
public class Touzi {
/**
* @param args
*/
public static enum Status {
CONTINUE, WON, LOST
};
public static Random random = new Random();
private static final int TWO_FAIL = 2;
private static final int THREE_FAIL = 3;
private static final int TWEL_FAIL = 12;
private static final int SEVEN_WON = 7;
private static final int ELEVEN_WON = 11;
private List<String> results;
private int w;
private int l;
public Touzi() {
results = new ArrayList<String>();
w = 0;
l = 0;
}
public void play() {
int mypoint = 0;
Status gameStatus = Status.CONTINUE;
int sumOfDice = rollDice();
switch (sumOfDice) {
case SEVEN_WON:
case ELEVEN_WON:
gameStatus = Status.WON;
break;
case TWO_FAIL:
case THREE_FAIL:
case TWEL_FAIL:
gameStatus = Status.LOST;
break;
}
if (gameStatus == Status.CONTINUE) {
mypoint = sumOfDice;
System.out.println("玩家投出的点数是:" + mypoint);
}
while (gameStatus == Status.CONTINUE) {
sumOfDice = rollDice();
if (sumOfDice == mypoint) {
gameStatus = Status.WON;
} else if(sumOfDice==SEVEN_WON)
gameStatus = Status.LOST;
}
if (gameStatus == Status.WON) {
System.out.println("玩家胜利");
results.add("胜利");
w++;
} else {
System.out.println("玩家输");
results.add("失败");
l++;
}
}
private int rollDice() {
// TODO Auto-generated method stub
int die1 = random.nextInt(6) + 1;
int die2 = random.nextInt(6) + 1;
int sum = die1 + die2;
System.out.println("玩家的点数是" + die1 + "+" + die2 + "=" + sum);
return sum;
}
public void print() {
System.out.println("游戏结果统计:");
System.out.println("赢的次数:" + w);
System.out.println("输的次数" + l);
int i = 0;
for (String string : results) {
System.out.println("第" + (++i) + "次:" + string);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String answer;
Touzi touzi = new Touzi();
do {
touzi.play();
System.out.println("继续游戏吗(y/n)?");
Scanner scanner = new Scanner(System.in);
answer = scanner.next();
} while ("Y".equalsIgnoreCase(answer));
touzi.print();
}
}
- JAVA 骰子游戏
- JAVA 骰子游戏
- 骰子游戏(JAVA)
- 骰子游戏
- java掷骰子游戏联机版
- JAVA课程作业1--骰子游戏
- Java 常见小问题源代码 掷骰子 游戏 三个骰子,约定三个骰子的点数1-6
- Introduction to Java Programming编程题5.29<掷骰子游戏>
- 第七届蓝桥杯省赛Java语言C组_骰子游戏
- 第一个骰子游戏
- 骰子游戏问题
- js骰子游戏
- html5 骰子游戏
- 掷骰子游戏
- c++投骰子游戏
- Android骰子游戏案例
- 掷骰子游戏
- 掷骰子游戏
- Android三之Handler总结与Timer和TimerTask详解
- Android 的分裂无解,但这并不重要
- SQL Server 存储过程
- MySQL索引背后的数据结构及算法原理
- Windows 8怎么了?戴尔都想抛弃你了
- JAVA 骰子游戏
- RelativeLayout代码实现相对布局
- 百度360腾讯竞购搜狗
- 特征抽取方式——主成分分析(Principal components analysis)
- 搜索大门,搜狗走进来,百度走出去
- 六问百度腾讯阿里 [
- 可拖动拉伸的左右分栏效果,本例子是用Table以及JS来实现的,左右分栏可改变,拖动中间的边框就可实现宽度的调整,点击时可设置为隐藏左侧列表。
- 生活中处处是感悟
- 是时候该支持 360搜索 了