Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // By: Sammy Samkough
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- public class TicTacToeEvent implements ActionListener
- {
- private static final int WIDTH = 400;
- private static final int HEIGHT = 400;
- JFrame frame;
- JPanel p;
- Font f;
- // Dimension d;
- JButton b1, b2, b3, b4, b5, b6, b7, b8, b9;
- int x = 0;
- public TicTacToeEvent()
- {
- frame = new JFrame("TicTacToe");
- p = new JPanel();
- f = new Font("Arial", Font.BOLD, 30);
- // d = new Dimension(100, 100);
- frame.setContentPane(p);
- p.setLayout(new GridLayout(3, 3));
- b1 = new JButton(" ");
- b2 = new JButton(" ");
- b3 = new JButton(" ");
- b4 = new JButton(" ");
- b5 = new JButton(" ");
- b6 = new JButton(" ");
- b7 = new JButton(" ");
- b8 = new JButton(" ");
- b9 = new JButton(" ");
- b1.setFont(f);
- b2.setFont(f);
- b3.setFont(f);
- b4.setFont(f);
- b5.setFont(f);
- b6.setFont(f);
- b7.setFont(f);
- b8.setFont(f);
- b9.setFont(f);
- // With GridLayout, you only have to set one button to change the size and it'll do it to all of them.
- // b1.setPreferredSize(d);
- p.add(b1);
- p.add(b2);
- p.add(b3);
- p.add(b4);
- p.add(b5);
- p.add(b6);
- p.add(b7);
- p.add(b8);
- p.add(b9);
- b1.addActionListener(this);
- b2.addActionListener(this);
- b3.addActionListener(this);
- b4.addActionListener(this);
- b5.addActionListener(this);
- b6.addActionListener(this);
- b7.addActionListener(this);
- b8.addActionListener(this);
- b9.addActionListener(this);
- frame.setSize(WIDTH, HEIGHT);
- frame.setLocationRelativeTo(null);
- frame.setResizable(false);
- // frame.setTitle("Sammy");
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setVisible(true);
- }
- public void actionPerformed(ActionEvent e)
- {
- // So that when you click the button twice, it stays the same
- if (!e.getActionCommand().equals(" "))
- {
- return;
- }
- // To determine whether or not it's an X or an O
- if (e.getSource() == b1)
- {
- if (x == 0)
- {
- b1.setText("X");
- x += 1;
- }
- else if (x == 1)
- {
- b1.setText("O");
- x -= 1;
- }
- }
- if (e.getSource() == b2)
- {
- if (x == 0)
- {
- b2.setText("X");
- x += 1;
- }
- else if (x == 1)
- {
- b2.setText("O");
- x -= 1;
- }
- }
- if (e.getSource() == b3)
- {
- if (x == 0)
- {
- b3.setText("X");
- x += 1;
- }
- else if (x == 1)
- {
- b3.setText("O");
- x -= 1;
- }
- }
- if (e.getSource() == b4)
- {
- if (x == 0)
- {
- b4.setText("X");
- x += 1;
- }
- else if (x == 1)
- {
- b4.setText("O");
- x -= 1;
- }
- }
- if (e.getSource() == b5)
- {
- if (x == 0)
- {
- b5.setText("X");
- x += 1;
- }
- else if (x == 1)
- {
- b5.setText("O");
- x -= 1;
- }
- }
- if (e.getSource() == b6)
- {
- if (x == 0)
- {
- b6.setText("X");
- x += 1;
- }
- else if (x == 1)
- {
- b6.setText("O");
- x -= 1;
- }
- }
- if (e.getSource() == b7)
- {
- if (x == 0)
- {
- b7.setText("X");
- x += 1;
- }
- else if (x == 1)
- {
- b7.setText("O");
- x -= 1;
- }
- }
- if (e.getSource() == b8)
- {
- if (x == 0)
- {
- b8.setText("X");
- x += 1;
- }
- else if (x == 1)
- {
- b8.setText("O");
- x -= 1;
- }
- }
- if (e.getSource() == b9)
- {
- if (x == 0)
- {
- b9.setText("X");
- x += 1;
- }
- else if (x == 1)
- {
- b9.setText("O");
- x -= 1;
- }
- }
- // If X has won
- // Horizontal
- if (b1.getText().equals("X") && b2.getText().equals("X") && b3.getText().equals("X"))
- {
- JOptionPane.showMessageDialog(null, "X has won!");
- System.exit(0);
- }
- if (b4.getText().equals("X") && b5.getText().equals("X") && b6.getText().equals("X"))
- {
- JOptionPane.showMessageDialog(null, "X has won!");
- System.exit(0);
- }
- if (b7.getText().equals("X") && b8.getText().equals("X") && b9.getText().equals("X"))
- {
- JOptionPane.showMessageDialog(null, "X has won!");
- System.exit(0);
- }
- // Vertical
- if (b1.getText().equals("X") && b4.getText().equals("X") && b7.getText().equals("X"))
- {
- JOptionPane.showMessageDialog(null, "X has won!");
- System.exit(0);
- }
- if (b2.getText().equals("X") && b5.getText().equals("X") && b8.getText().equals("X"))
- {
- JOptionPane.showMessageDialog(null, "X has won!");
- System.exit(0);
- }
- if (b3.getText().equals("X") && b6.getText().equals("X") && b9.getText().equals("X"))
- {
- JOptionPane.showMessageDialog(null, "X has won!");
- System.exit(0);
- }
- // Diagnol
- if (b1.getText().equals("X") && b5.getText().equals("X") && b9.getText().equals("X"))
- {
- JOptionPane.showMessageDialog(null, "X has won!");
- System.exit(0);
- }
- if (b3.getText().equals("X") && b5.getText().equals("X") && b7.getText().equals("X"))
- {
- JOptionPane.showMessageDialog(null, "X has won!");
- System.exit(0);
- }
- // If O has won
- // Horizontal
- if (b1.getText().equals("O") && b2.getText().equals("O") && b3.getText().equals("O"))
- {
- JOptionPane.showMessageDialog(null, "O has won!");
- System.exit(0);
- }
- if (b4.getText().equals("O") && b5.getText().equals("O") && b6.getText().equals("O"))
- {
- JOptionPane.showMessageDialog(null, "O has won!");
- System.exit(0);
- }
- if (b7.getText().equals("O") && b8.getText().equals("O") && b9.getText().equals("O"))
- {
- JOptionPane.showMessageDialog(null, "O has won!");
- System.exit(0);
- }
- // Vertical
- if (b1.getText().equals("O") && b4.getText().equals("O") && b7.getText().equals("O"))
- {
- JOptionPane.showMessageDialog(null, "O has won!");
- System.exit(0);
- }
- if (b2.getText().equals("O") && b5.getText().equals("O") && b8.getText().equals("O"))
- {
- JOptionPane.showMessageDialog(null, "O has won!");
- System.exit(0);
- }
- if (b3.getText().equals("O") && b6.getText().equals("O") && b9.getText().equals("O"))
- {
- JOptionPane.showMessageDialog(null, "O has won!");
- System.exit(0);
- }
- // Diagnol
- if (b1.getText().equals("O") && b5.getText().equals("O") && b9.getText().equals("O"))
- {
- JOptionPane.showMessageDialog(null, "O has won!");
- System.exit(0);
- }
- if (b3.getText().equals("O") && b5.getText().equals("O") && b7.getText().equals("O"))
- {
- JOptionPane.showMessageDialog(null, "O has won!");
- System.exit(0);
- }
- if (!b1.getText().equals(" ") && !b2.getText().equals(" ") && !b3.getText().equals(" ") && !b4.getText().equals(" ") &&
- !b5.getText().equals(" ") && !b6.getText().equals(" ") && !b7.getText().equals(" ") && !b8.getText().equals(" ") &&
- !b9.getText().equals(" "))
- {
- JOptionPane.showMessageDialog(null, "It looks like no one has won.");
- JOptionPane.showMessageDialog(null, "Game will close.");
- System.exit(0);
- }
- }
- }
- -------------------------------------------------------------------------------------------------------------------------------------
- // By: Sammy Samkough
- public class TicTacToeEventTester
- {
- public static void main(String args[])
- {
- TicTacToeEvent t1 = new TicTacToeEvent();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment