gpt4 book ai didi

c - 用可移动的角色在C中制作一个带边框的盒子

转载 作者:太空宇宙 更新时间:2023-11-04 08:27:57 25 4
gpt4 key购买 nike

我有几个问题,我正在通过 Zed Shaw Book 学习 C ,我想我会休息一下,尝试把我到目前为止学到的东西付诸实践。但后来我卡住了。

第一个问题是创建一个空框。我似乎无法做到这一点。我可以创建一个框,缺少底部但它由“*”填充,如果我只是执行 '' 然后 c 编译器状态:create_border.c:12:14:错误:预期的表达式

第二个问题,我不知道如何连接到键盘,这样当我按上、下、左、右一个字符时,@ 在这种情况下会四处移动并在它停止时停止他的优势。

目前我只有:

#include <stdio.h>

#define MAX_Y 6
#define MAX_X 6

void print_board(char board[MAX_Y][MAX_X]);

int main(int argc, char *argv[]) {

char exampleBoard[MAX_Y][MAX_X] = {
{'x','-','-','-','-','x'},
{'|','*','*','*','*','|'},
{'|','*','*','*','*','|'},
{'|','*','*','*','*','|'},
{'|','*','*','*','*','|'},
{'x','-','-','-','-','x'}
};

print_board(exampleBoard);

return 0;
}

void print_board(char board[MAX_Y][MAX_X]) {

int row = 0;
int col = 0;

for(row = 0; row < MAX_Y; row++) {
for(col = 0; col < MAX_X; col++) {
printf("%c", board[row][col]);
}

printf("\n");
}

printf("\n\n");
}

所有这些打印出来的是:

x----x
|****|
|****|
|****|
|****|

所以这就是我所期望的:

  • 一个空框,没有 '*' 和一个 @ 字符在框中的任何位置。
  • 能够移动 @ 并在到达边界时让它停止。

非常感谢任何帮助。

最佳答案

在终端中,“空格”是一个空格字符。你可以用 ' ' 而不是 '' 来写它。

然后,为了读取键盘,你可以用 read 来实现直接从您的终端系统调用。但是您的终端的默认配置将强制您在每个键之间按 enter 以使您的阅读有效。

注意:您可以使用像 ncurses 这样的库来简化这种 ASCII 编程。 .

关于c - 用可移动的角色在C中制作一个带边框的盒子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29554301/

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