Es geht um das einfach Spiel "TicTacToe", in dem man versuchen muss 3 richtige in einer Reihe zu kriegen, egal ob horizontal, vertikal oder diagonal.. Nun bin ich soweit: Ich habe das layout und dass die buttons sich ändern bzw auch blockiert werden, dies jedoch mit einer if else konstruktion (auch andere ideen erwünscht). Hab in Zeile 248 und 250 noch einen Fehler, weiss aber gerade nicht was, weil ich hundemüde bin =) Hier das, was ich habe:
Nun, kann mir jemand sagen, wie ich es schaffe, dass er mir das Spiel zugunsten des entsprechende Spielers entscheidet bzw ein unentschieden erkennt? Dachte da an eine sache mit integer wobei der integer immer weiter ansteigt pro gedrückte taste und dann bei 9 halt abfragt wo was steht um zu entscheiden wer gewinnt... Bin wie gesagt noch relativer anfänger und würde mich freuen, wenn mir jemand mit wenig fachbefehlen weiterhelfen kann
EDIT: Ist unübersichtlich, hier noch ein DateiDownload von der java datei:
TicTacToe
import java.awt.*;
import java.awt.event.*;
class TicTacToe extends Frame
{
Button ol = new Button ();
Button om = new Button ();
Button or = new Button ();
Button ml = new Button ();
Button mm = new Button ();
Button mr = new Button ();
Button ul = new Button ();
Button um = new Button ();
Button ur = new Button ();
int i = 1;
public TicTacToe()
{
setTitle("TicTacToe version 0.015 by Michael S.");
setSize(500,500);
setLayout(new GridLayout(3,3));
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
ol.addActionListener(new ActionListener ()
{
public void actionPerformed(ActionEvent e)
{
if(i%2 == 0)
{
ol.setLabel("O");
ol.setEnabled(false);
i++;
}
else
{
ol.setLabel("X");
ol.setEnabled(false);
i++;
}
}
});
om.addActionListener(new ActionListener ()
{
public void actionPerformed(ActionEvent e)
{
if(i%2 == 0)
{
om.setLabel("O");
om.setEnabled(false);
i++;
}
else
{
om.setLabel("X");
om.setEnabled(false);
i++;
}
}
});
or.addActionListener(new ActionListener ()
{
public void actionPerformed(ActionEvent e)
{
if(i%2 == 0)
{
or.setLabel("O");
or.setEnabled(false);
i++;
}
else
{
or.setLabel("X");
or.setEnabled(false);
i++;
}
}
});
ml.addActionListener(new ActionListener ()
{
public void actionPerformed(ActionEvent e)
{
if(i%2 == 0)
{
ml.setLabel("O");
ml.setEnabled(false);
i++;
}
else
{
ml.setLabel("X");
ml.setEnabled(false);
i++;
}
}
});
mm.addActionListener(new ActionListener ()
{
public void actionPerformed(ActionEvent e)
{
if(i%2 == 0)
{
mm.setLabel("O");
mm.setEnabled(false);
i++;
}
else
{
mm.setLabel("X");
mm.setEnabled(false);
i++;
}
}
});
mr.addActionListener(new ActionListener ()
{
public void actionPerformed(ActionEvent e)
{
if(i%2 == 0)
{
mr.setLabel("O");
mr.setEnabled(false);
i++;
}
else
{
mr.setLabel("X");
mr.setEnabled(false);
i++;
}
}
});
ul.addActionListener(new ActionListener ()
{
public void actionPerformed(ActionEvent e)
{
if(i%2 == 0)
{
ul.setLabel("O");
ul.setEnabled(false);
i++;
}
else
{
ul.setLabel("X");
ul.setEnabled(false);
i++;
}
}
});
um.addActionListener(new ActionListener ()
{
public void actionPerformed(ActionEvent e)
{
if(i%2 == 0)
{
um.setLabel("O");
um.setEnabled(false);
i++;
}
else
{
um.setLabel("X");
um.setEnabled(false);
i++;
}
}
});
ur.addActionListener(new ActionListener ()
{
public void actionPerformed(ActionEvent e)
{
if(i%2 == 0)
{
ur.setLabel("O");
ur.setEnabled(false);
i++;
}
else
{
ur.setLabel("X");
ur.setEnabled(false);
i++;
}
}
});
add (ol);
add (om);
add (or);
add (ml);
add (mm);
add (mr);
add (ul);
add (um);
add (ur);
setVisible(true);
}
public static void main(String[] args);
}
{
new TicTacToe();
}
}
Nun, kann mir jemand sagen, wie ich es schaffe, dass er mir das Spiel zugunsten des entsprechende Spielers entscheidet bzw ein unentschieden erkennt? Dachte da an eine sache mit integer wobei der integer immer weiter ansteigt pro gedrückte taste und dann bei 9 halt abfragt wo was steht um zu entscheiden wer gewinnt... Bin wie gesagt noch relativer anfänger und würde mich freuen, wenn mir jemand mit wenig fachbefehlen weiterhelfen kann
EDIT: Ist unübersichtlich, hier noch ein DateiDownload von der java datei:
TicTacToe