오늘의하루

[Java] 틱택톡 게임 만들기 본문

JAVA

[Java] 틱택톡 게임 만들기

오늘의하루_master 2022. 12. 8. 18:30
import java.util.*;
import java.io.*;

public class Main {
    static int[][] arr = new int[3][3];
    static List<Integer> list = new ArrayList<>();
    public static void main(String[] args) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        while(true) {
            System.out.print("원하는 위치를 좌표로 작성해주세요 >> ");
            String[] str = null;
            try {
                str = br.readLine().split(",");
            } catch(Exception e) {
                e.printStackTrace();
            }
            if(arr[Integer.parseInt(str[0])][Integer.parseInt(str[1])] != 0 || Integer.parseInt(str[0]) > arr.length || Integer.parseInt(str[1]) > arr[0].length) {
                System.out.println("좌표를 다시 확인해주세요.");
                show();
                continue;
            } else {
                arr[Integer.parseInt(str[0])][Integer.parseInt(str[1])] = 1;
                list.add(1);
            }
            game();
            while(true) { // Computer 
                int x = (int)(Math.random()* arr[0].length);
                int y = (int)(Math.random()* arr.length);

                if(arr[x][y] == 0) {
                    arr[x][y] = -1;
                    list.add(-1);
                    break;
                } else {
                    continue;
                }
            }
            show();
            game();
        }
    }
    public static void show() {
        for(int i = 0; i < arr.length; i++) {
            System.out.println(Arrays.toString(arr[i]));
        }
    }
    public static void game() {
        for(int i = 0; i < arr.length; i++) {
            int x = Arrays.stream(arr[i]).sum();
            if(x == 3) {
                System.out.println("사용자 승");
                show();
                System.exit(0);
            } else if(x == -3) {
                System.out.println("컴퓨터 승");
                show();
                System.exit(0);
            }
        }
        for(int j = 0; j < arr.length; j++) {
            int sum = 0;
            for(int k = 0; k < arr.length; k++) {
                sum = sum + arr[k][j];
                if(sum == 3) {
                    System.out.println("사용자 승");
                    show();
                    System.exit(0);
                } else if(sum == -3) {
                    System.out.println("컴퓨터 승");
                    show();
                    System.exit(0);
                }
            }
        }

        int ssum = 0;
        for(int j = 0; j < arr.length; j++) {
            ssum = ssum + arr[j][j];
        }
        if(ssum == 3) {
            System.out.println("사용자 승");
            System.exit(0);
        } else if(ssum == -3) {
            System.out.println("컴퓨터 승");
            System.exit(0);
        }

        int sssum = 0;
        for(int i = arr.length-1, j = 0; i >= 0; i--, j++) {
            sssum = sssum + arr[j][i];
        }
        if(sssum == 3) {
            System.out.println("사용자 승");
            System.exit(0);
        } else if(sssum == -3) {
            System.out.println("컴퓨터 승");
            System.exit(0);
        }

        if(list.size() == 9) {
            System.out.println("비겼습니다.");
            show();
            System.exit(0);
        }
    }
}

game

Comments