我正在尝试使用C创建蛇终端游戏。我正在使用ncruses
从箭头键获取输入。
我正在绘制一个带有空白的简单边框,以获取蛇的“地图”。
void draw(){
for(int i = 0; i < cols; i++){
for(int j = 0; j < rows; j++){
if(i == 0 || i == cols-1 || j == 0 || j == rows-1)
mvaddch(i,j,'#');
else
mvaddch(i,j,' ');
}
}
refresh();
}
我的问题是,列和行之间的间距不同。 row和cols都初始化为20。所以我认为应该是一个正方形。在terminal.app和iterm2中会发生此问题。无论如何,是否可以更改它匹配的间距?
代替此(作为带有蛇的正方形)
##########
# #
# ooo #
# o #
# o #
# #
# #
# #
# #
##########
在相同情况下尝试此操作,即在每个非空白字符后插入水平空白。
# # # # # # # # # #
# #
# o o o #
# o #
# o #
# #
# #
# #
# #
# # # # # # # # # #
这样,您将获得更加方形的印象,并且在水平和垂直方向上都获得了一致的速度。