我的问题是:如何在我的扑克代码中为纸牌制作 ASCII 边框?一切正常,直到 10 号出现。所有其他卡片“12345678910JQKA”包含 1 个符号,但 10 个包含 2 个,因此它移动了我的 ASCII 边框。
代码如下:
printf ("\n\nYour cards are:\n");
printf (" ___ ___ ___ ___ ___\n");
printf (" |%s | |%s | |%s | |%s | |%s | \n", pack[0].value, pack[1].value, pack[2].value, pack[3].value, pack[4].value);
printf (" | %s | | %s | | %s | | %s | | %s | ", pack[0].suit, pack[1].suit, pack[2].suit, pack[3].suit, pack[4].suit );
printf ("\n | %s| | %s| | %s| | %s| | %s| ", pack[0].value, pack[1].value, pack[2].value, pack[3].value, pack[4].value);
printf ("\n --- --- --- --- --- ");
好的找到答案了。 上面的数字是 %-2s,所以 - 让他们仍然留在左边,下面的数字是 %2s。
printf ("\n\nYour cards are:\n");
printf (" ___ ___ ___ ___ ___\n");
printf (" |%-2s | |%-2s | |%-2s | |%-2s | |%-2s | \n", pack[0].value, pack[1].value, pack[2].value, pack[3].value, pack[4].value);
printf (" | %s | | %s | | %s | | %s | | %s | ", pack[0].suit, pack[1].suit, pack[2].suit, pack[3].suit, pack[4].suit );
printf ("\n | %2s| | %2s| | %2s| | %2s| | %2s| ", pack[0].value, pack[1].value, pack[2].value, pack[3].value, pack[4].value);
printf ("\n --- --- --- --- --- ");
最佳答案
所以让你所有的卡片都有 2 个空格来放置它们的符号。
关于c++ - 如何在 C++ 中为卡片制作 ASCII 边框并制作 10 不移动它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23557153/