行与列之间的端子间距

问题描述 投票:0回答:1

我正在尝试使用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中会发生此问题。无论如何,是否可以更改它匹配的间距?

enter image description here

c macos unix ncurses
1个回答
0
投票

代替此(作为带有蛇的正方形)

##########
#        #
#  ooo   #
#  o     #
#  o     #
#        #
#        #
#        #
#        #
##########

在相同情况下尝试此操作,即在每个非空白字符后插入水平空白。

# # # # # # # # # #
#                 #
#     o o o       #
#     o           #
#     o           #
#                 #
#                 #
#                 #
#                 #
# # # # # # # # # #

这样,您将获得更加方形的印象,并且在水平和垂直方向上都获得了一致的速度。

© www.soinside.com 2019 - 2024. All rights reserved.