我目前在编程领域还很陌生,想知道您是否可以帮助我。我目前正在制作一个只想使用joptionpane成为百万富翁游戏的人,感谢这个论坛,我已经解决了许多问题。现在,我的问题是我想选择一条求救电话,想知道您是否可以帮助我。

我想使用生命线,例如打电话给朋友并问听众,我想在使用生命线时显示当前的问题。这是我到目前为止的代码。

包game4;

import java.util.Random;
import javax.swing.JOptionPane;


公共课程Game4 {

public static void main(String[] args)
{
    startGame();
}
public static void startGame()
{
// declare the variables first

boolean rep1 = true, rep2 = true, rep3 = true, rep4 = true, rep5 = true;
        cont = true;
//easy round
String  q1 = ". "
            + "\n[A] a"//answer
            + "\n[B] "
            + "\n[C] "
            + "\n[D] ",
        q2 = ".. "
            + "\n[A] "
            + "\n[B] "
            + "\n[C] "
            + "\n[D] d",//answer
        q3 = "..."
            + "\n[A] a"//answer
            + "\n[B] "
            + "\n[C] "
            + "\n[D] ",
        q4 = ".... "
            + "\n[A] "
            + "\n[B] b"//answer
            + "\n[C] "
            + "\n[D] ",
        q5 = "..... "
            + "\n[A] "
            + "\n[B] "
            + "\n[C] c"//answer
            + "\n[D] ";

String questionsEasy[] = new String[] { q1, q2, q3, q4, q5};

String input, ready;

int iChoice = JOptionPane.YES_NO_OPTION;
int c = 0;

shuffle1(questionsEasy); // here we do the shuffle

for (String easy : questionsEasy)
{
    c++;

    if(easy.equals(q1))
    {
        while(rep1)
        {
            input = JOptionPane.showInputDialog("Question No. "+c+"\n\n"+easy
                                                +"\n[L] Lifeline"
                                                +"\n\nChoose from (A/B/C/D/L)");
            switch(input.toLowerCase())
            {
                case "a":
                {
                    iChoice = JOptionPane.showConfirmDialog (null,"is this your final answer?","continue",iChoice);

                    if(iChoice == JOptionPane.YES_OPTION)
                    {
                        rep1 = false;
                        JOptionPane.showMessageDialog(null,"You got the right answer!");
                    }
                    else
                    {
                        rep1 = true;
                    }
                }
                break;
                case "b":
                case "c":
                case "d":
                {
                    wrongAnswer();
                }
                break;
                default:
                {
                    JOptionPane.showMessageDialog(null,"Invalid Input!!!");
                    rep1 = true;
                }
                case "l":
                {
                    lifeline();
                }
                break;
            }
        }
    }
    if(easy.equals(q2))
    {
        while(rep2)
        {
            input = JOptionPane.showInputDialog("Question No. "+c+"\n\n"+easy
                                                +"\n[L] Lifeline"
                                                +"\n\nChoose from (A/B/C/D/L)");
            switch(input.toLowerCase())
            {
                case "d":
                {
                    iChoice = JOptionPane.showConfirmDialog (null,"is this your final answer?","continue",iChoice);

                    if(iChoice == JOptionPane.YES_OPTION)
                    {
                        rep2 = false;
                        JOptionPane.showMessageDialog(null,"You got the right answer!");
                    }
                    else
                    {
                        rep2 = true;
                    }
                }
                break;
                case "b":
                case "c":
                case "a":
                {
                    wrongAnswer();
                }
                break;
                default:
                {
                    JOptionPane.showMessageDialog(null,"Invalid Input!!!");
                    rep2 = true;
                }
                break;
            }
        }
    }
    if(easy.equals(q3))
    {
        while(rep3)
        {
            input = JOptionPane.showInputDialog("Question No. "+c+"\n\n"+easy
                                                +"\n[L] Lifeline"
                                                +"\n\nChoose from (A/B/C/D/L)");
            switch(input.toLowerCase())
            {
                case "a":
                {
                    iChoice = JOptionPane.showConfirmDialog (null,"is this your final answer?","continue",iChoice);

                    if(iChoice == JOptionPane.YES_OPTION)
                    {
                        rep3 = false;
                        JOptionPane.showMessageDialog(null,"You got the right answer!");
                    }
                    else
                    {
                        rep3 = true;
                    }
                }
                break;
                case "b":
                case "c":
                case "d":
                {
                    wrongAnswer();
                }
                break;
                default:
                {
                    JOptionPane.showMessageDialog(null,"Invalid Input!!!");
                    rep3 = true;
                }
                break;
            }
        }
    }
    if(easy.equals(q4))
    {
        while(rep4)
        {
            input = JOptionPane.showInputDialog("Question No. "+c+"\n\n"+easy
                                                +"\n[L] Lifeline"
                                                +"\n\nChoose from (A/B/C/D/L)");
            switch(input.toLowerCase())
            {
                case "b":
                {
                    iChoice = JOptionPane.showConfirmDialog (null,"is this your final answer?","continue",iChoice);

                    if(iChoice == JOptionPane.YES_OPTION)
                    {
                        rep4 = false;
                        JOptionPane.showMessageDialog(null,"You got the right answer!");
                    }
                    else
                    {
                        rep4 = true;
                    }
                }
                break;
                case "a":
                case "c":
                case "d":
                {
                    wrongAnswer();
                }
                break;
                default:
                {
                    JOptionPane.showMessageDialog(null,"Invalid Input!!!");
                    rep4 = true;
                }
                break;
            }
        }
    }
    if(easy.equals(q5))
    {
        while(rep5)
        {
            input = JOptionPane.showInputDialog("Question No. "+c+"\n\n"+easy
                                                +"\n[L] Lifeline"
                                                +"\n\nChoose from (A/B/C/D/L)");
            switch(input.toLowerCase())
            {
                case "c":
                {
                    iChoice = JOptionPane.showConfirmDialog (null,"is this your final answer?","continue",iChoice);

                    if(iChoice == JOptionPane.YES_OPTION)
                    {
                        rep5 = false;
                        JOptionPane.showMessageDialog(null,"You got the right answer!");
                    }
                    else
                    {
                        rep5 = true;
                    }
                }
                break;
                case "b":
                case "a":
                case "d":
                {
                    wrongAnswer();
                }
                break;
                default:
                {
                    JOptionPane.showMessageDialog(null,"Invalid Input!!!");
                    rep5 = true;
                }
                break;
            }
        }
    }
    if (c == 1)
    {
        JOptionPane.showMessageDialog(null,"You have won Php 100.00!!"
                        +"\n\nClick \"OK\" to proceed to the next question");
    }
    if (c == 2)
    {
        JOptionPane.showMessageDialog(null,"You have won Php 500.00!!"
                        +"\n\nClick \"OK\" to proceed to the next question");
    }
    if (c == 3)
    {
        JOptionPane.showMessageDialog(null,"You have won Php 1,000.00!!"
                        +"\n\nClick \"OK\" to proceed to the next question");
    }
    if (c == 4)
    {
        break;
    }
}

iChoice = JOptionPane.showConfirmDialog (null,"You now have a guaranteed Php 5,000.00."
                                        + "\nDo you still want to play?","continue",iChoice);
if(iChoice == JOptionPane.YES_OPTION)
{
    JOptionPane.showMessageDialog(null,"        LET'S PLAY,"
                                        + "\nWHO WANTS TO BE A MILLIONAIRE!!!");
}
else
{
    System.exit(0);
}

JOptionPane.showMessageDialog(null,"        YOU JUST WON "
                                + "\n\"ONE MILLION PESOS\"!!!!!"
                                + "");
}


这是如果您得到错误的答案

public static void wrongAnswer()
{
    int iChoice;

    iChoice = JOptionPane.YES_NO_OPTION;
    iChoice = JOptionPane.showConfirmDialog (null,"is this your final answer?","continue",iChoice);

    if (iChoice == JOptionPane.YES_OPTION)
    {
        JOptionPane.showMessageDialog(null,"you got the wrong answer!");

        iChoice = JOptionPane.YES_NO_OPTION;
        iChoice = JOptionPane.showConfirmDialog (null,"Do you want to play again?","continue",iChoice);

        if(iChoice == JOptionPane.NO_OPTION)
        {
            JOptionPane.showMessageDialog(null,"Thank you for playing this game!");
            System.exit(0);
        }
        else
        {
            startGame();
        }
    }
}


这是改组发生的地方。我在这个论坛的某个地方复制了它。

public static void shuffle1(String[] questionsEasy)
{
    Random random = new Random();

    for (int i = 0; i < questionsEasy.length; i++) {
        int newIndex = random.nextInt(questionsEasy.length - 1);
        swap1(questionsEasy, i, newIndex);
    }
}
public static void swap1(String[] questionsEasy, int oldIndex, int newIndex)
{
    String temp = questionsEasy[oldIndex];
    questionsEasy[oldIndex] = questionsEasy[newIndex];
    questionsEasy[newIndex] = temp;
}


这就是生命线

public static void lifeline()
{
    String input = JOptionPane.showInputDialog("You have chosen to use a Lifeline, "
                                                                    + "\nPlease select which Lifeline you would like to use\n"
                                                                    + "\n[F] Call a Friend"
                                                                    + "\n[A] Ask the Audience\n"
                                                                    + "\n[D] Do not use a lifeline\n"
                                                                    + "\nChoose from (F/A/D)");
    switch(input.toLowerCase())
    {
        case "f":
        {
            JOptionPane.showMessageDialog(null,"You have chosen Call a Friend");
            JOptionPane.showMessageDialog(null,"blablabla"/*the current question will print right in here*/);
        }
        break;
    }

}


如果您可以帮助我,对我的项目将是一个巨大的帮助。谢谢。

最佳答案

看起来变量easy是这里的问题:

shuffle1(questionsEasy); // here we do the shuffle

for (String easy : questionsEasy)
{
    c++;


因此,只需在此处轻松传递函数生命线:

case "l":
{
    lifeline(easy);
}


并更改函数def以包括输入,即:

public static void lifeline(String easy)
{
    String input = JOptionPane.showInputDialog("You have chosen to use a Lifeline, "
                                                                    + "\nPlease select which Lifeline you would like to use\n"
                                                                    + "\n[F] Call a Friend"
                                                                    + "\n[A] Ask the Audience\n"
                                                                    + "\n[D] Do not use a lifeline\n"
                                                                    + "\nChoose from (F/A/D)");
    switch(input.toLowerCase())
    {
        case "f":
        {
            JOptionPane.showMessageDialog(null,"You have chosen Call a Friend");
            JOptionPane.showMessageDialog(null,easy/*the current question will print right in here*/);
        }
        break;
    }

}


然后,您可以使用简单问题,并在此功能中将其打印出来

10-04 11:45