Javaミニゲームのじゃんけんゲーム

1703 ワード

考え方:
3つのクラスを定義し、それぞれ受信者が出力する命令を実現し、コンピュータはランダムにジェスチャーを出し、出力結果を比較判断する.
最初のクラスのコードセクション:
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文を使って判断して、対応する整数を得て、便利な後に比較します
2番目のクラスのコードセクション:
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文を利用して文字を数字に対応してマッチングして、そして文字を出力します
3番目のテストクラスのコードセクション:
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;
		}
		}
		
	}
}

解析:3つのクラスで1,2,3の3つの整数がそれぞれ対応する値を明確にし,これらの整数をnum 1とnum 2で受信し,num 1とnum 2の減算結果分布を得た
if文を用いて,異なる場合に異なる結果を出力する.