Java小游戏之猜拳游戏

思路:

定义三个类,分别实现接收人输出的指令,电脑随机出手势,进行比较判断输出结果

第一个类的代码部分:

public class Person {
	public static int punch() {
		System.out.println("请出 石头 剪刀 布");	
		Scanner scanner = new Scanner(System.in);		//扫描用户输入的字符串,并打印出来
		String string = scanner.nextLine();
		//把输入的字符串与数字进行匹配
		int num = 0;			//对输入的字符进行判断,给num不同的赋值
		switch (string) {
		case "石头":
			num =1;
			break;
		case "剪刀":
			num = 2;
			break;
		case "布":
			num = 3;
			break;
			default:
				break;
		}
		scanner.close();
		return num;
		
	}
}
分析:让用户输入文字指令,然后获取并且将这些字符使用switch语句进行判断,得到对应的整数,方便之后比较

第二个类的代码部分:

public class Computer {

	public static int punch() {
		int num = (int)(Math.random()*3+1);	//随机输出1~3之间的整数
		switch (num) {						//对num值进行判断,屏幕输出 石头、剪刀、布
		case 1:
			System.out.println("电脑---石头");
			break;
		case 2:
			System.out.println("电脑---剪刀");
			break;
		case 3:
			System.out.println("电脑---布");
			break;
		}
		return num;
	}
}

分析:利用随机数知识,随机输出1~3之间的整数,利用switch语句将字符与数字对应匹配,并输出字符

第三个测试类的代码部分:

public class Judge {
	public static void main(String[] args) {
		w:while(true) {
		int num1 = Person.punch();
		int num2 = Computer.punch();
		int num = num1 - num2;
		if(num == -1 || num == 2) {
			System.out.println("人赢了");
			break w;
		}else if(num == -2 || num ==1) {
			System.out.println("电脑赢了");
			break w;
		}else if(num == 0) {
			continue w;
		}
		}
		
	}
}

分析:在三个类中明确了1、2、3三个整数分别对应的值,并且将这些整数进行接收,分别是num1和num2,而后得到num1和num2相减结果分布

利用if语句,不同的情况输出不同的结果。






你可能感兴趣的:(Java)