ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] 틱택톡 게임 만들기
    JAVA 2022. 12. 8. 18:30
    728x90
    반응형
    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

    728x90
    반응형
Designed by Tistory.