Как только добавить к итогу, когда цикл является истинным? - PullRequest
0 голосов
/ 14 апреля 2019

Я использовал код для игрового автомата и добавил пару вещей. Я начинаю с банка $ 100 (startBank) . Для каждой игры if ставка проигрывает, сумма ставки вычитается из банка. При ставке wins выигрыши должны быть добавлены в банк и totalAmountWon. Но это не накапливается. Игра будет накапливаться, а затем totalAmountWon упадет в цене со следующим выигрышем. У меня петля не к месту?

    userStringInput = JOptionPane.showInputDialog( "Insert Money:");
    userAmountEntered = Double.parseDouble(userStringInput);
    totalUserAmountEntered += userAmountEntered;
    totalAmountWon = (amountWon + startBank);


    outputString =outputString +"[\t "+ word1 +"\t]\t\t\t [ "+ word2 +"]\t\t\t [ " + word3 +"]";

    //Compare values of word123
    if(( word1 != word2) && (word1 != word3) && (word2 != word3))
    {
        outputString = outputString +"\nYou have bet "+ totalUserAmountEntered +"\n\nYou have won $0";
    }
        startBank -= totalUserAmountEntered;

    if (((word1==word2) && (word1!=word3)) || ((word2==word3) && (word2!=word1))) 
    {
        outputString = outputString +"\nYou have bet "+ totalUserAmountEntered +"\n\nYour have won $"+(2*userAmountEntered);
        amountWon = (2*userAmountEntered);
    }
    else if (((word1==word2) && (word1==word3)) && ((word2==word3)&&(word2==word1))) 
    {
            outputString = outputString +"\n\nYour have won $"+(3*userAmountEntered);
            amountWon = (3*userAmountEntered);  
    }
    JOptionPane.showInputDialog(outputString + "\n\nYou have total winnings of $"+totalAmountWon+"\n\nDo you want to play "+ "again?\n\nPress y for yes, any key for no :").charAt(0);
}
/* JOptionPane.showMessageDialog(null, outputString ); */

System.exit(0);  
}
}

1 Ответ

0 голосов
/ 14 апреля 2019

Хотя ваш код недостаточно и хорошо организован, чтобы дать что-то плодотворное в решении вашего вопроса.Но, в соответствии с моим пониманием вашего вопроса, я думаю, что проблема заключается в этом неправильно помещенном "}"

if(( word1 != word2) && (word1 != word3) && (word2 != word3))
    {
        outputString = outputString +"\nYou have bet "+ totalUserAmountEntered +"\n\nYou have won $0";
    }
        startBank -= totalUserAmountEntered;

Просто замените этот ненужный код следующим:

if(( word1 != word2) && (word1 != word3) && (word2 != word3))
    {
        outputString = outputString +"\nYou have bet "+ totalUserAmountEntered +"\n\nYou have won $0";
        startBank -= totalUserAmountEntered;
    }

ОБНОВЛЕНИЕ: totalAMountWon заменить последний else-if block на этот:

else if (((word1==word2) && (word1==word3)) && ((word2==word3)&&(word2==word1))) 
    {
        outputString = outputString +"\n\nYour have won $"+(3*userAmountEntered);
        amountWon = (3*userAmountEntered);  
        totalAmountWon += amountWon;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...