我的问题是:如何在我的扑克代码中为卡片制作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 --- --- --- --- --- ");
答案 0 :(得分:1)
因此,请让所有卡片的符号都有2个空格。