【Java】使用AI助手写一个走迷宫游戏,手写代码0

发布时间:2023年12月27日

使用Java写一个走迷宫游戏

import java.util.Scanner;

public class MazeGame {
    private static char[][] maze = {  // 迷宫地图
            {'#', '#', '#', '#', '#', '#', '#', '#', '#', '#'},
            {'#', 'S', ' ', ' ', '#', ' ', ' ', ' ', ' ', '#'},
            {'#', '#', '#', ' ', '#', ' ', '#', '#', ' ', '#'},
            {'#', '#', '#', ' ', ' ', ' ', '#', '#', ' ', '#'},
            {'#', ' ', ' ', ' ', '#', '#', '#', '#', ' ', '#'},
            {'#', '#', '#', '#', '#', '#', '#', '#', ' ', '#'},
            {'#', '#', '#', '#', '#', '#', '#', '#', ' ', '#'},
            {'#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#'},
            {'#', '#', '#', '#', '#', '#', '#', '#', '#', '#'},
    };

    private static int startRow = 1;  // 起始位置行号
    private static int startCol = 1;  // 起始位置列号

    public static void main(String[] args) {
        playMazeGame();
    }

    private static void playMazeGame() {
        int row = startRow;
        int col = startCol;

        while (true) {
            printMaze(maze);
            System.out.println("请输入移动方向:(W上、S下、A左、D右)");
            Scanner scanner = new Scanner(System.in);
            String direction = scanner.nextLine().toUpperCase();

            int newRow = row;
            int newCol = col;

            switch (direction) {
                case "W":
                    newRow--;
                    break;
                case "S":
                    newRow++;
                    break;
                case "A":
                    newCol--;
                    break;
                case "D":
                    newCol++;
                    break;
                default:
                    System.out.println("请输入有效的移动方向!");
                    continue;
            }

            if (isPositionValid(newRow, newCol) && maze[newRow][newCol] != '#') {
                if (maze[newRow][newCol] == ' ') {
                    maze[newRow][newCol] = 'X';  // 未走过的位置
                } else if (maze[newRow][newCol] == 'G') {
                    System.out.println("恭喜你成功走出迷宫!");
                    break;
                }
                maze[row][col] = ' ';  // 修改当前位置为可通过
                row = newRow;
                col = newCol;
            } else {
                System.out.println("无法向该方向移动!");
            }
        }
    }

    private static boolean isPositionValid(int row, int col) {
        return row >= 0 && row < maze.length && col >= 0 && col < maze[0].length;
    }

    private static void printMaze(char[][] maze) {
        for (char[] row : maze) {
            for (char cell : row) {
                System.out.print(cell + " ");
            }
            System.out.println();
        }
        System.out.println();
    }
}

说明:在地图上随便替换一个外围的# 为 G,作为出口,游戏就可以玩出啦,如图:

在这里插入图片描述

文章来源:https://blog.csdn.net/like_start/article/details/135241819
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。