Java How-To Tic Tac Toe #1

Das Tic Tac Toe-Spiel(also TTT-Spiel) ist eine gut geeignete Übung zu GUI Erstellung in Java.

In diesem Projekt verwenden wir einige ‚Swing‘ Objekte.

package TicTocs;
import javax.swing.JOptionPane;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

Dann wird eine Klasse TicTocGUI erstellt. Diese erweitert JPanel und hier werden checkSpieler und checkGewinner initialisiert.

public class TicTocGUI extends JPanel {
	public static int checkSpieler = 1;//Spieler check
	public static int checkGewinner;//Gewinner check

checkSpieler ist ein Integer, welcher für die Überprüfung des Spielertypen(Spieler 1 oder 2) als ein Maßstab verwendet wird. Bei Spieler 2 ist dieser eine gerade Zahl.

public TicTocGUI() {
      setLayout(new GridLayout(3,3));//Gatterlayout für Spielbrett
      Buttons(); //Felder werden initialisiert
    }
JButton felder[] = new JButton[9]; // 9 Spielfelder
    JFrame fenster = new JFrame("TIC TAC TOE"); //JFrame Fenster erstellen

Im TTT-Spiel wird häufig ein 3×3-Spielfeld verwendet. Man kann natürlich das Spielfeld vergrößern und das Spiel bisschen komplizierter machen.

Hier wird zuerst ein GridLayout, also ein gitterartiges Layout in 3×3 Form erstellt. Dann werden die Felder mit Buttons initialisiert.

Die Felder werden für das Spiel mit Buttons initialisiert, aber andere Initialisierungen sind auch möglich. Somit kann man z. B. die Felder mit Text initialisieren. Die Initialisierung mit Text könnte man am Ende des Projekts für die Markierung der X-O Zeichen verwenden.

Da wir in diesem Spiel ein 3×3-Feld haben, benötigen wir dementsprechend 9 Buttons. Wir vergeben unserem JFrame den Namen „fenster“ und Titel „TIC TAC TOE“.

	public void StartGUI() {
		initialGUI();
	}
	public void initialGUI(){
	       fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//Wenn fenster schliessen, ENDE
	       fenster.setSize(300,300);//Fenster Default Groesse : 300x300
	       fenster.setLayout(new GridLayout(3,3));//Gitter-Layout 3x3
	       fenster.setVisible(true);   
	}

Hier wird die Default-Größe des JFrames eingestellt. Die beträgt 300×300 und das Gitter-Layout bleibt bei 3×3.

Beim Schließen des Fensters muss das Programm beendet werden. Dafür fügen wir JFrame.EXIT_ON_CLOSE hinzu.

	public void Buttons() {
			for(int i = 0; i <= 8; i++){
				felder[i] = new JButton();
				felder[i].setText(" ");//Default text in Feldern
			    felder[i].addActionListener(new felderListener());//Listner
				fenster.add(felder[i]);//Gridlayout ausfuellen         
				fenster.pack();
			}
	}

Die Buttons, welche die 9 Felder initialisieren, werden insgesamt 9 Mal erstellt. Da zu Beginn des Spiels alle Felder leer sein müssen, setzen Wir “ “ als Text im jeweiligen Button ein.

Da die Felder, also Buttons, auf Clicken reagieren müssen, benötigen Wir einen ActionListner. Diese benennen wir als felderListner.

Als Letztes fügen wir die Felder in das Fenster ein.

Der restliche Inhalt folgt noch…