import java.awt.Color;import java.awt.Font;import java.awt.Graphics; /* * This GUI framework makes it easy to check which keys have been pressed and what the mouse * is doing. * * It adds a few new methods: * * getChar() * isCharAvailable() * * getMouseX() * getMouseY() * getMouseButtons() * * getActualFPS() * */public class Example_Panel extends GUIPanel {   int mButtons;  int graph;  int turn = 1;     // NOTE: You only need to include this if you want to change the frame rate or  // window size.  // Default is 30 frames per second, 500×500 pixels  public Example_Panel() {    // Create GUI, specify FPS and size    super(30, 800, 800);    graph = new int36;    mButtons = 0;  }   public void paint(Graphics g) { //this figures out the x and y cord of the mouse    int Mx = getMouseX();    int My = getMouseY();    // Clear the screen    g.setColor(Color.white);    g.fillRect(0, 0, getSize().width, getSize().height);    g.setColor(Color.black);     // Choose a Font    g.setFont(new Font(“Arial”, Font.BOLD, 40));     {       //write the title and some extra info      int buttons = getMouseButtons();      g.drawString(“Tic Tac Toe “, 275, 50);      g.setFont(new Font(“Arial”, Font.BOLD, 20));      g.drawString(“(when playing please switch players after you take a turn)”,          130, 75);      g.drawString(“(click on which box you would like to place your X or O)”,          140, 95);      g.drawLine(165, 620, 165, 200); // vertical lines in order from left to                                      // right      g.drawLine(235, 620, 235, 200);      g.drawLine(305, 620, 305, 200);      g.drawLine(375, 620, 375, 200);      g.drawLine(445, 620, 445, 200);      g.drawLine(515, 620, 515, 200);      g.drawLine(585, 620, 585, 200);      g.drawLine(165, 200, 585, 200); // horizontal lines in order from top to                                      // bottom      g.drawLine(165, 270, 585, 270);      g.drawLine(165, 340, 585, 340);      g.drawLine(165, 410, 585, 410);      g.drawLine(165, 480, 585, 480);      g.drawLine(165, 550, 585, 550);      g.drawLine(165, 620, 585, 620); //all the spots the x can be  // to do this i used arrays  // what i did was if someone click in a certain range it would change the value of the array // and if the array has a certain value it would draw a x in the area the person clicked // i also made it so that when a X or O is placed down it changes the turn to the other player      if (buttons >= 100 && 165 < Mx && Mx < 585 && My > 200 && My < 620) {         if (turn == 2) {          if (buttons >= 100 && 165 < Mx && Mx < 235 && My < 270 && My > 200) {            graph0 = 2;          }          if (graph0 == 2) {            g.drawLine(165, 270, 235, 200);            g.drawLine(165, 200, 235, 270);          }          if (buttons >= 100 && 235 < Mx && Mx < 305 && My < 270 && My > 200) {            graph1 = 1;          }          if (graph1 == 2) {            g.drawLine(235, 270, 305, 200);            g.drawLine(235, 200, 305, 270);          }          if (buttons >= 100 && 305 < Mx && Mx < 375 && My < 270 && My > 200) {            graph2 = 2;          }          if (graph2 == 2) {            g.drawLine(305, 270, 375, 200);            g.drawLine(305, 200, 375, 270);          }          if (buttons >= 100 && 375 < Mx && Mx < 445 && My < 270 && My > 200) {            graph3 = 2;          }          if (graph3 == 2) {            g.drawLine(375, 270, 445, 200);            g.drawLine(375, 200, 445, 270);          }          if (buttons >= 100 && 445 < Mx && Mx < 515 && My < 270 && My > 200) {            graph4 = 2;          }          if (graph4 == 2) {            g.drawLine(445, 270, 515, 200);            g.drawLine(445, 200, 515, 270);          }          if (buttons >= 100 && 515 < Mx && Mx < 585 && My < 270 && My > 200) {            graph5 = 2;          }          if (graph5 == 2) {            g.drawLine(515, 270, 585, 200);            g.drawLine(515, 200, 585, 270);          }          if (buttons >= 100 && 165 < Mx && Mx < 235 && My < 340 && My > 270) {            graph6 = 2;          }          if (graph6 == 2) {            g.drawLine(165, 340, 235, 270);            g.drawLine(165, 270, 235, 340);          }          if (buttons >= 100 && 235 < Mx && Mx < 305 && My < 340 && My > 270) {            graph7 = 2;          }          if (graph7 == 2) {            g.drawLine(235, 340, 305, 270);            g.drawLine(235, 270, 305, 340);          }          if (buttons >= 100 && 305 < Mx && Mx < 375 && My < 340 && My > 270) {            graph8 = 2;          }          if (graph8 == 2) {            g.drawLine(305, 340, 375, 270);            g.drawLine(305, 270, 375, 340);          }          if (buttons >= 100 && 375 < Mx && Mx < 445 && My < 340 && My > 270) {            graph9 = 2;          }          if (graph9 == 2) {            g.drawLine(375, 340, 445, 270);            g.drawLine(375, 270, 445, 340);          }          if (buttons >= 100 && 445 < Mx && Mx < 515 && My < 340 && My > 270) {            graph10 = 2;          }          if (graph10 == 2) {            g.drawLine(445, 340, 515, 270);            g.drawLine(445, 270, 515, 340);          }          if (buttons >= 100 && 515 < Mx && Mx < 585 && My < 340 && My > 270) {            graph11 = 2;          }          if (graph11 == 2) {            g.drawLine(515, 340, 585, 270);            g.drawLine(515, 270, 585, 340);          }          if (buttons >= 100 && 165 < Mx && Mx < 235 && My < 410 && My > 340) {            graph12 = 2;          }          if (graph12 == 2) {            g.drawLine(165, 410, 235, 340);            g.drawLine(165, 340, 235, 410);          }          if (buttons >= 100 && 235 < Mx && Mx < 305 && My < 410 && My > 340) {            graph13 = 2;          }          if (graph13 == 2) {            g.drawLine(235, 410, 305, 340);            g.drawLine(235, 340, 305, 410);          }          if (buttons >= 100 && 305 < Mx && Mx < 375 && My < 410 && My > 340) {            graph14 = 2;          }          if (graph14 == 2) {            g.drawLine(305, 410, 375, 340);            g.drawLine(305, 340, 375, 410);          }          if (buttons >= 100 && 375 < Mx && Mx < 445 && My < 410 && My > 340) {            graph15 = 2;          }          if (graph15 == 2) {            g.drawLine(375, 410, 445, 340);            g.drawLine(375, 340, 445, 410);          }          if (buttons >= 100 && 445 < Mx && Mx < 515 && My < 410 && My > 340) {            graph16 = 2;          }          if (graph16 == 2) {            g.drawLine(445, 410, 515, 340);            g.drawLine(445, 340, 515, 410);          }          if (buttons >= 100 && 515 < Mx && Mx < 585 && My < 410 && My > 340) {            graph17 = 2;          }          if (graph17 == 2) {            g.drawLine(515, 410, 585, 340);            g.drawLine(515, 340, 585, 410);          }          if (buttons >= 100 && 165 < Mx && Mx < 235 && My < 480 && My > 410) {            graph18 = 2;          }          if (graph18 == 2) {            g.drawLine(165, 480, 235, 410);            g.drawLine(165, 410, 235, 480);          }          if (buttons >= 100 && 235 < Mx && Mx < 305 && My < 480 && My > 410) {            graph19 = 2;          }          if (graph19 == 2) {            g.drawLine(235, 480, 305, 410);            g.drawLine(235, 410, 305, 480);          }          if (buttons >= 100 && 305 < Mx && Mx < 375 && My < 480 && My > 410) {            graph20 = 2;          }          if (graph20 == 2) {            g.drawLine(305, 480, 375, 410);            g.drawLine(305, 410, 375, 480);          }          if (buttons >= 100 && 375 < Mx && Mx < 445 && My < 480 && My > 410) {            graph21 = 2;          }          if (graph21 == 2) {            g.drawLine(375, 480, 445, 410);            g.drawLine(375, 410, 445, 480);          }          if (buttons >= 100 && 445 < Mx && Mx < 515 && My < 480 && My > 410) {            graph22 = 2;          }          if (graph22 == 2) {            g.drawLine(445, 480, 515, 410);            g.drawLine(445, 410, 515, 480);          }          if (buttons >= 100 && 515 < Mx && Mx < 585 && My < 480 && My > 410) {            graph23 = 2;          }          if (graph23 == 2) {            g.drawLine(515, 480, 585, 410);            g.drawLine(515, 410, 585, 480);          }          if (buttons >= 100 && 165 < Mx && Mx < 235 && My < 550 && My > 480) {            graph24 = 2;          }          if (graph24 == 2) {            g.drawLine(165, 550, 235, 480);            g.drawLine(165, 480, 235, 550);          }          if (buttons >= 100 && 235 < Mx && Mx < 305 && My < 550 && My > 480) {            graph25 = 2;          }          if (graph25 == 2) {            g.drawLine(235, 550, 305, 480);            g.drawLine(235, 480, 305, 550);          }          if (buttons >= 100 && 305 < Mx && Mx < 375 && My < 550 && My > 480) {            graph26 = 2;          }          if (graph26 == 2) {            g.drawLine(305, 550, 375, 480);            g.drawLine(305, 480, 375, 550);          }          if (buttons >= 100 && 375 < Mx && Mx < 445 && My < 550 && My > 480) {            graph27 = 2;          }          if (graph27 == 2) {            g.drawLine(375, 550, 445, 480);            g.drawLine(375, 480, 445, 550);          }          if (buttons >= 100 && 445 < Mx && Mx < 515 && My < 550 && My > 480) {            graph28 = 2;          }          if (graph28 == 2) {            g.drawLine(445, 550, 515, 480);            g.drawLine(445, 480, 515, 550);          }          if (buttons >= 100 && 515 < Mx && Mx < 585 && My < 550 && My > 480) {            graph29 = 2;          }          if (graph29 == 2) {            g.drawLine(515, 550, 585, 480);            g.drawLine(515, 480, 585, 550);          }          if (buttons >= 100 && 165 < Mx && Mx < 235 && My < 620 && My > 550) {            graph30 = 2;          }          if (graph30 == 2) {            g.drawLine(165, 620, 235, 550);            g.drawLine(165, 550, 235, 620);          }          if (buttons >= 100 && 235 < Mx && Mx < 305 && My < 620 && My > 550) {            graph31 = 2;          }          if (graph31 == 2) {            g.drawLine(235, 620, 305, 550);            g.drawLine(235, 550, 305, 620);          }          if (buttons >= 100 && 305 < Mx && Mx < 375 && My < 620 && My > 550) {            graph32 = 2;          }          if (graph32 == 2) {            g.drawLine(305, 620, 375, 550);            g.drawLine(305, 550, 375, 620);          }          if (buttons >= 100 && 375 < Mx && Mx < 445 && My < 620 && My > 550) {            graph33 = 2;          }          if (graph33 == 2) {            g.drawLine(375, 620, 445, 550);            g.drawLine(375, 550, 445, 620);          }          if (buttons >= 100 && 445 < Mx && Mx < 515 && My < 620 && My > 550) {            graph34 = 2;          }          if (graph34 == 2) {            g.drawLine(445, 620, 515, 550);            g.drawLine(445, 550, 515, 620);          }          if (buttons >= 100 && 515 < Mx && Mx < 585 && My < 620 && My > 550) {            graph35 = 2;          }          if (graph35 == 2) {            g.drawLine(515, 620, 585, 550);            g.drawLine(515, 550, 585, 620);          }          turn = 1;        }      //all the spots the 0 can be         // to do this i used arrays         // what i did was if someone click in a certain range it would change the value of the array        // and if the array has a certain value it would draw a 0 in the area the person clicked        else if (turn == 1) {          if (buttons >= 100 && 165 < Mx && Mx < 235 && My < 270 && My > 200) {            graph0 = 1;          }          if (graph0 == 1) {            g.fillOval(180, 215, 40, 40);          }          if (buttons >= 100 && 235 < Mx && Mx < 305 && My < 270 && My > 200) {            graph1 = 1;          }          if (graph1 == 1) {            g.fillOval(250, 215, 40, 40);          }          if (buttons >= 100 && 305 < Mx && Mx < 375 && My < 270 && My > 200) {            graph2 = 1;          }          if (graph2 == 1) {            g.fillOval(320, 215, 40, 40);          }          if (buttons >= 100 && 375 < Mx && Mx < 445 && My < 270 && My > 200) {            graph3 = 1;          }          if (graph3 == 1) {            g.fillOval(390, 215, 40, 40);          }          if (buttons >= 100 && 445 < Mx && Mx < 515 && My < 270 && My > 200) {            graph4 = 1;          }          if (graph4 == 1) {            g.fillOval(460, 215, 40, 40);          }          if (buttons >= 100 && 515 < Mx && Mx < 585 && My < 270 && My > 200) {            graph5 = 1;          }          if (graph5 == 1) {            g.fillOval(530, 215, 40, 40);          }          if (buttons >= 100 && 165 < Mx && Mx < 235 && My < 340 && My > 270) {            graph6 = 1;          }          if (graph6 == 1) {            g.fillOval(180, 285, 40, 40);          }          if (buttons >= 100 && 235 < Mx && Mx < 305 && My < 340 && My > 270) {            graph7 = 1;          }          if (graph7 == 1) {            g.fillOval(250, 285, 40, 40);          }          if (buttons >= 100 && 305 < Mx && Mx < 375 && My < 340 && My > 270) {            graph8 = 1;          }          if (graph8 == 1) {            g.fillOval(320, 285, 40, 40);          }          if (buttons >= 100 && 375 < Mx && Mx < 445 && My < 340 && My > 270) {            graph9 = 1;          }          if (graph9 == 1) {            g.fillOval(390, 285, 40, 40);          }          if (buttons >= 100 && 445 < Mx && Mx < 515 && My < 340 && My > 270) {            graph10 = 1;          }          if (graph10 == 1) {            g.fillOval(460, 285, 40, 40);          }          if (buttons >= 100 && 515 < Mx && Mx < 585 && My < 340 && My > 270) {            graph11 = 1;          }          if (graph11 == 1) {            g.fillOval(530, 285, 40, 40);          }          if (buttons >= 100 && 165 < Mx && Mx < 235 && My < 410 && My > 340) {            graph12 = 1;          }          if (graph12 == 1) {            g.fillOval(180, 355, 40, 40);          }          if (buttons >= 100 && 235 < Mx && Mx < 305 && My < 410 && My > 340) {            graph13 = 1;          }          if (graph13 == 1) {            g.fillOval(250, 355, 40, 40);          }          if (buttons >= 100 && 305 < Mx && Mx < 375 && My < 410 && My > 340) {            graph14 = 1;          }          if (graph14 == 1) {            g.fillOval(320, 355, 40, 40);          }          if (buttons >= 100 && 375 < Mx && Mx < 445 && My < 410 && My > 340) {            graph15 = 1;          }          if (graph15 == 1) {            g.fillOval(390, 355, 40, 40);          }          if (buttons >= 100 && 445 < Mx && Mx < 515 && My < 410 && My > 340) {            graph16 = 1;          }          if (graph16 == 1) {            g.fillOval(460, 355, 40, 40);          }          if (buttons >= 100 && 515 < Mx && Mx < 585 && My < 410 && My > 340) {            graph17 = 1;          }          if (graph17 == 1) {            g.fillOval(530, 355, 40, 40);          }          if (buttons >= 100 && 165 < Mx && Mx < 235 && My < 480 && My > 410) {            graph18 = 1;          }          if (graph18 == 1) {            g.fillOval(180, 425, 40, 40);          }          if (buttons >= 100 && 235 < Mx && Mx < 305 && My < 480 && My > 410) {            graph19 = 1;          }          if (graph19 == 1) {            g.fillOval(250, 425, 40, 40);          }          if (buttons >= 100 && 305 < Mx && Mx < 375 && My < 480 && My > 410) {            graph20 = 1;          }          if (graph20 == 1) {            g.fillOval(320, 425, 40, 40);          }          if (buttons >= 100 && 375 < Mx && Mx < 445 && My < 480 && My > 410) {            graph21 = 1;          }          if (graph21 == 1) {            g.fillOval(390, 425, 40, 40);          }          if (buttons >= 100 && 445 < Mx && Mx < 515 && My < 480 && My > 410) {            graph22 = 1;          }          if (graph22 == 1) {            g.fillOval(460, 425, 40, 40);          }          if (buttons >= 100 && 515 < Mx && Mx < 585 && My < 480 && My > 410) {            graph23 = 1;          }          if (graph23 == 1) {            g.fillOval(530, 425, 40, 40);          }          if (buttons >= 100 && 165 < Mx && Mx < 235 && My < 550 && My > 480) {            graph24 = 1;          }          if (graph24 == 1) {            g.fillOval(180, 495, 40, 40);          }          if (buttons >= 100 && 235 < Mx && Mx < 305 && My < 550 && My > 480) {            graph25 = 1;          }          if (graph25 == 1) {            g.fillOval(250, 495, 40, 40);          }          if (buttons >= 100 && 305 < Mx && Mx < 375 && My < 550 && My > 480) {            graph26 = 1;          }          if (graph26 == 1) {            g.fillOval(320, 495, 40, 40);          }          if (buttons >= 100 && 375 < Mx && Mx < 445 && My < 550 && My > 480) {            graph27 = 1;          }          if (graph27 == 1) {            g.fillOval(390, 495, 40, 40);          }          if (buttons >= 100 && 445 < Mx && Mx < 515 && My < 550 && My > 480) {            graph28 = 1;          }          if (graph28 == 1) {            g.fillOval(460, 495, 40, 40);          }          if (buttons >= 100 && 515 < Mx && Mx < 585 && My < 550 && My > 480) {            graph29 = 1;          }          if (graph29 == 1) {            g.fillOval(530, 495, 40, 40);          }          if (buttons >= 100 && 165 < Mx && Mx < 235 && My < 620 && My > 550) {            graph30 = 1;          }          if (graph30 == 1) {            g.fillOval(180, 565, 40, 40);          }          if (buttons >= 100 && 235 < Mx && Mx < 305 && My < 620 && My > 550) {            graph31 = 1;          }          if (graph31 == 1) {            g.fillOval(250, 565, 40, 40);          }          if (buttons >= 100 && 305 < Mx && Mx < 375 && My < 620 && My > 550) {            graph32 = 1;          }          if (graph32 == 1) {            g.fillOval(320, 565, 40, 40);          }          if (buttons >= 100 && 375 < Mx && Mx < 445 && My < 620 && My > 550) {            graph33 = 1;          }          if (graph33 == 1) {            g.fillOval(390, 565, 40, 40);          }          if (buttons >= 100 && 445 < Mx && Mx < 515 && My < 620 && My > 550) {            graph34 = 1;          }          if (graph34 == 1) {            g.fillOval(460, 565, 40, 40);          }          if (buttons >= 100 && 515 < Mx && Mx < 585 && My < 620 && My > 550) {            graph35 = 1;          }          if (graph35 == 1) {            g.fillOval(530, 565, 40, 40);          }          turn = 2;        }      }    }  }}