gpt4 book ai didi

java - 程序运行时继续读取输入

转载 作者:行者123 更新时间:2023-12-02 05:25:18 24 4
gpt4 key购买 nike

我正在尝试为即将到来的测试编写一个简单的吃 bean 人/贪吃蛇游戏。由于我们不会使用 GUI(还没有教过,我不明白,而且我不知道他们是否允许),所以游戏将在控制台/命令行上运行。当程序读取我的输入时,如何让我的吃 bean 人或蛇继续移动?例如,如果我按向右箭头或“D”,蛇或吃 bean 人将向右移动,并且它将继续向右运行,直到我按另一个按钮(在我的程序中,这意味着我的数组中的 X 坐标将继续增加 1) )我不知道是否可能,感谢任何帮助

static void mapInit(){ // this is the map. I use 10x10 array. I made it so any blank space that pacman or snake can move have 0 value
for (int i = 0; i < map.length; i++) {
for (int j = 0; j < map.length; j++) {
if(i == 0 || i == 9)
map[i][j] = rand.nextInt(9)+1;
else if(i != 0 && i != 9){
if( j == 9 || j == 0) map[i][j] = rand.nextInt(9)+1;
}//else if
} //second for
} // top for

} //mapInit
static void world(){ // this prints out the map and the snake
for (int i = 0; i < map.length; i++) {
for (int j = 0; j < map.length; j++) {
if(i == y && j == x) { // X and Y is the coordinate of my snake or pacman
System.out.print("C");
System.out.print(" ");
}
else if (map[i][j] == 0) {
System.out.print(" ");
System.out.print(" ");


}
else {
System.out.print(map[i][j]);
System.out.print(" ");
}
}
System.out.println();
}


} // world

最佳答案

看起来监听器就是您可能正在寻找的东西。您需要使您决定处理输入的类实现 KeyListener,然后重写以下一个或多个方法以获得您想要的行为。最重要的是,您需要确保您的程序不会在第一次运行时退出,因此需要一个游戏循环。 Java docs 中有一个关于如何编写 KeyListener 的更完整的示例。 .

如果您希望 pacman 继续朝某个方向前进,您可以设置一个 currentDirection 变量,使其在按下按键时设置的所需方向的每一帧中移动。

public void keyTyped(KeyEvent e) {
displayInfo(e, "KEY TYPED: ");
}

/** Handle the key-pressed event from the text field. */
public void keyPressed(KeyEvent e) {
displayInfo(e, "KEY PRESSED: ");
}

/** Handle the key-released event from the text field. */
public void keyReleased(KeyEvent e) {
displayInfo(e, "KEY RELEASED: ");
}

关于java - 程序运行时继续读取输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26095954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com