[JAVA][家庭作业]Pickomino游戏
嘿,小伙子们,姑娘们。 这是我在这里的第一篇帖子,所以如果可以的话,请温柔一点 我必须创建一个名为Pickomino的Java版棋盘游戏。在这个游戏中,你是一只小鸡,你在掷骰子,你在收集桌上的虫子。桌子上有16张牌。若一个玩家选择了一张牌,他会把它放在他的“堆叠堆”中,然后把它从桌子上移除 在我的“main method”中,我有一个从表中获取分数的代码,但正如您将看到的,它不是100%正确的,所以我希望听到您的意见,也许有更好的解决方案[JAVA][家庭作业]Pickomino游戏,java,arrays,Java,Arrays,嘿,小伙子们,姑娘们。 这是我在这里的第一篇帖子,所以如果可以的话,请温柔一点 我必须创建一个名为Pickomino的Java版棋盘游戏。在这个游戏中,你是一只小鸡,你在掷骰子,你在收集桌上的虫子。桌子上有16张牌。若一个玩家选择了一张牌,他会把它放在他的“堆叠堆”中,然后把它从桌子上移除 在我的“main method”中,我有一个从表中获取分数的代码,但正如您将看到的,它不是100%正确的,所以我希望听到您的意见,也许有更好的解决方案 if (player1.canIPick(pickedD
if (player1.canIPick(pickedDice)){
switch (sumOfDice) {
case 21:
case 22:
case 23:
case 24:
player1.setPoints(1);
break;
case 25:
case 26:
case 27:
case 28:
player1.setPoints(2);
break;
case 29:
case 30:
case 31:
case 32:
player1.setPoints(3);
break;
case 33:
case 34:
case 35:
case 36:
player1.setPoints(4);
break;
}
}
在这段代码中有两件事我不喜欢,首先,这是错误的,因为如果有人从表中选择一张牌并获得积分,另一个玩家可以选择相同的牌。
正如我所说,这是我主要方法的一部分,我不喜欢,所以我想在另一个类中创建一个数组,并从那里访问卡,但我在这方面遇到了一些问题。
你还有什么建议可以给我帮助我吗?
阵列会起作用吗?还是它也是一种错误的方式
谢谢你的时间。我不确定这个游戏到底是怎么玩的。 但是我建议你在桌子上制作一系列的卡片,(就像你说的)。 并在新游戏开始时重置值
ArrayList<Integer> cardsOnTable = new ArrayList<Integer>();
for(int i = minPoint; i<=maxPoint;i++) {
cardsOnTable.add(i);
}
或者您可以尝试使用带有整数和布尔值的HashMap,并在使用卡时使用布尔值表示 到底是什么不起作用/不对?你发布的代码与你在问题中提到的卡片无关。想象一下,卡片上有两个数字。这一个号码是你可以使用卡的号码,在我的情况下就是这个号码。setPoint()方法中的数字是玩家获得的点数(=蠕虫)。如果我是玩家1,在骰子中总共得到25分,我将得到2分。如果你在轮到你的时候得到25分,在我的代码中,你也会得到2分。这是错误的。你不能再从棋盘上选那张牌了。听起来不错。我会试试的,我会回来的。谢谢
if (player1.canIPick(pickedDice)){
if(cardsOnTable.contains(sumOfDice)) {
/* check for points here*/
cardsOnTable.remove(sumOfDice));
}
}