I need to write a tic tac toe game that displays who's turn it is. It doesnt have to restart or have AI. Im not sure why everytime i click it repaints a different colors. I want every cell to be one solid color then depending on if its X's or O's turn change to a different color containing an X or O.

import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.util.Random;
import java.awt.Graphics;
import java.awt.Color;
import javax.swing.*;

public class TicTacToe extends JPanel implements MouseListener
{
    public static void main(String[] args)
    {
        JFrame frame = new JFrame("Tic Tac Toe");
        frame.setSize(616, 643);
        TicTacToe panel = new TicTacToe();
        frame.setBackground(Color.black);
        frame.add(panel);
        frame.setVisible(true);
    }

    private ColorCell cell1 = new ColorCell(0, 0);
    private ColorCell cell2 = new ColorCell(203, 0);
    private ColorCell cell3 = new ColorCell(406, 0);
    private ColorCell cell4 = new ColorCell(0, 203);
    private ColorCell cell5 = new ColorCell(0, 406);
    private ColorCell cell6 = new ColorCell(203, 203);
    private ColorCell cell7 = new ColorCell(203, 406);
    private ColorCell cell8 = new ColorCell(406, 203);
    private ColorCell cell9 = new ColorCell(406, 406);
    private int x = 0;
    private int y = 0;
    private int turn = 0;
    private int width = 0;
    private int height = 0;
    private int clickednum = 0;


  public TicTacToe()
    {
        addMouseListener(cell1);
        addMouseListener(cell2);
        addMouseListener(cell3);
        addMouseListener(cell4);
        addMouseListener(cell5);
        addMouseListener(cell6);
        addMouseListener(cell7);
        addMouseListener(cell8);
        addMouseListener(cell9);
        addMouseListener(this);
    }

  public TicTacToe(int xValue, int yValue)
  {
    x = xValue;
    y = yValue;
  }

  public void paintCell(Graphics g)
  {
      


  }

  public void paintComponent(Graphics g)
    {
        cell1.paintCell(g);
        cell2.paintCell(g);
        cell3.paintCell(g);
        cell4.paintCell(g);
        cell5.paintCell(g);
        cell6.paintCell(g);
        cell7.paintCell(g);
        cell8.paintCell(g);
        cell9.paintCell(g);
    }

    private void placePiece()
        {

        }

        public void mousePressed(MouseEvent e)
        {
            if(e.getX() >= x && e.getX() <= x+width && e.getY() >= y && e.getY() <= y+height)
            {
                placePiece();
            }
        }


    public void mouseReleased(MouseEvent e)
    {
        repaint();
    }
    public void mouseClicked(MouseEvent e)
    {
    }
    public void mouseEntered(MouseEvent e){}
    public void mouseExited(MouseEvent e){}
  }

Your posted code won't compile. It is missing definition for ColorCell.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.