【发布时间】:2023-01-03 00:00:56
【问题描述】:
我是 C 的新手,我想做一个二十一点游戏。问题是我想把玩家的牌印在同一行上。例如像这样:
___________ ___________
| K K | | Q Q |
| | | |
| + + | | + + |
| + | | + |
| + + | | + + |
| | | |
| + + | | + + |
| + | | + |
| + + | | + + |
|___________| |___________|
但是下面的代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
const char *card_k=
"\n ___________ "
"\n| K K |"
"\n| |"
"\n| + + |"
"\n| + |"
"\n| + + |"
"\n| |"
"\n| + + |"
"\n| + |"
"\n| + + |"
"\n|___________|";
const char *card_q=
"\n ___________ "
"\n| Q Q |"
"\n| |"
"\n| + + |"
"\n| + |"
"\n| + + |"
"\n| |"
"\n| + + |"
"\n| + |"
"\n| + + |"
"\n|___________|";
printf("%s",card_k);
printf("%s",card_q);
system("Pause");
return 0;
}
显然打印这个,因为换行符:
___________
| K K |
| |
| + + |
| + |
| + + |
| |
| + + |
| + |
| + + |
|___________|
___________
| Q Q |
| |
| + + |
| + |
| + + |
| |
| + + |
| + |
| + + |
|___________|
我认为 python 中的类似修复是使用 end='' 但我不知道如何在 C 中执行此操作。我们将不胜感激。
【问题讨论】:
-
第 1 步:从卡片图像中删除换行符,使每张卡片成为一个字符串数组(没有换行符)而不是单个字符串。第 2 步:修改打印卡片图像的代码,在页面上打印 N 个图像,一次一行,图像之间适当分隔,并在行处换行结尾的线。