小弟现在因为作业需要11点前完成!现在什么都不会,诚心求各位大大帮下忙!!
要求
用户要玩一个赌博游戏
需要让用户输入他的起始资金
然后输入他此句原意下注多少
public static int rollDice() {
两个骰子,随机数值
告诉用户骰了几
取总数
}
public static boolean checkWin(int comeoutRoll){
如果总数是7,11 玩家赢
如果总数是2,3,12玩家输
如果什么都不是,在骰一次
如果跟上次骰的总数一样,万家赢
如果骰出7万家输
如果什么都不是,循环重复在骰一次
}
玩家决定是否在玩如果再玩,从rollDice重新开始
要求
用户要玩一个赌博游戏
需要让用户输入他的起始资金
然后输入他此句原意下注多少
public static int rollDice() {
两个骰子,随机数值
告诉用户骰了几
取总数
}
public static boolean checkWin(int comeoutRoll){
如果总数是7,11 玩家赢
如果总数是2,3,12玩家输
如果什么都不是,在骰一次
如果跟上次骰的总数一样,万家赢
如果骰出7万家输
如果什么都不是,循环重复在骰一次
}
玩家决定是否在玩如果再玩,从rollDice重新开始
解决方案 »
- List list = jdbcTemplate.query(sql, params, new RowMapperResultReader( ... 提示这个方法返回void而不是List)
- 在PL/SQL可以执行的语句,JAVA中出错
- linux下tomcat本地连接不通,求高手赐教,我在线狂等!!!
- 我是一新手,面对项目时应该从何下手??
- portlet调用问题
- tomcat不定时当机
- Java正则表达式
- 有没有人可以讲讲<ejb-ref>,<ejb-local-ref>以及ejb本地调用之间的关系
- 简单问T:jsp打成的war包放在tomcat的webapps下能运得,但deploy到weblogic7上就不能运行?
- Bean为什么一定要按javabean or ejb的标准来做呢?
- 寻大师:SSH中,页面传值给action中,查询结果报错:
- 类似天猫那种网站的商品筛选条件,请问数据库表该如何设计的
* 两个骰子,随机数值 告诉用户骰了几 ,取总数
* @return
*/
public static int rollDice() {
Random r = new Random(System.currentTimeMillis());
int number1 = r.nextInt(6)+1;
int number2 = r.nextInt(6)+1;
System.out.println("第一颗骰子:" + number1);
System.out.println("第二颗骰子:" + number2);
System.out.println("总数:" + (number1 + number2));
return (number1 + number2);
}其次是 public static boolean checkWin(int comeoutRoll) 方法来判断这个结果的输赢这里只要用一个 switch case default 就可以合理的设计是这个方法应该返回三种情况,就是 输、赢、重新骰一次然后在 main 方法里面通过 while(true) 循环来主控,调用上述方法。大致的代码片段可以提供给你:
/**
* 接收用户的输入数据
* @return
* @throws Exception
*/
public static String getInputFromUser() throws Exception{
InputStreamReader temp=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(temp);
return input.readLine();
}public static void main(String[] args) throws Exception {
System.out.println("请输入用户的初始资金:");
totleMoney = Double.parseDouble(getInputFromUser());
while(true){
if(用户输入一个结束标志){
System.exit(0);
}
....
}
}
或者是 Boolean true 赢 false 输 null 重新骰一次
//掷色子
public static int rollDice() {
int a = (int)(Math.random()*10);
int b = (int)(Math.random()*10);
return a+b;
}
//获取结果,因为7很特殊,所以不放入判断里
public static boolean checkWin(int comeoutRoll){
switch(comeoutRoll){
case 11:
return true;
case 2:
case 3:
case 12:
return false;
default:
return false;
}
}
public static void main(String[] args) {
String answer = "no";
int num = 0; //计数器
int prousSum = 0; //记录上次
Scanner input = new Scanner(System.in);
System.out.print("此局愿意下注多少:");
Double money = input.nextDouble();
do{
int numSum = rollDice();
System.out.println("此时:"+numSum);
//如果上一次与当前次相同,视为玩家赢,不同则将本次的赋值给prousSum
if(numSum == prousSum){
num = 0;
System.out.println("恭喜您,您赢得了此局的比赛");
}else{
prousSum = numSum;
}
if(checkWin(numSum)){
System.out.println("恭喜您,您赢得了此局的比赛");
num = 0;
}else{
if(numSum == 7 && num >0){
System.out.println("啊哦,您输了此局的比赛");
num = 0;
}else if(numSum == 2 || numSum == 3 || numSum == 12){
System.out.println("啊哦,您输了此局的比赛");
num = 0;
}else{
num++;
}
}
System.out.print("还要再玩吗?<y/n>");
answer = input.next();
}while("y".equalsIgnoreCase(answer));
System.out.println("你结束了此局比赛");
}
}