编辑:由于在java中没有清除控制台的命令,因此必须通过GUI实现。
我正在编写一个基于游戏机的小游戏,我想问一下如何在控制台的同一位置打印我的矩阵? 我想让它看起来像矩阵中的变化出现在" realtime",这意味着用户没有看到绘制了新矩阵。
功能级别创建一个新矩阵,显示打印出当前矩阵:
/**
* creates a new gameworld(matrix of size mxn)
* @param m
* @param n
* @return
*/
public int[][] level(int m, int n){
//initialize gameworld
int[][] lGW = new int[m][n];
//fill matrix with 0
for(int i = 0; i <= m-1; i++ ){
for(int j = 0; j <= n-1; j++ ){
lGW[i][j] = 0;
}
}
return lGW;
}
/**
* show the gameworld in the console
*/
public void displayGameWorld(){
for(int i = 0; i <= gameworld.length-1; i++){
for(int j = 0; j <= gameworld[0].length-1; j++){
System.out.printf("%3d", gameworld[i][j]);
}
System.out.println();
}
}
答案 0 :(得分:0)
我不是这个主题的专家,但我只是有个主意。我记得当我还是小孩的时候,我们曾经在一个控制台上工作(不记得什么是操作系统),当你点击clrscr时,它会一直向下滚动并将你输入的所有内容都推出视图。使用这个概念,
1.当用户做矩阵改变时,你是否有一个被调用的函数?
2.如果是,则在功能开始时清除屏幕
3.在屏幕顶部打印矩阵
4.让用户执行他的任务,最终导致矩阵发生变化
5.再次清除屏幕并重新打印矩阵?
这样,矩阵在变化之前和之后都在屏幕的顶部?
我很抱歉,如果这听起来真的很愚蠢。当我在阅读你的问题时,我才有了这个想法。