一个用java写的小游戏高手,看看有什么问题。
导入javax . swing . joptionpane;
/**
* @(#)VDZ.java
*
*
* @作者
* @版本1.00 2008/7/19
*/
公共类VDZ {
公共静态void main (String[] args) {
字节user input = 0;
字节系统输入= 0;
布尔标志=假;
int num = 0;//这里忘记写num的类型了。
int win = 0;//同上,加int。
Do{ //这是一个循环游戏。
num++;//打一次Nnum加一个。
string user temp = joptionpane . showinputdialog(" shuru ... ");//提示输入号码
userInput =新字节(userTemp)。byte value();//将输入的数字(原来是字符串)转换成字节类型。
//如果输入的数字是1,2,3,则分别输出以下语言,其余输出为“你错了!”
开关(用户输入){
案例0:system . out . println(" you:shitou ");打破;
案例1: System.out.println("你:剑道");打破;
案例二:system . out . println(" you:bu ");打破;
default: System.out.println("你错了!");
}
system input =(byte)(math . random()* 3);//systeminput是一个随机数,只能是0,1,2。
Switch(systeminput){ //判断这个数字是什么,分别输出每种语言。
案例0:system . out . println(" system input:shitou ");打破;
案例1:system . out . println(" system input:Jian Dao ");打破;
案例二:system . out . println(" system input:bu ");打破;
}
If(userInput == systeminput){ //如果用户输入的数与系统随机生成的数相同,则为偶数。
System.out.println("大平");
flag = true//我在这里加的。抽签后我可以再玩。
}else if( //如果这两个数字发生下列情况之一,那么用户获胜。
(用户输入= = 0 & amp& ampsysteminput == 1)||
(用户输入= = 1 & amp;& ampsysteminput == 2)||
(用户输入= = 2 & amp& ampsysteminput == 0))
{
System.out.println("你赢了");win++;//胜利数加1
flag = true//这里我补充一下。如果你赢了,你可以再玩一次。
}
Else{ //如果不相等,不满足中奖条件,则为亏损。
System.out.println("你输了");
flag = false//这里我补充一下。如果你输了,你退出游戏。
}
} while(flag);//注意你之前没有换过标志,所以标志总是假的,所以你一次只会打一次。
//为了改变你可以玩的次数,我改成了如果你抽到了,用户赢了,就提供一次重新玩的机会。如果你输了,你退出游戏。
System.out.println("你赢了:"+赢了);
System.out.println("你玩:"+num);
}
}
运行结果,输入的数字是:1,2,1,0,1(注意这个结果是随机的),每次玩的结果都不一样。
你:剑道
系统输入:剪刀
大平
你:卜
系统输入:石头
你赢了
你:剑道
系统输入:bu
你赢了
你:石头
系统输入:石头
大平
你:剑道
系统输入:石头
你输了
你赢了:2
你玩:5