Hallo Freunde,
n Kumpel muss für die Schule oben genanntes Spiel programmieren. Doch leider zeigt sein Quelltext fehler an.
Würde mich echt freuen wenn einer von euch diesen beheben könnte, weil so wie ich das rausgehört hab, muss er das auf Zensur abgeben :shock:
ich hab das e beim titel nicht vergessen, aber das es darf kein here vorkommen^^
lg der Niko
n Kumpel muss für die Schule oben genanntes Spiel programmieren. Doch leider zeigt sein Quelltext fehler an.
Würde mich echt freuen wenn einer von euch diesen beheben könnte, weil so wie ich das rausgehört hab, muss er das auf Zensur abgeben :shock:
ich hab das e beim titel nicht vergessen, aber das es darf kein here vorkommen^^
Code:
import java.awt.*;
import java.awt.event.*;
/**
*
* Beschreibung
*
* @version 1.0 vom 30.11.2008
* @author
*/
import javax.swing.JOptionPane;
public class Knobeln1{
public class jojo extends Frame {
// Anfang Attribute
private Button BT_schere = new Button();
private Button BT_stein = new Button();
private Button BT_papier = new Button();
private Button BT_beenden = new Button();
// Ende Attribute
public static void main(String[] args)
{
//Deklarationen und Initialisierung
int eingabe, rechnertipp, gewinner;
String eingabeString;
public jojo(String title) {
// Frame-Initialisierung
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) { System.exit(0); }
});
int frameWidth = 500;
int frameHeight = 500;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSiz e();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
Panel cp = new Panel(null);
add(cp);
// Anfang Komponenten
BT_schere.setBounds(104, 64, 273, 65);
BT_schere.setLabel("Schere";
BT_schere.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
BT_schere_ActionPerformed(evt);
}
});
BT_schere.setFont(new Font("Old English Text MT", Font.BOLD, 27));
BT_schere.setForeground(Color.black);
cp.add(BT_schere);
BT_stein.setBounds(104, 160, 273, 65);
BT_stein.setLabel("Stein";
BT_stein.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
BT_stein_ActionPerformed(evt);
}
});
BT_stein.setFont(new Font("Old English Text MT", Font.BOLD, 27));
BT_stein.setForeground(Color.(none));
cp.add(BT_stein);
BT_papier.setBounds(104, 264, 273, 65);
BT_papier.setLabel("Papier";
BT_papier.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
BT_papier_ActionPerformed(evt);
}
});
BT_papier.setFont(new Font("Old English Text MT", Font.BOLD, 27));
BT_papier.setForeground(Color.(none));
cp.add(BT_papier);
BT_beenden.setBounds(296, 376, 161, 57);
BT_beenden.setLabel("Beenden";
BT_beenden.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
BT_beenden_ActionPerformed(evt);
}
});
BT_beenden.setFont(new Font("Old English Text MT", Font.BOLD, 23));
BT_beenden.setForeground(Color.(none));
cp.add(BT_beenden);
TF_ausgabe.setBounds(16, 368, 225, 72);
TF_ausgabe.setText("";
cp.add(TF_ausgabe);
// Ende Komponenten
setResizable(false);
setVisible(true);
}
// Anfang Methoden
public void BT_schere_ActionPerformed(ActionEvent evt) {
eingabe = 1;// TODO hier Quelltext einfügen
}
public void BT_stein_ActionPerformed(ActionEvent evt) {
eingabe = 2; // TODO hier Quelltext einfügen
}
public void BT_papier_ActionPerformed(ActionEvent evt) {
eingabe = 3; // TODO hier Quelltext einfügen
}
public void BT_beenden_ActionPerformed(ActionEvent evt) {
eingabe = 0; // TODO hier Quelltext einfügen
}
// Ende Methoden
Code:
So, und dann das...
/*************************************** ************
Klasse, die Stein, Schere, Papier spielt
0 ... Programm beenden
1 ... Stein
2 ... Schere
3 ... Papier
******************************** ********************
todo:
# abfangen wenn der Spieler "" (keine Eingabe) tätigt
# eigene Methode zur Ermittlung des Gewinners
# Ausgabe verbessern (statt 1,2,3 Stein,Schere,Papier) [in eigener Methode]
****************************** *********************/
// Anfang Methoden
while(eingabe!=0)
{
//Zufallszahl von 1 bis 3 bestimmen
rechnertipp=1 (int)(Math.random()*3);
//Gewinner auf "0" zurücksetzen
gewinner=0;
//Spieler hat Stein, Rechner hat Schere --> Sieger ist Spieler
if(eingabe==1 && rechnertipp==2)gewinner=1;
//Spieler hat Stein, Rechner hat Papier --> Sieger ist Rechner
if(eingabe==1 && rechnertipp==3)gewinner=2;
//Spieler hat Schere, Rechner hat Papier --> Sieger ist Spieler
if(eingabe==2 && rechnertipp==3)gewinner=1;
//Spieler hat Schere, Rechner hat Stein --> Sieger ist Rechner
if(eingabe==2 && rechnertipp==1)gewinner=2;
//Spieler hat Papier, Rechner hat Stein --> Sieger ist Spieler
if(eingabe==3 && rechnertipp==1)gewinner=1;
//Spieler hat Papier, Rechner hat Schere --> Sieger ist Rechner
if(eingabe==3 && rechnertipp==2)gewinner=2;
//nach gewinner unterscheiden
if(gewinner==0)
//keiner der obigen Fälle (ein Sieger) trat ein und gewinner ist noch immer "0"
{
JOptionPane.showMessageDialog(null,"Unen tschieden",
"Spielausgang", JOptionPane.INFORMATION_MESSAGE);
}else{
//einer der obigen Fälle ist eingetreten
if(gewinner==1)
//Spieler hat gewonnen
{
JOptionPane.showMessageDialog(null,"Spie ler hat gewonnen"
"\nSpieler= " eingabe "\nRechner= " rechnertipp,
"Spielausgang", JOptionPane.INFORMATION_MESSAGE);
}else{
//Rechner hat gewonnen
JOptionPane.showMessageDialog(null,"Rech ner hat gewonnen"
"\nSpieler= " eingabe "\nRechner= " rechnertipp,
"Spielausgang", JOptionPane.INFORMATION_MESSAGE);
}//ende if
}//ende if
}//ende while
System.exit(0);
}//ende main-Methode
// Ende Methoden
public static void main(String[] args) {
new jojo("jojo";
}
}//ende class
}
lg der Niko