java记忆游戏的三个条件
我正在尝试制作一款具有3个条件的记忆卡游戏:java记忆游戏的三个条件,java,Java,我正在尝试制作一款具有3个条件的记忆卡游戏: 当玩家开始游戏时,第一次点击显示第一张牌 如果玩家点击第二张牌,则有两个选项 A.第二张卡的值与第一张卡的值相同。因此,保留这两个选项。 B第二张牌有不同的价值。因此,当单击时,将两者向后翻转 我不知道处理这个问题的最好办法是什么。我考虑使用if语句并使新方法“state”具有3个输出 public void mousePressed() { if(state==READY){ for (int i = 0; i <
A.第二张卡的值与第一张卡的值相同。因此,保留这两个选项。
B第二张牌有不同的价值。因此,当单击时,将两者向后翻转
public void mousePressed() {
if(state==READY){
for (int i = 0; i < 6; i++) {
if(mouseX >= cards[i].x &&
mouseX <= cards[i].x+cards[i].WIDTH &&
mouseY >= cards[i].y &&
mouseY <= cards[i].y+cards[i].HEIGHT) {
cards[i].flip();
}
}
}
else if (state==FIRST_CHOSEN){
}
else{
}
}
public void mousePressed(){
如果(状态==准备就绪){
对于(int i=0;i<6;i++){
如果(mouseX>=cards[i].x&&
mouseX=cards[i].y&&
mouseY我会把问题分解成更小的问题
有几种不同的方法来解决解决更大最终目标所需的小任务:
- 公共作废归还卡(卡片)
- 公共布尔isMatch(卡)
- 公共作废flipCardsBackOver(卡片1、卡片2)
并添加一个实例变量,用于存储已启动的卡。一旦您分解了所有单独的挑战,您的问题就会变得简单:
private Card CardOne; //instance variable
public void revealCard(Card myCard) {
myCard.flipCard(); //Whatever task you need to flip the card
if (CardOne = null) {
myCard = CardOne;
return;
}
if myCard.isMatch(CardOne)) {
//Do whatever you need to do when there is a match
}
else {
this.flipCardsBackOver(myCard, CardOne) //Flip all up cards over and set Card1
//to null
}
}
你需要先选择牌。你的问题是什么?@matheszabi OP发布了3个与同一游戏相关的问题,但它们看起来确实不同。我不会将其描述为低质量,因为其中包含了大量信息。我认为这只是OP不知道最好问的问题,而且这个网站可能不是最好的f我们不需要让初学者泄气/困惑。