Java 2 D配列迷宮ゲーム

33292 ワード

2 D配列迷路
  :
1.     ---        
        array[1][1]
        array[1][9]
2.   '0'   
               '0'      
         '#'     
                          '#'
      '#'      ,          
3.    (         array[1][9] == ' ' --> array[1][9] == '0'
                 while       

public static void main(String[] args) {
    //  8     ,        10   
    // array[1][9] ---   
    // array[1][1] d ---> array[1][1] == ' '
    //                        array[1][2] == '0'
    // array[1][2] s ---> array[1][2] == ' '
    //                        array[2][2] == '0'
    // array[2][2] w ---> array[2][2] == ' '
    //                        array[1][2] == '0'
    // array[1][2] a ---> array[1][2] == ' '
    //                        array[1][1] == '0'
    char[][] array = {
    // y  0   1   2   3   4   5   6   7   8   9
        {'#','#','#','#','#','#','#','#','#','#'},// 0 ----- x
        {'#','0',' ',' ',' ',' ','#','#',' ',' '},// 1
        {'#','#',' ','#','#','#','#','#',' ','#'},// 2
        {'#',' ',' ',' ',' ','#','#','#',' ','#'},// 3
        {'#',' ','#','#',' ','#',' ',' ',' ','#'},// 4
        {'#',' ','#','#',' ','#',' ','#','#','#'},// 5
        {'#',' ',' ',' ',' ',' ',' ','#','#','#'},// 6
        {'#','#','#','#','#','#','#','#','#','#'},// 7
    };
    //     
    printArray(array);
    //        (    、    )
    //   
    int x = 1;
    int y = 1;
    //   
    int ex = 1;
    int ey = 9;
    Scanner scanner = new Scanner(System.in);
    while(array[ex][ey] != '0') {
        //     (    ) w a s d
        System.out.println("   (    ) w a s d:");
        //       
        String string = scanner.nextLine();
        //     ,     
        switch (string) {
        case "w":
            //           
            if (array[x - 1][y] != '#') {
                //        
                array[x][y] = ' ';
                //           - 1
                x--;
                //      '0'
                array[x][y] = '0';
            }
            break;
        case "a":
            //           
            if (array[x][y - 1] != '#') {
                //        
                array[x][y] = ' ';
                //           - 1
                y--;
                //      '0'
                array[x][y] = '0';
            }       
            break;
        case "s":
            //           
            if (array[x + 1][y] != '#') {
                //        
                array[x][y] = ' ';
                //           + 1
                x++;
                //      '0'
                array[x][y] = '0';
            }
            break;
        case "d":
            //           
            if (array[x][y + 1] != '#') {
                //        
                array[x][y] = ' ';
                //           + 1
                y++;
                //      '0'
                array[x][y] = '0';
            }
            break;
        default:
            break;
        }
        //           
        printArray(array);
    }
    System.out.println("      !");
    scanner.close();
}

//        
public static void printArray(char[][] array) {
    for (int i = 0; i < array.length; i++) {
        for (int j = 0; j < array[i].length; j++) {
            System.out.print(array[i][j]);
        }
        System.out.println();
    }
}

2 D配列迷路
         main                        

static Scanner scanner = new Scanner(System.in);
static int num = 0;
public static void main(String[] args) {
    //  8     ,        10   
    // array[1][9] ---   
    // array[1][1] d ---> array[1][1] == ' '
    //                        array[1][2] == '0'
    // array[1][2] s ---> array[1][2] == ' '
    //                        array[2][2] == '0'
    // array[2][2] w ---> array[2][2] == ' '
    //                        array[1][2] == '0'
    // array[1][2] a ---> array[1][2] == ' '
    //                        array[1][1] == '0'
    char[][] array = {
    // y  0   1   2   3   4   5   6   7   8   9
        {'#','#','#','#','#','#','#','#','#','#'},// 0 ----- x
        {'#','0',' ',' ',' ',' ','#','#',' ',' '},// 1
        {'#','#',' ','#','#','#','#','#',' ','#'},// 2
        {'#',' ',' ',' ',' ','#','#','#',' ','#'},// 3
        {'#',' ','#','#',' ','#',' ',' ',' ','#'},// 4
        {'#',' ','#','#',' ','#',' ','#','#','#'},// 5
        {'#',' ',' ',' ',' ',' ',' ','#','#','#'},// 6
        {'#','#','#','#','#','#','#','#','#','#'},// 7
    };
    char[][] array1 = {
            // y  0   1   2   3   4   5   6   7   8   9
            {'#','#','#','#','#','#','#','#','#','#'},// 0 ----- x
            {'#','0',' ',' ',' ','#',' ',' ',' ',' '},// 1
            {'#','#','#','#',' ','#',' ','#',' ','#'},// 2
            {'#',' ',' ',' ',' ','#',' ','#',' ','#'},// 3
            {'#',' ','#','#','#','#',' ','#',' ','#'},// 4
            {'#',' ','#','#',' ','#',' ','#',' ','#'},// 5
            {'#',' ',' ',' ',' ',' ',' ',' ','#','#'},// 6
            {'#','#','#','#','#','#','#','#','#','#'},// 7
        };
    char[][] array2 = {
            // y  0   1   2   3   4   5   6   7   8   9
            {'#','#','#','#','#','#','#','#','#','#'},// 0 ----- x
            {'#','0',' ',' ',' ','#',' ',' ',' ',' '},// 1
            {'#',' ','#','#',' ','#','#',' ','#','#'},// 2
            {'#',' ','#','#',' ','#','#',' ','#','#'},// 3
            {'#',' ','#','#',' ','#','#',' ','#','#'},// 4
            {'#',' ','#','#',' ','#','#',' ','#','#'},// 5
            {'#',' ',' ',' ',' ',' ',' ',' ','#','#'},// 6
            {'#','#','#','#','#','#','#','#','#','#'},// 7
        };

    for (int i = 0; i < 3; i++) {
        switch (i) {
        case 0:
            //     
            printArray(array);
            System.out.println("   ");
            game(array);
            break;

        case 1:
            //     
            printArray(array1);
            System.out.println("   ");
            game(array1);
            break;

        case 2:
            //     
            printArray(array2);
            System.out.println("   ");
            game(array2);
            System.out.println("   " + num + "       ");
            break;

        default:
            break;
        }
    }

}

//        
public static void printArray(char[][] array) {
    for (int i = 0; i < array.length; i++) {
        for (int j = 0; j < array[i].length; j++) {
            System.out.print(array[i][j]);
        }
        System.out.println();
    }
}
//     
public static void game(char[][] array) {
    //        (    、    )
    //   
    int x = 1;
    int y = 1;
    //   
    int ex = 1;
    int ey = 9;
    while(array[ex][ey] != '0') {
        //     (    ) w a s d
        System.out.println("   (    ) w a s d:");
        //       
        String string = scanner.nextLine();
        num++;
        //     ,     
        switch (string) {
        case "w":
            //           
            if (array[x - 1][y] != '#') {
                //        
                array[x][y] = ' ';
                //           - 1
                x--;
                //      '0'
                array[x][y] = '0';
            }
            break;
        case "a":
            //           
            if (array[x][y - 1] != '#') {
                //        
                array[x][y] = ' ';
                //           - 1
                y--;
                //      '0'
                array[x][y] = '0';
            }       
            break;
        case "s":
            //           
            if (array[x + 1][y] != '#') {
                //        
                array[x][y] = ' ';
                //           + 1
                x++;
                //      '0'
                array[x][y] = '0';
            }
            break;
        case "d":
            //           
            if (array[x][y + 1] != '#') {
                //        
                array[x][y] = ' ';
                //           + 1
                y++;
                //      '0'
                array[x][y] = '0';
            }
            break;
        default:
            break;
        }
        //           
        printArray(array);
    }
    System.out.println("      !");
}

http://blog.csdn.net/huzongnan/article/list