黑马程序员技术交流社区
标题:
掷骰子的问题
[打印本页]
作者:
18805874670
时间:
2013-6-8 21:44
标题:
掷骰子的问题
玩家掷两个骰子,点数1到6,如果第一次点数和为7或11则胜;若点数和为2,3或12则输;如果为其他点数则记录第一次点数和,然后继续掷骰,直至点数和等于第一次掷出的和,则玩家胜;如果在这之前掷出点和为7则玩家输;怎么用JAVA实现?
作者:
袁梦希
时间:
2013-6-9 15:24
迷糊了
作者:
袁梦希
时间:
2013-6-9 15:24
等待大神解决
作者:
Spole_168
时间:
2013-6-16 10:28
package com;
import java.util.Random;
public class Test {
/*
* 玩家掷两个骰子,点数1到6,
* 如果第一次点数和为7或11则胜;
* 若点数和为2,3或12则输;
* 如果为其他点数则记录第一次点数和;
* 如果和,然后继续掷骰,直至点数和等于第一次掷出的和,
* 则玩家胜;
* 如果在这之前掷出点和为7则玩家输;
* 怎么用JAVA实现?
*/
public static void main(String[] args) {
int flag = 0;//玩家胜负标志 0:和 1:玩家胜出 -1:玩家输
int shuaizi1= 1,shuaizi2 =1; //筛子点数
boolean first = true;
int privous = 0;
while(flag==0){
shuaizi1 = (int) (1 + Math.random() * 6);
shuaizi2 = (int) (1 + Math.random() * 6);
if(first == true){
if(shuaizi2+shuaizi1==7||shuaizi2+shuaizi1==11){
flag = 1;
break;
}else if(shuaizi2+shuaizi1==2||shuaizi2+shuaizi1==3||shuaizi2+shuaizi1==12){
flag = -1;
}else{
privous = (shuaizi2+shuaizi1);
flag = 0;
}
first = false;
}else{
if(shuaizi2+shuaizi1 == privous){
flag =1;
break;
}else if(shuaizi2+shuaizi1 == 7){
flag = -1;
break;
}
}
}
if(flag ==1){
System.out.println("玩家胜出");
}else if(flag == -1){
System.out.println("玩家输了");
}
}
}
作者:
Spole_168
时间:
2013-6-16 10:29
希望能帮到你。。。。
作者:
Just_Only
时间:
2013-6-18 10:35
都是高手的啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2