私は2D配列プロジェクトの迷路ゲームに取り組んでいます。これまで私はランダム化されたゲームボードを作ってきました。プログラムが実行されるたびに、ゲームボードがランダム化されます。目標は、 'X'と '*'を避けながら右上から 'E'(最後)の左下に 'P'(プレイヤー)を得ることです。私は、プレイヤーが上、下、右、左を入力してPを動かせるようにする方法を助ける必要があります。簡単なJava 2D配列の迷路ゲーム
public class MazeGame {
//Declare scanner to allow user to input directional commands
Scanner move = new Scanner(System.in);
public static void main(String[] args) {
//Call methods
Game_Beginning();
Game_Board();
}
//Intro to the game
public static void Game_Beginning(){
System.out.println("This is your game board:");
System.out.println("-------------------------------");
}
//Game Board
public static void Game_Board(){
//Declare new array, maze 10x10
char maze[][] = new char[10][10];
//Randomly print the obstacles in the maze.
for (int i = 0; i < maze.length; i++){
for (int j = 0; j < maze.length; j++){
double random = Math.random();
if (random <= .05){
maze[i][j] = '*';
}
else if (random > .06 && random <= .15){
maze[i][j] = 'X';
}
else{
maze[i][j] = '.';
}
maze[0][0] = 'P';
maze[9][9] = 'E';
System.out.print(maze[i][j]);
}
System.out.println("");
}
}
/**
* Add a method called "makePMove." Define char right, char left and so on
*/
public static void makeMove(){
int row;
int col;
System.out.print("Enter your move (Up-Down-Left-Right): ");
}
}
'P'の位置を保存してから、入力した方向をテストする' move() 'メソッドが必要です。インデックスが範囲外であるかどうかを確認し、適切に戻ります。 –
[Java命名規則](http://www.oracle.com/technetwork/java/codeconventions-135099.html)では、メソッドは大文字で始めるべきではなく、動詞である必要があります(または少なくとも動詞で始める必要があります) 。また、アンダースコアは、通常、メソッド名ではなく定数の命名にのみ使用されます。 –
あなたのボードは純粋に無作為に生成されているので、迷路が解けるという保証はありません。迷路が解決できるかどうかを検証するための論理を作成し、解決できない場合は新しいものを生成することを検討する必要があります。 –