• Lernkarte - Stein, Schere, Papier (JavaScript)
  • Christian Leeser
  • 09.06.2023
  • Informatik
  • 9, 10
Um die Lizenzinformationen zu sehen, klicken Sie bitte den gewünschten Inhalt an.
Pro­gramm­be­schrei­bung und
Fluss­dia­gramm
Hin­weis

Die­ses Pro­gramm spielt mit dem User Stein, Sche­re, Pa­pier. Dabei wer­den Punk­te ver­ge­ben.

Die Um­set­zung des Pro­gramm ver­wen­det:

- while-​Schleife

- if-​Abfrage

- Va­ri­a­blen

- In­kre­men­tie­ren

Schritt-​für-Schritt-Anleitung

In dem fol­gen­den Teil führt Schritt-​für-Schritt durch das Fluss­dia­gramm.



Am Ende die­ser An­lei­tung steht das voll­stän­di­ge Pro­gramm pas­send zum Fluss­dia­gramm.

1. Schritt: Die Ein­ga­be (Zeile 1 und 3)

let de­kla­riert die Va­ri­a­blen z, g und c.

Die Va­ri­a­ble c dient zum Hoch­zäh­len, um die An­zahl der Ver­su­che ein­zu­hal­ten. p zählt die Punk­te vom User und k die Punk­te vom Com­pu­ter.

JavaScript
let c = 1;
let p = 0;
let k = 0;

2. Schritt: Die while-​Schleife (Zeile 5 bis 7)

So­lan­ge c klei­ner 4 (also 3 Ver­su­che) ist, läuft das Spiel durch.

Die Va­ri­a­ble n wird mit dem Wert aus "prompt" de­kla­riert.

Der Zäh­ler z er­zeugt Zu­falls­zah­len: 1 für Stein, 2 für Sche­re und 3 für Stein.

JavaScript
let c = 1;
let p = 0;
let k = 0;
while (c < 4) {
let z = Math.floor(Math.random() * 3) + 1;
let n = prompt('Wähle Stein (1), Schere (2), Papier (3): ');

3. Schritt: Die Ab­zwei­gun­gen und Funk­ti­o­nen (Zeile 9 bis 41)

Da sich die Aus­sa­gen wie­der­ho­len zu Ge­won­nen und Ver­lo­ren gibt es zwei Funk­ti­o­nen get­Ver­lo­ren() und get­Ge­won­nen(). Die Ab­fra­ge un­ter­schei­det zu­nächst, ob ein Un­ent­schie­den ge­ge­ben ist. Da­nach er­folgt die Fall­un­ter­schei­dung zwi­schen Ge­won­nen und Ver­lo­ren.

JavaScript
let c = 1;
let p = 0;
let k = 0;
while (c < 4) {
let z = Math.floor(Math.random() * 3) + 1;
let n = prompt('Wähle Stein (1), Schere (2), Papier (3): ');
if (z == n) {
alert('Unentschieden ' + p + "/" + k);
} else if (z == 1) {
if (n == 2) {
getVerloren();
} else {
getGewonnen();
}
} else if (z == 2) {
if (n == 3) {
getVerloren();
} else {
getGewonnen();
}
} else if (z == 3) {
if (n == 1) {
getVerloren();
} else {
getGewonnen();
}
}
c++;
}
function getGewonnen() {
p += 1;
alert('Gewonnen ' + p + "/" + k);
}
function getVerloren() {
k += 1;
alert('Verloren ' + p + "/" + k);
}

ENDE

Auf­ga­ben
1
Füge in dem Quell­code pas­send zu den Schrit­ten Kom­men­ta­re ein, die den je­wei­li­gen Teil in sei­ner Funk­ti­on be­schrei­ben.
JavaScript
// Zwei "Balken" ergeben einen Zeilenkommentar
/* Balken und Sternchen am Anfang und am Ende
ergeben einen Kommentar auf mehreren Zeilen */
2
Über­le­ge Dir mög­li­che Ver­bes­se­run­gen für das Pro­gramm. Bei­spiels­wei­se:
  • Könn­te der Text der Ein­ga­be und der Aus­ga­be ver­bes­sert wer­den.
  • Lässt sich der Schwie­rig­keits­grad er­hö­hen?
  • Mit lo­gi­schen Ope­ra­to­ren wie && (Und-​Verknüpfung) und || (Oder-​Verknüpfung) könn­te sich der Quell­code ver­ein­fa­chen las­sen, oder?
3
Passe das Fluss­dia­gramm und den Quell­text ent­spre­chend Dei­ner Über­le­gun­gen aus Auf­ga­be 2 an.
x