我正在用Java制作纸牌游戏,我有一个Card对象,一个Deck(一个纸牌对象数组)和一个Hand(也有一个纸牌对象数组)。
我正在使用一种在Deck中绘制纸牌的方法,该方法已在下面附上:
function AmB(): any {
const a = A();
const b = B();
const bPairs = _.toPairs(b);
const bNotEnabled = _.filter(bPairs, bPair => { return !bPair[1].enabled });
const aPairs = _.toPairs(a);
const aMinusB = _.reject(aPairs, aPair => _.find(bNotEnabled, b => b[0] === aPair[0]));
return {...aMinusB}
}
在我的主班上,我使用上述方法从甲板上将牌抽到手。
public Card [] drawCard(Deck Deck , Hand Hand, int x, int y) {
Hand[x] = Deck[y];
return Hand;
}
但是,我收到错误消息“ [[Java]表达式的类型必须是数组类型,但是解析为Hand Hand PlayerHand-Main.main(String [])“ 。
我不知道如何解决此错误,所以有人可以向我解释哪里出错了吗?
我在下面附加了我的副驾驶班和手工班。请随时向我提供有关它们的反馈。
手课堂:
for (i = 0 ; i < 2 ; i++) {
Deck.drawCard(Deck, PlayerHand, i, i);
}
for (i = 0 ; i < 2 ; i++) {
x = 2;
Deck.drawCard(Deck, PlayerHand, i, x);
x++;
}
String PlayerCard1 = PlayerHand[0];
String PlayerCard2 = PlayerHand[1];
String DealerCard1 = DealerHand[0];
String DealerCard2 = DealerHand[1];
甲板舱室:
public class Hand {
Hand(){
Card [] Hand = new Card [9];
}
}
这是我的第一个问题,如果不好,我深表歉意。
答案 0 :(得分:0)
在此功能中:
public Card [] drawCard(Deck Deck , Hand Hand, int x, int y) {
Hand[x] = Deck[y];
return Hand;
您传递的对象不是数组。然后在该函数内部,您尝试像使用数组一样使用它们。