爪哇纸牌洗牌和上弦一个星号的背面卡
我在做一个纸牌游戏*其中,游戏区域的数组元素中有28个值。游戏区采用纸牌形式。*在bank的数组元素中有24个值。我循环它,但它不工作
如何将阵列上的元素转换为倒直角三角形(纸牌格式)?洗牌。 *以及如何将上面的字符串变成代表卡片背面的星号
public static void main(String[] args) {
int row, space, column;
//declaring 52 cards for solitaire
String[] cards = { "A@", "A#", "A$", "A&", "2@", "3@", "4@", "5@", "6@",
"7@","8@", "9@", "10@", "K@", "Q@", "J@", "2#", "3#", "4#",
"5#", "6#", "7#", "8#","9#", "10#", "K#", "J#", "2$" ,
"3$", "4$" , "5$", "6$" , "7$", "8$" , "9$", "10$" , "K$", "Q$", "J$",
"2&" , "3&", "4&" , "5&", "6&" , "7&", "8&" , "9&", "10&" , "K&", "Q&",
"J&", "Q#" };
List<String> list = Arrays.asList(cards);
Collections.shuffle(list);
//looping for solitaire format
for(row=1;row<=28;row++)
{
for(String alpha : list){
for(space=28;space>=row;space--)
{
System.out.print(" ");
}
for(column=1;column<=row;column++)
{
System.out.print(" " +alpha);
}
System.out.print("\n");
# 1 楼答案
假设每个“卡片”占据一行,那么你的问题是你想要7行,每行的列数减少(7+6+5+4+3+2+1=28张卡片)——而不是28行
如果这不能解决你的问题,你可能想看一个glossary of solitaire terms来更好地描述你想做什么