HOWTO · JavaScript

Stein Papier und Schere in JavaScript

In diesem Artikel werden wir lernen, wie man Code für Stein, Papier und Schere in JavaScript schreibt.

Auf dieser Seite

Jeder Entwickler beginnt irgendwo in seinem Leben mit der Hello world. Rock Paper Scissor ist ein beliebtes Spiel, das Entwickler bauen, während sie eine beliebige Programmiersprache lernen. Das Schreiben mehrerer Fälle wird Entwicklern jedoch zu Kopfschmerzen. In diesem Artikel lernen wir also die Logik hinter dem Spiel aus Stein, Papier und Schere kennen.

Stein, Papier und Schere in JavaScript

Es ist ein interessantes und beliebtes Spiel, das von Kindern gespielt wird. Und seine Logik auch. Lassen Sie uns also zuerst die Regel für dieses Spiel verstehen.

  1. Ein Spieler, der den Stein spielt, schlägt einen anderen Spieler, der die Schere gewählt hat, weil der Stein die Schere oder manchmal die abgeschrägte Schere zerquetscht.
  2. Ein Spieler, der Stein spielt, verliert gegen einen anderen, der Papier gespielt hat, weil das Papier den Stein bedeckt.
  3. Ein Spieler, der sich entscheidet, Papier zu spielen, verliert gegen einen Scherenspieler, weil Scheren Papier schneiden.

Die Regeln sind also geklärt; Lassen Sie uns nun die Logik für das Spiel schreiben. Wir haben ein Objekt mit Schlüssel als individueller Wahl und Werten als zweiter Wahl erstellt. Wenn zum Beispiel die Benutzereingabe Rock ist und die Wahl des Computers auch Rock ist, dann ist es ein Unentschieden.

let choicesObject = {
  'rock': {'rock': 'draw', 'scissor': 'win', 'paper': 'lose'},
  'scissor': {'rock': 'lose', 'scissor': 'draw', 'paper': 'win'},
  'paper': {'rock': 'win', 'scissor': 'lose', 'paper': 'draw'}
}

Jetzt können wir das obige Objekt als globale Regel verwenden und das Ergebnis eines Spiels mithilfe der Funktion vorhersagen.

function checker(input) {
  var choices = ['rock', 'paper', 'scissor'];
  var num = Math.floor(Math.random() * 3);

  let computerChoice = choices[num];
  let result

  switch (choicesObject[input][computerChoice]) {
    case 'win':
      result = 'YOU WIN';
      break;
    case 'lose':
      result = 'YOU LOSE';
      break;
    default:
      result = 'DRAW';
      break;
  }
  console.log(result);
  document.getElementById('result').textContent = result;
}

In der obigen Funktion nehmen wir die Benutzerauswahl als Eingabe und vergleichen die Benutzereingabe mit der computergenerierten Auswahl unter Verwendung eines Schalterfalls. Wenn keine der Bedingungen erfüllt ist, gilt es als unentschieden. Lassen Sie uns nun die Wahl des Benutzers treffen und das Ergebnis drucken.

<button onClick="checker('rock')">Rock</button>
<button onClick="checker('paper')">Paper</button>
<button onClick="checker('scissor')">Scissor</button>
<p id="result">
</p>

Wenn Sie den obigen Code ausführen, wird so etwas gedruckt. Das Ergebnis kann je nach Wahl des Computers variieren.

Ausgabe:

YOU LOSE