我正在尝试用Java制作俄罗斯方块游戏。我已经制作了在矩阵中移动形状的函数。但是我不知道在运行时从键盘上按下键时如何访问这些功能。
public class tetris
{
public static void main(String args[])throws InterruptedException
{
int score=0;
int height=30;
int width=30;
board obj=new board(height,width);
SquareShape sq=new SquareShape(height,width);
while(true)
{
System.out.println("\t Score: "+score);
obj.createboard();
board.update(sq);
obj.dispboard();
sq.movedown();
Thread.sleep(1000);
System.out.print("\033[H\033[2J");
}
}
}
答案 0 :(得分:0)
您在编写游戏机吗? 有点硬,但是如果您喜欢它的话:)
您需要从控制台捕获输入流。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine(); // or br.read(byteBuffer);
通过JDK的默认实现,流仅在ENTER之后才会为您提供数据。
因此,如果您需要按键操作,请尝试一下。 这是一个Java / scala示例,但是可以很容易地更改为适用于纯Java: How to capture keyboard event without Enter key in java/scala? 跟随线程进入github实现!
或者,如果您有权访问awt软件包,也可以使用该软件包。
希望有帮助。
无论如何...我的2c:如果将代码编码为android或ios,它将是更好的游戏。