Java:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class SchereSteinPapier1 // -- Unser neues Elaborat
extends Applet // -- .. ist ein Applet
implements ActionListener // -- .. und reagiert auf Knopfdruck
{public static void main(String[] args) {
}
// "globale" Variablen
TextField eingabeFeld = null; // -- das im GUI erscheinende Eingabefeld
Button druckKnopf = null; // -- der Druckknopf, auf den wir reagieren
String Wahl = ""; // -- der Text aus dem Eingabefeld
/*
* init() wird EINMAL beim Start des Applets aufgerufen. Hier wird das
* Graphical User Interface (GUI) angelegt. Zuerst ein Eingabefeld, dann
* einen Druckknopf. Fuer den Druckknopf bezeichnen wir uns selbst ("this")
* als zustaendig, sollte er betaetigt werden.
*/
public void init() {
// Groesse der Zeichenflaeche festlegen
setSize(320, 205);
setMinimumSize(getSize());
// Beschriftung erzeugen und einfuegen
Label aufforderung = new Label("Eingabe: ");
this.add(aufforderung);
// Eingabefeld erzeugen und einfuegen
eingabeFeld = new TextField(Wahl, 20);
this.add(eingabeFeld);
// Druckknopf erzeugen und einfuegen
druckKnopf = new Button("Los");
this.add(druckKnopf);
// Der Druckknopf soll actionPerformed() aufrufen, wenn er gedrueckt wird.
druckKnopf.addActionListener(this);
}
/*
* Diese Methode wird aufgerufen, sobald der Druckknopf betaetigt wird. Das
* gemeldete "ereignis" enthaelt als Quelle (source) den Eingabeknopf, der
* den Aufruf ausgeloest hat. Da wir nur einen Knopf haben intressiert es
* uns nicht im Detail. Es muss jedoch trotzdem entgegengenommen werden.
*/
public void actionPerformed(ActionEvent ereignis) {
// -- lies die Information aus dem Eingabefeld aus.
Wahl = eingabeFeld.getText();
// -- jetzt kann hier etwas gerechnet werden ...
// -- und wenn wir damit fertig geworden sind,
// -- veranlassen wir das Neuzeichnen des Applets.
this.repaint();
}
/*
* Neuzeichnen des Applet-Inhalts. Diese Methode wird jedes Mal aufgerufen,
* wenn das Fenster veraendert wird (z.B. Groesse) oder wenn repaint()
* aufgerufen wird.
*/
public void paint(Graphics g) {
int wahlComputer = (int)(Math.random()*3);
int wahlSpieler = Integer.parseInt(Wahl);
final int Schere = 0;
final int Stein = 1;
final int Papier = 2;
String resultat= "";
if ( wahlSpieler == Schere ) {
if (wahlComputer == Schere){
resultat = "Unentschieden";
}else if (wahlComputer == Stein){
resultat = "Computer gewinnt";
} else if (wahlComputer == Papier){
resultat = "Spieler gewinnt";
}
} else {
if ( wahlSpieler == Stein ) {
if (wahlComputer == Schere){
resultat = "Spieler gewinnt";
} else if (wahlComputer == Stein){
resultat = "Unentschieden";
} else if (wahlComputer == Papier){
resultat = "Computer gewinnt";
}
} else {
if ( wahlSpieler == Papier ) {
if (wahlComputer == Schere){
resultat = "Computer gewinnt";
} else if (wahlComputer == Stein){
resultat = "Spieler gewinnt";
} else if (wahlComputer == Papier){
resultat = "Unentschieden";
}
}
}}
g.drawString("Spieler: " + wahlSpieler, 10, 50);
g.drawString("Computer: " + wahlComputer, 10, 70);
g.drawString("Resultat: " + resultat, 10, 90);
}
}