Im vorherigen Artikel wurde der gesamte Code fertiggestellt. Es gibt jedoch noch viele Ara. Aus diesem Grund habe ich im Online-Salon, dem ich angehöre, eine Codeüberprüfung erhalten. Da es ziemlich viele Vorschläge gab, antwortete ich nacheinander.
Ruby-Einzug ist 2 Leerzeichen halber Breite
Einfacher Vergleich verwendet == / dann keine Notwendigkeit
Besser die variable Erweiterung verwenden
Dateiname ist schwer zu verstehen (zu transfer_money
-> player.rb
)
Würfeln / Geld ausgeben sollte im Spieler sein (Weil es die Aktion eines Spielers ist)
Die Methoden "check_win_lose" und "transfer_money" sind möglicherweise keine Player-Methoden
main.rb
wird als Ganzes leichter zu sehen, wenn es zu einer Methode in der Einheit des Spielflusses gemacht wirdStärke_Beziehung
usw.)Es ist nicht gut, dass der Rückgabewert der Methode eine Zeichenfolge ist Verwenden Sie Konstanten oder Enumeratoren
Es ist eine Verschwendung, den Einsatz des Gruppenleiters festzulegen (ändern Sie den Einsatz entsprechend dem Geldbetrag, den Sie haben).
Es wäre schön, mit dem Operator + gewinnen oder verlieren und Geld bewegen zu können.
Zu viele! !! !!
Machen wir das. Zuallererst hängt es mit der Grammatik zusammen, aber dies könnte ziemlich schnell verbessert werden. Die Einrückungskorrektur war mit VS Code einfach. Ich habe auf den folgenden Artikel verwiesen.
Ändern Sie die Anzahl der eingerückten Leerzeichen mit VS-Code
Die variable Erweiterung ist so. Sie können so ordentlich schreiben.
dice_hand = 'Normale Augen(' + uniq_value.to_s + ')'
↓
dice_hand = "Normale Augen(#{uniq_value.to_s})"
URL des entsprechenden Problems https://github.com/kyokucho1989/ruby-game/issues/13
Ich habe mein Bestes gegeben. Zunächst wurde gesagt, dass es für den Spieler seltsam sei, Sieg oder Niederlage zu beurteilen und Einsätze zu verschieben, also habe ich eine neue Spielklasse erstellt. Die Spielklasse bestimmt das Ergebnis und verschiebt den Einsatz.
Außerdem habe ich mich für eine Klassenmethode entschieden. Dies liegt daran, dass die Spielklasse keinen Status hat. (Dies wurde auch darauf hingewiesen)
Ich habe auch die Ausgabe von Sätzen zusammengefasst. Ich habe eine neue message.rb
erstellt, damit alle Nachrichten von ihr ausgegeben werden können. Dies erleichtert die Korrektur des Textes. Wie schön!
Ein neues "module-hand-game.rb" wurde erstellt und die Rollen und Gewinn / Verlust-Ergebnisse wurden konstant gemacht.
module Match
WIN = 'Sieg'
LOSE = 'Verlieren'
DRAW = 'zeichnen'
end
Wenn man sich darauf bezieht, sieht es so aus. Wie schön!
if(my_hand_rank > opponent_hand_rank)
Match::WIN
elsif(my_hand_rank == opponent_hand_rank)
Match::DRAW
else
Match::LOSE
end
"Ich hoffe, der Betreiber kann gewinnen oder verlieren und Geld bewegen." schwer.
Es hat Spaß gemacht, so viel mit Ruby alleine programmieren zu können. Wenn Sie verschiedene Dinge tun, einschließlich Schienen, werden Sie aufgrund von Fehlern bei der Umgebungskonstruktion eher entmutigt. Zuerst denke ich, dass es einfach mächtiger ist, etwas nur mit Ruby zu machen.
Ich möchte damit eines Tages Unterrichtsmaterialien machen. Ende. Der vollständige Code ist hier ↓ https://github.com/kyokucho1989/ruby-game
Recommended Posts