Stein Papier und Schere in JavaScript

Shraddha Paghdar 12 Oktober 2023
Stein Papier und Schere in JavaScript

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
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn