这是一个简单的猜拳小游戏。唯一亮点在于对判断输赢的算法作了优化,if ((human_opt - comp_opt + 1) % 3 == 0)这句是文眼。
import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		// 假设1代表石头,2代表剪刀,3代表布。
		// 计算机随机出拳,10次结束
		int count;
		int human_win = 0;
		int comp_win = 0;
		int equal = 0;
		String[] state = { "石头", "剪刀", "布" };
		Scanner input = new Scanner(System.in);
		for (count = 1; count < 11; count++) {
			System.out.println("第" + count + "局开始,请出拳:(1代表石头,2代表剪刀,3代表布)");
			int human_opt = input.nextInt();
			int comp_opt = (int) (Math.random() * 3 + 1);
			if (human_opt > 3 | human_opt < 1) {
				System.out.println("乱出拳,流局,重新出拳");
				count--;
				continue;
			}
			System.out.print("本局你出:" + state[human_opt - 1] + "\t电脑出:"
					+ state[comp_opt - 1] + "    \t");
			if (human_opt == comp_opt) {
				equal++;
				System.out.print("平局!\n");
			} else if ((human_opt - comp_opt + 1) % 3 == 0) {
				human_win++;
				System.out.print("你赢了!\n");
			} else {
				comp_win++;
				System.out.print("电脑赢!\n");
			}
		}
		System.out.println("比分为:" + (human_win + equal) + ": "
				+ (comp_win + equal));
		if (human_win == comp_win)
			System.out.println("你和计算机有基情!");
		else if (human_win > comp_win)
			System.out.println("英雄你可以去拯救世界了!");
		else
			System.out.println("很遗憾,挑战失败,下次再来!");
	}

}