java/배열

기억력 게임

june__Park 2021. 3. 23. 10:29
package week2;

import java.util.Random;
import java.util.Scanner;

public class Day7_remembergame {

	public static void main(String[] args) {
		/*
		 * # 기억력 게임
		 * 1. 같은 숫자의 위치를 2개 입력해 정답을 맞추는 게임이다.
		 * 2. 정답을 맞추면 back에 해당 숫자를 저장해,
		 *    back에 모든 수가 채워지면 게임은 종료된다.
		 * 예)
		 * front = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
		 * back  = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
		 * 입력1 : 0
		 * 입력2 : 1
		 * 
		 * front = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
		 * back  = [1, 1, 0, 0, 0, 0, 0, 0, 0, 0]
		 */
		Scanner sc = new Scanner(System.in);
		Random ran = new Random();
		
		int[] front = {1, 1, 2, 2, 3, 3, 4, 4, 5, 5};
		int[] back = new int[10];
		// 셔플(shuffle)
		int k = 0;
		while(k < 1000) {
			int r = ran.nextInt(10);
			int temp = front[0];
			front[0] = front[r];
			front[r] = temp;
			k += 1;
		}
		
		while(true) {
			int count =0;
			System.out.print("front = { ");
			for(int i = 0; i < front.length; i++) {
				System.out.print(front[i]+" ");
			}
			System.out.println("}");
			System.out.print("back = { ");
			for(int i = 0; i < back.length; i++) {
				System.out.print(back[i]+" ");
			}
			System.out.println("}");
			for(int i = 0; i < back.length; i++) {
				if(back[i]==1) {
					count++;
				}
			}
			if(count == 10) {
				System.out.println("게임 클리어.");
				break;
			}
			System.out.print("입력1: ");
			int index = sc.nextInt();
			System.out.print("입력2: ");
			int input = sc.nextInt();
			if(front[index]==input) {
				back[index]=1;
			}
			else {
				System.out.println("틀렸습니다.");
			}
		}
		sc.close();

	}

}