检查多个字符串

check for multiple strings

我正在尝试制作一个你必须猜数字的游戏,我决定在游戏中添加复活节彩蛋,但每当我尝试检查复活节彩蛋时,它只适用于最后一个

public class Guess extends Applet implements ActionListener
{
    util u = new util(); //Utility class
    int answer = u.rand(1,100); //Randomize answer
    String ansWord = Integer.toString(answer); //Convert Integer to String
    int winloss = 1; //Set winloss to display startup message
    TextField input; //Declare TextField
    boolean pizza,blazeIt; //Easter Eggs
    String response; //Declare Strings
    public void init()
    {
        input = new TextField(5);
        add(input);
        input.addActionListener(this);
    }

    public void paint(Graphics g)
    {
        g.drawString(""+winloss,10,20);
        switch(winloss)
        {
            case 1:g.drawString("Guess What Number I Am Thinking Of",getWidth()/2-100,50);
            break;
            case 2:g.drawString("How did you know?!?!?!",getWidth()/2-50,50);
            break;
            case 3:g.drawString("Nope",getWidth()/2-5,50);
            break;
            case 4:pizza = true;
            break;
            case 5:blazeIt = true;
            break;
            default:g.drawString("Broken",10,10);
            break;
        }
        easterCheck(g);
    }

    public void actionPerformed(ActionEvent e)
    {
        response = String.valueOf(input.getText());
        if(response.equals(ansWord))
        {
            winloss = 2;
        }

        else
        {
            easter("420",5); //Does not work
            easter("Pizza",4); //Works
        }
        repaint();
    }

    public void easter(String wordInput, int output)
    {
        if(response.equals(wordInput))
        {
            winloss = output;
        }
        else
        {
            winloss = 3;
        }
    }

    public void easterCheck(Graphics g)
    {
        if(pizza)
        {
            g.drawString("Delicious!",10,getHeight()-10);
        }
        if(blazeIt)
        {
            g.drawString("Blaze it!",10,getHeight()-20);
        }
    }

}

我该如何解决这个问题?

因为每次调用 easter("420",5) 之后,下一次总会调用 easter("Pizza",4)。所以如果输入是“420”,你就知道它是 scecial 字符串并且你设置了 winloss=4。但之后,在 easter("Pizza",4) 中,您将输入(即“420”)与 "Pizza" 进行比较,然后重置 winloss=3。那就是你的代码不起作用的原因。

public class Guess extends Applet implements ActionListener
{
  util u = new util(); //Utility class
  int answer = u.rand(1,100); //Randomize answer
  String ansWord = Integer.toString(answer); //Convert Integer to String
  int winloss = 1; //Set winloss to display startup message
  TextField input; //Declare TextField
  boolean pizza,blazeIt; //Easter Eggs
  String response; //Declare Strings
  public void init()
  {
    input = new TextField(5);
    add(input);
    input.addActionListener(this);
  }

  public void paint(Graphics g)
  {
    g.drawString(""+winloss,10,20);
    switch(winloss)
    {
      case 1:g.drawString("Guess What Number I Am Thinking Of",getWidth()/2-100,50);
        break;
      case 2:g.drawString("How did you know?!?!?!",getWidth()/2-50,50);
        break;
      case 3:g.drawString("Nope",getWidth()/2-5,50);
        break;
      case 4:pizza = true;
        break;
      case 5:blazeIt = true;
        break;
      default:g.drawString("Broken",10,10);
        break;
    }
    easterCheck(g);
  }

  public void actionPerformed(ActionEvent e)
  {
    response = String.valueOf(input.getText());
    if(response.equals(ansWord))
    {
      winloss = 2;
    } else if (response.equals("420")) {
      winloss = 5;
    } else if (response.equals("Pizza")) {
      winloss = 4;
    } else {
      winloss = 3;
    }
    repaint();
  }

  public void easterCheck(Graphics g)
  {
    if(pizza)
    {
      g.drawString("Delicious!",10,getHeight()-10);
    }
    if(blazeIt)
    {
      g.drawString("Blaze it!",10,getHeight()-20);
    }
  }

}