2016-09-14 3 views
-4

Ich habe hier 3 Methoden erstellt und ich brauche eine weitere, um die letzte Erfolgsmeldung anstelle der runden Erfolgsmeldung auszugeben.Ruby - Method Issues

WINNING_COMBO = { 
    'r' => ['sc', 'l'], 
    'p' => ['r', 'sp'], 
    'sc' => ['p', 'l'], 
    'l' => ['sp', 'p'], 
    'sp' => ['sc', 'r'] 
} 
+3

Müssen Sie wirklich 75 Zeilen Code schreiben, um Ihr Problem zu veranschaulichen? Versuchen Sie, ein [mcve] – Stefan

+0

zu erstellen Ich habe es gerade für vollständige Informationen veröffentlicht. Sie können es bearbeiten, wenn Sie nicht möchten. –

+3

Es liegt an Ihnen, ein [minimal praktikables Beispiel] (http://stackoverflow.com/help/how-to-ask) bereitzustellen. Wir tun schon einen Gefallen, Ihre Fragen zu beantworten. – mudasobwa

Antwort

2
def display_results(player, computer, counts) 
    prompt(
    case 
    when counts[:player] == 3 then "You won the game! Congrats!" 
    when counts[:computer] == 3 then "Computer won the game. Try again?" 
    when win?(player, computer) then "You won this round!" 
    when win?(computer, player) then "Computer won this round! You loose!" 
    else "It's a tie on this round! No one wins!" 
    end 
) 
end 

Man sollte für ein Spiel Ergebnis vor Runde Ergebnisse überprüfen.

+0

sollte ich die Zählvariable hier hinzufügen? undefinierte lokale Variablen zählen. –

+0

In der Tat habe ich eine Antwort aktualisiert. – mudasobwa

+0

Wenn entweder der Spieler oder der Computer 3x gewonnen hat, zeigt es immer noch die "Sie haben diese Runde gewonnen" –