//今天随便写了一个猜拳的游戏,不过很烂的说,剪刀石头布.哈哈..
import java.util.*;
public class Test{
public static void main(String args[]){
System.out.println("游戏规则如下:\n\n出剪刀则输入1 出石头则输入2 出布则输入3 \n");
while(true){
Scanner ob = new Scanner(System.in);
System.out.print("你要出什么拳?:");
int i=ob.nextInt();
int[] s={1,2,3};
java.util.Random rand=new java.util.Random(System.currentTimeMillis());
int j=s[Math.abs(rand.nextInt())% s.length];
String p;
if (j==1)
p="剪刀";
else if (j==2)
p="石头";
else
p="布";
System.out.println("电脑猜拳出的是:"+p);
String k;
if((i==1&&j==3)||(i==2&&j==1)||(i==3&&j==2))
k="你赢了";
else if((j==1&&i==3)||(j==2&&i==1)||(j==3&&i==2))
k="电脑赢了";
else if((i==1&&j==1)||(i==2&&j==2)||(i==3&&j==3))
k="两人打平";
else
k="出错!数据输入不合法!";
System.out.println("\n两人猜拳的结果为:"+k+"\n\n");;
}
}
}我是菜鸟,今天没事写出来的..觉得代码很冗杂,请高手帮帮忙压缩一下..谢谢了..
import java.util.Scanner;public class Test { public final static String[] NAME = {"石头", "剪刀", "布"}; public static void main(String[] args){ System.out.println(
"游戏规则如下:\n\n" +
"出石头则输入 0 出剪刀则输入 1 出布则输入 2 \n");
Random rand = new Random(); while(true) {
Scanner ob = new Scanner(System.in);
System.out.print("你要出什么拳?"); int i = ob.nextInt() % 3;
int j = rand.nextInt(3);
System.out.println("你猜拳出的是:" + NAME[i]);
System.out.println("电脑猜拳出的是:" + NAME[j]); String k = null;
if(i == j) {
k = "两人打平";
} else if((i + 1) % 3 == j) {
k = "你赢了";
} else {
k = "你输了";
} System.out.println("\n两人猜拳的结果为:" + k + "\n\n");
}
}
}将石头、剪刀、布定义成 0、1、2可以通过 (i + 1) % 3 == j 来判断你是否赢了。