java记忆游戏的三个条件

java记忆游戏的三个条件,java,Java,我正在尝试制作一款具有3个条件的记忆卡游戏: 当玩家开始游戏时,第一次点击显示第一张牌 如果玩家点击第二张牌,则有两个选项 A.第二张卡的值与第一张卡的值相同。因此,保留这两个选项。 B第二张牌有不同的价值。因此,当单击时,将两者向后翻转 我不知道处理这个问题的最好办法是什么。我考虑使用if语句并使新方法“state”具有3个输出 public void mousePressed() { if(state==READY){ for (int i = 0; i <

我正在尝试制作一款具有3个条件的记忆卡游戏:

  • 当玩家开始游戏时,第一次点击显示第一张牌
  • 如果玩家点击第二张牌,则有两个选项
    A.第二张卡的值与第一张卡的值相同。因此,保留这两个选项。
    B第二张牌有不同的价值。因此,当单击时,将两者向后翻转
  • 我不知道处理这个问题的最好办法是什么。我考虑使用if语句并使新方法“state”具有3个输出

    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我们不需要让初学者泄气/困惑。