Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- *
- * Author: staxx6
- * V 1.2
- * Created: 06.10.2011
- *
- */
- package tictactoe;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- @SuppressWarnings("serial")
- public class Feld extends JFrame implements ActionListener {
- public static String spieler = "X";
- public static int runde = 0;
- public static boolean win = false;
- JLabel label = new JLabel();
- JButton button1 = new JButton(" ");
- JButton button2 = new JButton(" ");
- JButton button3 = new JButton(" ");
- JButton button4 = new JButton(" ");
- JButton button5 = new JButton(" ");
- JButton button6 = new JButton(" ");
- JButton button7 = new JButton(" ");
- JButton button8 = new JButton(" ");
- JButton button9 = new JButton(" ");
- JButton restart = new JButton("Spiel neu starten");
- public static void main(String[] args)
- {
- // Look and Feel
- try {
- UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );
- } catch (Exception b) {
- b.printStackTrace();
- }
- Feld feld = new Feld();
- feld.start();
- }
- void start()
- {
- // Frame
- JFrame frame = new JFrame("Tic Tac Toe");
- frame.setSize(350, 420);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setVisible(true);
- frame.setLocationRelativeTo(null);
- frame.setResizable(false);
- // Panels
- JPanel panelbut = new JPanel();
- panelbut.setBackground(Color.black);
- frame.add(BorderLayout.NORTH, panelbut);
- panelbut.setLayout(new GridLayout(0, 3));
- // Buttons
- button1.setPreferredSize(new Dimension(100, 100));
- panelbut.add(button1);
- panelbut.add(button2);
- panelbut.add(button3);
- panelbut.add(button4);
- panelbut.add(button5);
- panelbut.add(button6);
- panelbut.add(button7);
- panelbut.add(button8);
- panelbut.add(button9);
- // SOUTH Listener
- frame.add(BorderLayout.SOUTH, restart);
- restart.addActionListener(this);
- restart.setActionCommand("restart");
- // Lable
- label.setText("Spieler " + spieler +" ist dran!");
- Font bigFont = new Font("sansserif", Font.PLAIN, 20);
- label.setFont(bigFont);
- label.setHorizontalAlignment(SwingConstants.CENTER);
- label.setVerticalAlignment(SwingConstants.CENTER);
- frame.add(BorderLayout.CENTER, label);
- // CENTER Listener
- button1.addActionListener(this);
- button1.setActionCommand("b1");
- button2.addActionListener(this);
- button2.setActionCommand("b2");
- button3.addActionListener(this);
- button3.setActionCommand("b3");
- button4.addActionListener(this);
- button4.setActionCommand("b4");
- button5.addActionListener(this);
- button5.setActionCommand("b5");
- button6.addActionListener(this);
- button6.setActionCommand("b6");
- button7.addActionListener(this);
- button7.setActionCommand("b7");
- button8.addActionListener(this);
- button8.setActionCommand("b8");
- button9.addActionListener(this);
- button9.setActionCommand("b9");
- } // start() ENDE
- public void actionPerformed(ActionEvent e)
- {
- ++runde;
- /* DEBUG
- System.out.println(runde);
- System.out.println(win);
- */
- if (e.getActionCommand().equals("b1"))
- {
- if (button1.getText().equals(" "))
- {
- if (win == false) {
- button1.setText(spieler);
- cheking(spieler);
- }
- }
- }
- else if (e.getActionCommand().equals("b2"))
- {
- if (button2.getText().equals(" "))
- {
- if (win == false) {
- button2.setText(spieler);
- cheking(spieler);
- }
- }
- }
- else if (e.getActionCommand().equals("b3"))
- {
- if (button3.getText().equals(" "))
- {
- if (win == false) {
- button3.setText(spieler);
- cheking(spieler);
- }
- }
- }
- else if (e.getActionCommand().equals("b4"))
- {
- if (button4.getText().equals(" "))
- {
- if (win == false) {
- button4.setText(spieler);
- cheking(spieler);
- }
- }
- }
- else if (e.getActionCommand().equals("b5"))
- {
- if (button5.getText().equals(" "))
- {
- if (win == false) {
- button5.setText(spieler);
- cheking(spieler);
- }
- }
- }
- else if (e.getActionCommand().equals("b6"))
- {
- if (button6.getText().equals(" "))
- {
- if (win == false) {
- button6.setText(spieler);
- cheking(spieler);
- }
- }
- }
- else if (e.getActionCommand().equals("b7"))
- {
- if (button7.getText().equals(" "))
- {
- if (win == false) {
- button7.setText(spieler);
- cheking(spieler);
- }
- }
- }
- else if (e.getActionCommand().equals("b8"))
- {
- if (button8.getText().equals(" "))
- {
- if (win == false) {
- button8.setText(spieler);
- cheking(spieler);
- }
- }
- }
- else if (e.getActionCommand().equals("b9"))
- {
- if (button9.getText().equals(" "))
- {
- if (win == false) {
- button9.setText(spieler);
- cheking(spieler);
- }
- }
- }
- else if(restart.getActionCommand().equals("restart"))
- {
- button1.setText(" ");
- button2.setText(" ");
- button3.setText(" ");
- button4.setText(" ");
- button5.setText(" ");
- button6.setText(" ");
- button7.setText(" ");
- button8.setText(" ");
- button9.setText(" ");
- spieler = "X";
- label.setText("Spieler " + spieler +" ist dran!");
- runde = 0;
- win = false;
- }
- else {
- System.out.println("FEHLER: Unbekannt!");
- }
- } // actionPerformed ENDE
- public void zelle() // Eigentlich Spieler wechsel
- {
- if (spieler.equals("X"))
- {
- spieler = "O";
- } else {
- spieler = "X";
- }
- label.setText("Spieler " + spieler +" ist dran!");
- }
- private void cheking(String spieler) {
- if ((button1.getText().equals(spieler) && button2.getText().equals(spieler) && button3.getText().equals(spieler))
- || (button4.getText().equals(spieler) && button5.getText().equals(spieler) && button6.getText().equals(spieler))
- || (button7.getText().equals(spieler) && button8.getText().equals(spieler) && button9.getText().equals(spieler))
- || (button1.getText().equals(spieler) && button4.getText().equals(spieler) && button7.getText().equals(spieler))
- || (button2.getText().equals(spieler) && button5.getText().equals(spieler) && button8.getText().equals(spieler))
- || (button3.getText().equals(spieler) && button6.getText().equals(spieler) && button9.getText().equals(spieler))
- || (button1.getText().equals(spieler) && button5.getText().equals(spieler) && button9.getText().equals(spieler))
- || (button3.getText().equals(spieler) && button5.getText().equals(spieler) && button7.getText().equals(spieler)))
- {
- label.setText("Spieler " + spieler +" hat gewonnen!");
- win = true;
- } else {
- zelle();
- if(runde == 9 && win == false)
- {
- label.setText("-Unentschieden-");
- runde = 0;
- }
- }
- }
- } // class ENDE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement