Advertisement
Dar954826

Tic-Tac-Toe[ENG].java

Mar 26th, 2015
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 32.43 KB | None | 0 0
  1. package engGUI;
  2.  
  3. import java.awt.EventQueue;
  4.  
  5. import javax.swing.JFrame;
  6. import javax.swing.JPanel;
  7. import javax.swing.border.EmptyBorder;
  8. import javax.swing.JButton;
  9.  
  10. import java.awt.Font;
  11. import java.awt.event.MouseAdapter;
  12. import java.awt.event.MouseEvent;
  13. import java.util.ArrayList;
  14.  
  15. import javax.swing.JLabel;
  16. import java.awt.Color;
  17.  
  18. public class Tic_Tac_Toe extends JFrame {
  19.     public static int who = 0;
  20.     public static int win1=0;
  21.     public static int win2=0;
  22.     public static int win3=0;
  23.        
  24.     public static ArrayList<String> list = new ArrayList<String>();
  25.  
  26.     public static int whoWin(ArrayList<String> num) {
  27.         if (num.get(0) == "X" && num.get(1) == "X" && num.get(2) == "X") {
  28.             return 1;
  29.  
  30.         } else if (num.get(3) == "X" && num.get(4) == "X"
  31.                 && num.get(5) == "X") {
  32.             return 1;
  33.  
  34.         } else if (num.get(6) == "X" && num.get(7) == "X"
  35.                 && num.get(8) == "X") {
  36.             return 1;
  37.  
  38.         } else if (num.get(6) == "X" && num.get(3) == "X"
  39.                 && num.get(0) == "X") {
  40.             return 1;
  41.  
  42.         } else if (num.get(7) == "X" && num.get(4) == "X"
  43.                 && num.get(1) == "X") {
  44.             return 1;
  45.  
  46.         } else if (num.get(8) == "X" && num.get(5) == "X"
  47.                 && num.get(2) == "X") {
  48.             return 1;
  49.  
  50.         } else if (num.get(6) == "X" && num.get(4) == "X"
  51.                 && num.get(2) == "X") {
  52.             return 1;
  53.  
  54.         } else if (num.get(8) == "X" && num.get(4) == "X"
  55.                 && num.get(0) == "X") {
  56.             return 1;
  57.  
  58.         } else if (num.get(0)!=" "&&num.get(1)!=" "&&num.get(2)!=" "&&num.get(3)!=" "&&num.get(4)!=" "&&num.get(5)!=" "&&num.get(6)!=" "&&num.get(7)!=" "&&num.get(8)!=" ") {
  59.             return 3;
  60.  
  61.         } else if (num.get(0) == "O" && num.get(1) == "O"
  62.                 && num.get(2) == "O") {
  63.             return 2;
  64.  
  65.         } else if (num.get(3) == "O" && num.get(4) == "O"
  66.                 && num.get(5) == "O") {
  67.             return 2;
  68.  
  69.         } else if (num.get(6) == "O" && num.get(7) == "O"
  70.                 && num.get(8) == "O") {
  71.             return 2;
  72.  
  73.         } else if (num.get(6) == "O" && num.get(3) == "O"
  74.                 && num.get(0) == "O") {
  75.             return 2;
  76.  
  77.         } else if (num.get(7) == "O" && num.get(4) == "O"
  78.                 && num.get(1) == "O") {
  79.             return 2;
  80.  
  81.         } else if (num.get(8) == "O" && num.get(5) == "O"
  82.                 && num.get(2) == "O") {
  83.             return 2;
  84.  
  85.         } else if (num.get(6) == "O" && num.get(4) == "O"
  86.                 && num.get(2) == "O") {
  87.             return 2;
  88.  
  89.         } else if (num.get(8) == "O" && num.get(4) == "O"
  90.                 && num.get(0) == "O") {
  91.             return 2;
  92.  
  93.         } else if (num.get(0)!=" "&&num.get(1)!=" "&&num.get(2)!=" "&&num.get(3)!=" "&&num.get(4)!=" "&&num.get(5)!=" "&&num.get(6)!=" "&&num.get(7)!=" "&&num.get(8)!=" ") {
  94.             return 3;
  95.         } else {
  96.             return 0;
  97.         }
  98.  
  99.     }
  100.  
  101.     public static ArrayList<String> AI(ArrayList<String> num) {
  102.  
  103.         java.util.Random rnd = new java.util.Random();
  104.         int sel;
  105.        
  106.         if (num.get(6) == "O" && num.get(7) == "O" && num.get(8) == " ") {
  107.             num.set(8, "O");
  108.  
  109.         } else if (num.get(3) == "O" && num.get(4) == "O" && num.get(5) == " ") {
  110.             num.set(5, "O");
  111.  
  112.         } else if (num.get(0) == "O" && num.get(1) == "O" && num.get(2) == " ") {
  113.             num.set(2, "O");
  114.  
  115.         } else if (num.get(6) == "O" && num.get(8) == "O" && num.get(7) == " ") {
  116.             num.set(7, "O");
  117.  
  118.         } else if (num.get(3) == "O" && num.get(5) == "O" && num.get(4) == " ") {
  119.             num.set(4, "O");
  120.  
  121.         } else if (num.get(0) == "O" && num.get(2) == "O" && num.get(1) == " ") {
  122.             num.set(1, "O");
  123.  
  124.         } else if (num.get(8) == "O" && num.get(7) == "O" && num.get(6) == " ") {
  125.             num.set(6, "O");
  126.  
  127.         } else if (num.get(5) == "O" && num.get(4) == "O" && num.get(3) == " ") {
  128.             num.set(3, "O");
  129.  
  130.         } else if (num.get(2) == "O" && num.get(1) == "O" && num.get(0) == " ") {
  131.             num.set(0, "O");
  132.  
  133.         } else if (num.get(6) == "O" && num.get(3) == "O" && num.get(0) == " ") {
  134.             num.set(0, "O");
  135.  
  136.         } else if (num.get(7) == "O" && num.get(4) == "O" && num.get(1) == " ") {
  137.             num.set(1, "O");
  138.  
  139.         } else if (num.get(8) == "O" && num.get(5) == "O" && num.get(2) == " ") {
  140.             num.set(2, "O");
  141.  
  142.         } else if (num.get(6) == "O" && num.get(0) == "O" && num.get(3) == " ") {
  143.             num.set(3, "O");
  144.  
  145.         } else if (num.get(7) == "O" && num.get(1) == "O" && num.get(4) == " ") {
  146.             num.set(4, "O");
  147.  
  148.         } else if (num.get(8) == "O" && num.get(2) == "O" && num.get(5) == " ") {
  149.             num.set(5, "O");
  150.  
  151.         } else if (num.get(0) == "O" && num.get(3) == "O" && num.get(6) == " ") {
  152.             num.set(6, "O");
  153.  
  154.         } else if (num.get(1) == "O" && num.get(4) == "O" && num.get(7) == " ") {
  155.             num.set(7, "O");
  156.  
  157.         } else if (num.get(2) == "O" && num.get(5) == "O" && num.get(8) == " ") {
  158.             num.set(8, "O");
  159.  
  160.         } else if (num.get(6) == "O" && num.get(4) == "O" && num.get(2) == " ") {
  161.             num.set(2, "O");
  162.  
  163.         } else if (num.get(0) == "O" && num.get(4) == "O" && num.get(8) == " ") {
  164.             num.set(8, "O");
  165.  
  166.         } else if (num.get(6) == "O" && num.get(2) == "O" && num.get(4) == " ") {
  167.             num.set(4, "O");
  168.  
  169.         } else if (num.get(0) == "O" && num.get(8) == "O" && num.get(4) == " ") {
  170.             num.set(4, "O");
  171.  
  172.         } else if (num.get(4) == "O" && num.get(2) == "O" && num.get(6) == " ") {
  173.             num.set(6, "O");
  174.  
  175.         } else if (num.get(8) == "O" && num.get(4) == "O" && num.get(0) == " ") {
  176.             num.set(0, "O");
  177.  
  178.         } else if (num.get(6) == "X" && num.get(7) == "X" && num.get(8) == " ") {
  179.             num.set(8, "O");
  180.  
  181.         } else if (num.get(3) == "X" && num.get(4) == "X" && num.get(5) == " ") {
  182.             num.set(5, "O");
  183.  
  184.         } else if (num.get(0) == "X" && num.get(1) == "X" && num.get(2) == " ") {
  185.             num.set(2, "O");
  186.  
  187.         } else if (num.get(6) == "X" && num.get(8) == "X" && num.get(7) == " ") {
  188.             num.set(7, "O");
  189.  
  190.         } else if (num.get(3) == "X" && num.get(5) == "X" && num.get(4) == " ") {
  191.             num.set(4, "O");
  192.  
  193.         } else if (num.get(0) == "X" && num.get(2) == "X" && num.get(1) == " ") {
  194.             num.set(1, "O");
  195.  
  196.         } else if (num.get(8) == "X" && num.get(7) == "X" && num.get(6) == " ") {
  197.             num.set(6, "O");
  198.  
  199.         } else if (num.get(5) == "X" && num.get(4) == "X" && num.get(3) == " ") {
  200.             num.set(3, "O");
  201.  
  202.         } else if (num.get(2) == "X" && num.get(1) == "X" && num.get(0) == " ") {
  203.             num.set(0, "O");
  204.  
  205.         } else if (num.get(6) == "X" && num.get(3) == "X" && num.get(0) == " ") {
  206.             num.set(0, "O");
  207.  
  208.         } else if (num.get(7) == "X" && num.get(4) == "X" && num.get(1) == " ") {
  209.             num.set(1, "O");
  210.  
  211.         } else if (num.get(8) == "X" && num.get(5) == "X" && num.get(2) == " ") {
  212.             num.set(2, "O");
  213.  
  214.         } else if (num.get(6) == "X" && num.get(0) == "X" && num.get(3) == " ") {
  215.             num.set(3, "O");
  216.  
  217.         } else if (num.get(7) == "X" && num.get(1) == "X" && num.get(4) == " ") {
  218.             num.set(4, "O");
  219.  
  220.         } else if (num.get(8) == "X" && num.get(2) == "X" && num.get(5) == " ") {
  221.             num.set(5, "O");
  222.  
  223.         } else if (num.get(0) == "X" && num.get(3) == "X" && num.get(6) == " ") {
  224.             num.set(6, "O");
  225.  
  226.         } else if (num.get(1) == "X" && num.get(4) == "X" && num.get(7) == " ") {
  227.             num.set(7, "O");
  228.  
  229.         } else if (num.get(2) == "X" && num.get(5) == "X" && num.get(8) == " ") {
  230.             num.set(8, "O");
  231.  
  232.         } else if (num.get(6) == "X" && num.get(4) == "X" && num.get(2) == " ") {
  233.             num.set(2, "O");
  234.  
  235.         } else if (num.get(0) == "X" && num.get(4) == "X" && num.get(8) == " ") {
  236.             num.set(8, "O");
  237.  
  238.         } else if (num.get(6) == "X" && num.get(2) == "X" && num.get(4) == " ") {
  239.             num.set(4, "O");
  240.  
  241.         } else if (num.get(0) == "X" && num.get(8) == "X" && num.get(4) == " ") {
  242.             num.set(4, "O");
  243.  
  244.         } else if (num.get(4) == "X" && num.get(2) == "X" && num.get(6) == " ") {
  245.             num.set(6, "O");
  246.  
  247.         } else if (num.get(8) == "X" && num.get(4) == "X" && num.get(0) == " ") {
  248.             num.set(0, "O");
  249.  
  250.         } else if (num.get(0) == " " || num.get(1) == " " || num.get(2) == " "
  251.                 || num.get(3) == " " || num.get(4) == " " || num.get(5) == " "
  252.                 || num.get(6) == " " || num.get(7) == " " || num.get(8) == " ") {
  253.             while (true) {
  254.                 sel = rnd.nextInt(9) + 1;
  255.                 if (sel == 1 && num.get(0) == " ") {
  256.                     num.set(0, "O");
  257.                     break;
  258.  
  259.                 } else if (sel == 2 && num.get(1) == " ") {
  260.                     num.set(1, "O");
  261.                     break;
  262.  
  263.                 } else if (sel == 3 && num.get(2) == " ") {
  264.                     num.set(2, "O");
  265.                     break;
  266.  
  267.                 } else if (sel == 4 && num.get(3) == " ") {
  268.                     num.set(3, "O");
  269.                     break;
  270.  
  271.                 } else if (sel == 5 && num.get(4) == " ") {
  272.                     num.set(4, "O");
  273.                     break;
  274.  
  275.                 } else if (sel == 6 && num.get(5) == " ") {
  276.                     num.set(5, "O");
  277.                     break;
  278.  
  279.                 } else if (sel == 7 && num.get(6) == " ") {
  280.                     num.set(6, "O");
  281.                     break;
  282.  
  283.                 } else if (sel == 8 && num.get(7) == " ") {
  284.                     num.set(7, "O");
  285.                     break;
  286.  
  287.                 } else if (sel == 9 && num.get(8) == " ") {
  288.                     num.set(8, "O");
  289.                     break;
  290.                 }
  291.             }
  292.  
  293.         }
  294.  
  295.         return list;
  296.     }
  297.  
  298.     private static final long serialVersionUID = 6584630614505902562L;
  299.     private JPanel contentPane;
  300.  
  301.     public static void main(String[] args) {
  302.         EventQueue.invokeLater(new Runnable() {
  303.             public void run() {
  304.                 try {
  305.                     Tic_Tac_Toe frame = new Tic_Tac_Toe();
  306.                     frame.setVisible(true);
  307.                 } catch (Exception e) {
  308.                     e.printStackTrace();
  309.                 }
  310.             }
  311.         });
  312.     }
  313.  
  314.     public Tic_Tac_Toe() {
  315.         setForeground(Color.BLUE);
  316.         setBackground(Color.BLACK);
  317.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  318.         setBounds(100, 100, 350, 300);
  319.         contentPane = new JPanel();
  320.         contentPane.setForeground(Color.BLUE);
  321.         contentPane.setBackground(Color.BLACK);
  322.         contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  323.         setContentPane(contentPane);
  324.         contentPane.setLayout(null);
  325.         JButton btnRincomincia = new JButton("Restart");
  326.         btnRincomincia.setForeground(Color.BLUE);
  327.         btnRincomincia.setBackground(Color.BLACK);
  328.         JButton pos1 = new JButton("");
  329.         pos1.setForeground(Color.BLUE);
  330.         pos1.setBackground(Color.BLACK);
  331.         JButton pos2 = new JButton("");
  332.         pos2.setForeground(Color.BLUE);
  333.         pos2.setBackground(Color.BLACK);
  334.         JButton pos3 = new JButton("");
  335.         pos3.setForeground(Color.BLUE);
  336.         pos3.setBackground(Color.BLACK);
  337.         JButton pos4 = new JButton("");
  338.         pos4.setForeground(Color.BLUE);
  339.         pos4.setBackground(Color.BLACK);
  340.         JButton pos5 = new JButton("");
  341.         pos5.setForeground(Color.BLUE);
  342.         pos5.setBackground(Color.BLACK);
  343.         JButton pos6 = new JButton("");
  344.         pos6.setForeground(Color.BLUE);
  345.         pos6.setBackground(Color.BLACK);
  346.         JButton pos7 = new JButton("");
  347.         pos7.setForeground(Color.BLUE);
  348.         pos7.setBackground(Color.BLACK);
  349.         JButton pos8 = new JButton("");
  350.         pos8.setForeground(Color.BLUE);
  351.         pos8.setBackground(Color.BLACK);
  352.         JButton pos9 = new JButton("");
  353.         pos9.setForeground(Color.BLUE);
  354.         pos9.setBackground(Color.BLACK);
  355.         JLabel label = new JLabel("");
  356.         label.setForeground(Color.BLUE);
  357.         label.setBackground(Color.BLACK);
  358.         pos1.addMouseListener(new MouseAdapter() {
  359.             @Override
  360.             public void mouseClicked(MouseEvent arg0) {
  361.                 if (list.size() != 9) {
  362.                     for (int a = 0; a < 10; a++) {
  363.                         list.add(" ");
  364.                     }
  365.                 }
  366.                
  367.                 if (pos1.isEnabled()) {
  368.                     pos1.setText("X");
  369.                     list.set(0, "X");
  370.                     who = whoWin(list);
  371.                     if (who == 0) {
  372.                         list = AI(list);
  373.                     }
  374.  
  375.                     pos1.setEnabled(false);
  376.  
  377.                     pos1.setText(list.get(0));
  378.                     pos2.setText(list.get(1));
  379.                     pos3.setText(list.get(2));
  380.                     pos4.setText(list.get(3));
  381.                     pos5.setText(list.get(4));
  382.                     pos6.setText(list.get(5));
  383.                     pos7.setText(list.get(6));
  384.                     pos8.setText(list.get(7));
  385.                     pos9.setText(list.get(8));
  386.                     if (list.get(0) == "X" || list.get(0) == "O") {
  387.                         pos1.setEnabled(false);
  388.                     }
  389.                     if (list.get(1) == "X" || list.get(1) == "O") {
  390.                         pos2.setEnabled(false);
  391.                     }
  392.                     if (list.get(2) == "X" || list.get(2) == "O") {
  393.                         pos3.setEnabled(false);
  394.                     }
  395.                     if (list.get(3) == "X" || list.get(3) == "O") {
  396.                         pos4.setEnabled(false);
  397.                     }
  398.                     if (list.get(4) == "X" || list.get(4) == "O") {
  399.                         pos5.setEnabled(false);
  400.                     }
  401.                     if (list.get(5) == "X" || list.get(5) == "O") {
  402.                         pos6.setEnabled(false);
  403.                     }
  404.                     if (list.get(6) == "X" || list.get(6) == "O") {
  405.                         pos7.setEnabled(false);
  406.                     }
  407.                     if (list.get(7) == "X" || list.get(7) == "O") {
  408.                         pos8.setEnabled(false);
  409.                     }
  410.                     if (list.get(8) == "X" || list.get(8) == "O") {
  411.                         pos9.setEnabled(false);
  412.                     }
  413.                     who = whoWin(list);
  414.                     if (who != 0) {
  415.                         btnRincomincia.setVisible(true);
  416.                         pos1.setEnabled(false);
  417.                         pos2.setEnabled(false);
  418.                         pos3.setEnabled(false);
  419.                         pos4.setEnabled(false);
  420.                         pos5.setEnabled(false);
  421.                         pos6.setEnabled(false);
  422.                         pos7.setEnabled(false);
  423.                         pos8.setEnabled(false);
  424.                         pos9.setEnabled(false);
  425.                     }
  426.                     if (who == 1) {
  427.                         win1++;
  428.                         label.setText("Player won");
  429.                     } else if (who == 2) {
  430.                         win2++;
  431.                         label.setText("Computer won");
  432.                     } else if (who == 3) {
  433.                         win3++;
  434.                         label.setText("Player draw");
  435.                     }
  436.                 }
  437.             }
  438.         });
  439.         pos1.setFont(new Font("Tahoma", Font.PLAIN, 20));
  440.         pos1.setBounds(10, 11, 48, 48);
  441.         contentPane.add(pos1);
  442.  
  443.         pos2.addMouseListener(new MouseAdapter() {
  444.             @Override
  445.             public void mouseClicked(MouseEvent e) {
  446.                 if (list.size() != 9) {
  447.                     for (int a = 0; a < 10; a++) {
  448.                         list.add(" ");
  449.                     }
  450.                 }
  451.                
  452.                 if (pos2.isEnabled()) {
  453.                     pos2.setText("X");
  454.                     list.set(1, "X");
  455.                     who = whoWin(list);
  456.                     if (who == 0) {
  457.                         list = AI(list);
  458.                     }
  459.  
  460.                     pos2.setEnabled(false);
  461.  
  462.                     pos1.setText(list.get(0));
  463.                     pos2.setText(list.get(1));
  464.                     pos3.setText(list.get(2));
  465.                     pos4.setText(list.get(3));
  466.                     pos5.setText(list.get(4));
  467.                     pos6.setText(list.get(5));
  468.                     pos7.setText(list.get(6));
  469.                     pos8.setText(list.get(7));
  470.                     pos9.setText(list.get(8));
  471.                     if (list.get(0) == "X" || list.get(0) == "O") {
  472.                         pos1.setEnabled(false);
  473.                     }
  474.                     if (list.get(1) == "X" || list.get(1) == "O") {
  475.                         pos2.setEnabled(false);
  476.                     }
  477.                     if (list.get(2) == "X" || list.get(2) == "O") {
  478.                         pos3.setEnabled(false);
  479.                     }
  480.                     if (list.get(3) == "X" || list.get(3) == "O") {
  481.                         pos4.setEnabled(false);
  482.                     }
  483.                     if (list.get(4) == "X" || list.get(4) == "O") {
  484.                         pos5.setEnabled(false);
  485.                     }
  486.                     if (list.get(5) == "X" || list.get(5) == "O") {
  487.                         pos6.setEnabled(false);
  488.                     }
  489.                     if (list.get(6) == "X" || list.get(6) == "O") {
  490.                         pos7.setEnabled(false);
  491.                     }
  492.                     if (list.get(7) == "X" || list.get(7) == "O") {
  493.                         pos8.setEnabled(false);
  494.                     }
  495.                     if (list.get(8) == "X" || list.get(8) == "O") {
  496.                         pos9.setEnabled(false);
  497.                     }
  498.                     who = whoWin(list);
  499.                     if (who != 0) {
  500.                         btnRincomincia.setVisible(true);
  501.                         pos1.setEnabled(false);
  502.                         pos2.setEnabled(false);
  503.                         pos3.setEnabled(false);
  504.                         pos4.setEnabled(false);
  505.                         pos5.setEnabled(false);
  506.                         pos6.setEnabled(false);
  507.                         pos7.setEnabled(false);
  508.                         pos8.setEnabled(false);
  509.                         pos9.setEnabled(false);
  510.                     }
  511.                     if (who == 1) {
  512.                         win1++;
  513.                         label.setText("Player won");
  514.                     } else if (who == 2) {
  515.                         win2++;
  516.                         label.setText("Computer won");
  517.                     } else if (who == 3) {
  518.                         win3++;
  519.                         label.setText("Player draw");
  520.                     }
  521.                 }
  522.             }
  523.         });
  524.         pos2.setFont(new Font("Tahoma", Font.PLAIN, 20));
  525.         pos2.setBounds(68, 11, 48, 48);
  526.         contentPane.add(pos2);
  527.  
  528.         pos3.addMouseListener(new MouseAdapter() {
  529.             @Override
  530.             public void mouseClicked(MouseEvent e) {
  531.                 if (list.size() != 9) {
  532.                     for (int a = 0; a < 10; a++) {
  533.                         list.add(" ");
  534.                     }
  535.                 }
  536.                
  537.                 if (pos3.isEnabled()) {
  538.                     pos3.setText("X");
  539.                     list.set(2, "X");
  540.                     who = whoWin(list);
  541.                     if (who == 0) {
  542.                         list = AI(list);
  543.                     }
  544.  
  545.                     pos3.setEnabled(false);
  546.  
  547.                     pos1.setText(list.get(0));
  548.                     pos2.setText(list.get(1));
  549.                     pos3.setText(list.get(2));
  550.                     pos4.setText(list.get(3));
  551.                     pos5.setText(list.get(4));
  552.                     pos6.setText(list.get(5));
  553.                     pos7.setText(list.get(6));
  554.                     pos8.setText(list.get(7));
  555.                     pos9.setText(list.get(8));
  556.                     if (list.get(0) == "X" || list.get(0) == "O") {
  557.                         pos1.setEnabled(false);
  558.                     }
  559.                     if (list.get(1) == "X" || list.get(1) == "O") {
  560.                         pos2.setEnabled(false);
  561.                     }
  562.                     if (list.get(2) == "X" || list.get(2) == "O") {
  563.                         pos3.setEnabled(false);
  564.                     }
  565.                     if (list.get(3) == "X" || list.get(3) == "O") {
  566.                         pos4.setEnabled(false);
  567.                     }
  568.                     if (list.get(4) == "X" || list.get(4) == "O") {
  569.                         pos5.setEnabled(false);
  570.                     }
  571.                     if (list.get(5) == "X" || list.get(5) == "O") {
  572.                         pos6.setEnabled(false);
  573.                     }
  574.                     if (list.get(6) == "X" || list.get(6) == "O") {
  575.                         pos7.setEnabled(false);
  576.                     }
  577.                     if (list.get(7) == "X" || list.get(7) == "O") {
  578.                         pos8.setEnabled(false);
  579.                     }
  580.                     if (list.get(8) == "X" || list.get(8) == "O") {
  581.                         pos9.setEnabled(false);
  582.                     }
  583.                     who = whoWin(list);
  584.                     if (who != 0) {
  585.                         btnRincomincia.setVisible(true);
  586.                         pos1.setEnabled(false);
  587.                         pos2.setEnabled(false);
  588.                         pos3.setEnabled(false);
  589.                         pos4.setEnabled(false);
  590.                         pos5.setEnabled(false);
  591.                         pos6.setEnabled(false);
  592.                         pos7.setEnabled(false);
  593.                         pos8.setEnabled(false);
  594.                         pos9.setEnabled(false);
  595.                     }
  596.                     if (who == 1) {
  597.                         win1++;
  598.                         label.setText("Player won");
  599.                     } else if (who == 2) {
  600.                         win2++;
  601.                         label.setText("Computer won");
  602.                     } else if (who == 3) {
  603.                         win3++;
  604.                         label.setText("Player draw");
  605.                     }
  606.                 }
  607.             }
  608.         });
  609.         pos3.setFont(new Font("Tahoma", Font.PLAIN, 20));
  610.         pos3.setBounds(126, 11, 48, 48);
  611.         contentPane.add(pos3);
  612.  
  613.         pos4.addMouseListener(new MouseAdapter() {
  614.             @Override
  615.             public void mouseClicked(MouseEvent e) {
  616.                 if (list.size() != 9) {
  617.                     for (int a = 0; a < 10; a++) {
  618.                         list.add(" ");
  619.                     }
  620.                 }
  621.                
  622.                 if (pos4.isEnabled()) {
  623.                     pos4.setText("X");
  624.                     list.set(3, "X");
  625.                     who = whoWin(list);
  626.                     if (who == 0) {
  627.                         list = AI(list);
  628.                     }
  629.  
  630.                     pos4.setEnabled(false);
  631.  
  632.                     pos1.setText(list.get(0));
  633.                     pos2.setText(list.get(1));
  634.                     pos3.setText(list.get(2));
  635.                     pos4.setText(list.get(3));
  636.                     pos5.setText(list.get(4));
  637.                     pos6.setText(list.get(5));
  638.                     pos7.setText(list.get(6));
  639.                     pos8.setText(list.get(7));
  640.                     pos9.setText(list.get(8));
  641.                     if (list.get(0) == "X" || list.get(0) == "O") {
  642.                         pos1.setEnabled(false);
  643.                     }
  644.                     if (list.get(1) == "X" || list.get(1) == "O") {
  645.                         pos2.setEnabled(false);
  646.                     }
  647.                     if (list.get(2) == "X" || list.get(2) == "O") {
  648.                         pos3.setEnabled(false);
  649.                     }
  650.                     if (list.get(3) == "X" || list.get(3) == "O") {
  651.                         pos4.setEnabled(false);
  652.                     }
  653.                     if (list.get(4) == "X" || list.get(4) == "O") {
  654.                         pos5.setEnabled(false);
  655.                     }
  656.                     if (list.get(5) == "X" || list.get(5) == "O") {
  657.                         pos6.setEnabled(false);
  658.                     }
  659.                     if (list.get(6) == "X" || list.get(6) == "O") {
  660.                         pos7.setEnabled(false);
  661.                     }
  662.                     if (list.get(7) == "X" || list.get(7) == "O") {
  663.                         pos8.setEnabled(false);
  664.                     }
  665.                     if (list.get(8) == "X" || list.get(8) == "O") {
  666.                         pos9.setEnabled(false);
  667.                     }
  668.                     who = whoWin(list);
  669.                     if (who != 0) {
  670.                         btnRincomincia.setVisible(true);
  671.                         pos1.setEnabled(false);
  672.                         pos2.setEnabled(false);
  673.                         pos3.setEnabled(false);
  674.                         pos4.setEnabled(false);
  675.                         pos5.setEnabled(false);
  676.                         pos6.setEnabled(false);
  677.                         pos7.setEnabled(false);
  678.                         pos8.setEnabled(false);
  679.                         pos9.setEnabled(false);
  680.                     }
  681.                     if (who == 1) {
  682.                         win1++;
  683.                         label.setText("Player won");
  684.                     } else if (who == 2) {
  685.                         win2++;
  686.                         label.setText("Computer won");
  687.                     } else if (who == 3) {
  688.                         win3++;
  689.                         label.setText("Player draw");
  690.                     }
  691.                 }
  692.             }
  693.         });
  694.         pos4.setFont(new Font("Tahoma", Font.PLAIN, 20));
  695.         pos4.setBounds(10, 70, 48, 48);
  696.         contentPane.add(pos4);
  697.  
  698.         pos5.addMouseListener(new MouseAdapter() {
  699.             @Override
  700.             public void mouseClicked(MouseEvent e) {
  701.                 if (list.size() != 9) {
  702.                     for (int a = 0; a < 10; a++) {
  703.                         list.add(" ");
  704.                     }
  705.                 }
  706.                 if (pos5.isEnabled()) {
  707.                     pos5.setText("X");
  708.                     list.set(4, "X");
  709.                     who = whoWin(list);
  710.                     if (who == 0) {
  711.                         list = AI(list);
  712.                     }
  713.  
  714.                     pos5.setEnabled(false);
  715.  
  716.                     pos1.setText(list.get(0));
  717.                     pos2.setText(list.get(1));
  718.                     pos3.setText(list.get(2));
  719.                     pos4.setText(list.get(3));
  720.                     pos5.setText(list.get(4));
  721.                     pos6.setText(list.get(5));
  722.                     pos7.setText(list.get(6));
  723.                     pos8.setText(list.get(7));
  724.                     pos9.setText(list.get(8));
  725.                     if (list.get(0) == "X" || list.get(0) == "O") {
  726.                         pos1.setEnabled(false);
  727.                     }
  728.                     if (list.get(1) == "X" || list.get(1) == "O") {
  729.                         pos2.setEnabled(false);
  730.                     }
  731.                     if (list.get(2) == "X" || list.get(2) == "O") {
  732.                         pos3.setEnabled(false);
  733.                     }
  734.                     if (list.get(3) == "X" || list.get(3) == "O") {
  735.                         pos4.setEnabled(false);
  736.                     }
  737.                     if (list.get(4) == "X" || list.get(4) == "O") {
  738.                         pos5.setEnabled(false);
  739.                     }
  740.                     if (list.get(5) == "X" || list.get(5) == "O") {
  741.                         pos6.setEnabled(false);
  742.                     }
  743.                     if (list.get(6) == "X" || list.get(6) == "O") {
  744.                         pos7.setEnabled(false);
  745.                     }
  746.                     if (list.get(7) == "X" || list.get(7) == "O") {
  747.                         pos8.setEnabled(false);
  748.                     }
  749.                     if (list.get(8) == "X" || list.get(8) == "O") {
  750.                         pos9.setEnabled(false);
  751.                     }
  752.                     who = whoWin(list);
  753.                     if (who != 0) {
  754.                         btnRincomincia.setVisible(true);
  755.                         pos1.setEnabled(false);
  756.                         pos2.setEnabled(false);
  757.                         pos3.setEnabled(false);
  758.                         pos4.setEnabled(false);
  759.                         pos5.setEnabled(false);
  760.                         pos6.setEnabled(false);
  761.                         pos7.setEnabled(false);
  762.                         pos8.setEnabled(false);
  763.                         pos9.setEnabled(false);
  764.                     }
  765.                     if (who == 1) {
  766.                         win1++;
  767.                         label.setText("Player won");
  768.                     } else if (who == 2) {
  769.                         win2++;
  770.                         label.setText("Computer won");
  771.                     } else if (who == 3) {
  772.                         win3++;
  773.                         label.setText("Player draw");
  774.                     }
  775.                 }
  776.             }
  777.         });
  778.         pos5.setFont(new Font("Tahoma", Font.PLAIN, 20));
  779.         pos5.setBounds(68, 70, 48, 48);
  780.         contentPane.add(pos5);
  781.  
  782.         pos6.addMouseListener(new MouseAdapter() {
  783.             @Override
  784.             public void mouseClicked(MouseEvent e) {
  785.                 if (list.size() != 9) {
  786.                     for (int a = 0; a < 10; a++) {
  787.                         list.add(" ");
  788.                     }
  789.                 }
  790.                
  791.                 if (pos6.isEnabled()) {
  792.                     pos6.setText("X");
  793.                     list.set(5, "X");
  794.                     who = whoWin(list);
  795.                     if (who == 0) {
  796.                         list = AI(list);
  797.                     }
  798.  
  799.                     pos6.setEnabled(false);
  800.  
  801.                     pos1.setText(list.get(0));
  802.                     pos2.setText(list.get(1));
  803.                     pos3.setText(list.get(2));
  804.                     pos4.setText(list.get(3));
  805.                     pos5.setText(list.get(4));
  806.                     pos6.setText(list.get(5));
  807.                     pos7.setText(list.get(6));
  808.                     pos8.setText(list.get(7));
  809.                     pos9.setText(list.get(8));
  810.                     if (list.get(0) == "X" || list.get(0) == "O") {
  811.                         pos1.setEnabled(false);
  812.                     }
  813.                     if (list.get(1) == "X" || list.get(1) == "O") {
  814.                         pos2.setEnabled(false);
  815.                     }
  816.                     if (list.get(2) == "X" || list.get(2) == "O") {
  817.                         pos3.setEnabled(false);
  818.                     }
  819.                     if (list.get(3) == "X" || list.get(3) == "O") {
  820.                         pos4.setEnabled(false);
  821.                     }
  822.                     if (list.get(4) == "X" || list.get(4) == "O") {
  823.                         pos5.setEnabled(false);
  824.                     }
  825.                     if (list.get(5) == "X" || list.get(5) == "O") {
  826.                         pos6.setEnabled(false);
  827.                     }
  828.                     if (list.get(6) == "X" || list.get(6) == "O") {
  829.                         pos7.setEnabled(false);
  830.                     }
  831.                     if (list.get(7) == "X" || list.get(7) == "O") {
  832.                         pos8.setEnabled(false);
  833.                     }
  834.                     if (list.get(8) == "X" || list.get(8) == "O") {
  835.                         pos9.setEnabled(false);
  836.                     }
  837.                     who = whoWin(list);
  838.                     if (who != 0) {
  839.                         btnRincomincia.setVisible(true);
  840.                         pos1.setEnabled(false);
  841.                         pos2.setEnabled(false);
  842.                         pos3.setEnabled(false);
  843.                         pos4.setEnabled(false);
  844.                         pos5.setEnabled(false);
  845.                         pos6.setEnabled(false);
  846.                         pos7.setEnabled(false);
  847.                         pos8.setEnabled(false);
  848.                         pos9.setEnabled(false);
  849.                     }
  850.                     if (who == 1) {
  851.                         win1++;
  852.                         label.setText("Player won");
  853.                     } else if (who == 2) {
  854.                         win2++;
  855.                         label.setText("Computer won");
  856.                     } else if (who == 3) {
  857.                         win3++;
  858.                         label.setText("Player draw");
  859.                     }
  860.                 }
  861.             }
  862.         });
  863.         pos6.setFont(new Font("Tahoma", Font.PLAIN, 20));
  864.         pos6.setBounds(126, 70, 48, 48);
  865.         contentPane.add(pos6);
  866.  
  867.         pos7.addMouseListener(new MouseAdapter() {
  868.             @Override
  869.             public void mouseClicked(MouseEvent e) {
  870.                 if (list.size() != 9) {
  871.                     for (int a = 0; a < 10; a++) {
  872.                         list.add(" ");
  873.                     }
  874.                 }
  875.                
  876.                 if (pos7.isEnabled()) {
  877.                     pos7.setText("X");
  878.                     list.set(6, "X");
  879.                     who = whoWin(list);
  880.                     if (who == 0) {
  881.                         list = AI(list);
  882.                     }
  883.  
  884.                     pos7.setEnabled(false);
  885.  
  886.                     pos1.setText(list.get(0));
  887.                     pos2.setText(list.get(1));
  888.                     pos3.setText(list.get(2));
  889.                     pos4.setText(list.get(3));
  890.                     pos5.setText(list.get(4));
  891.                     pos6.setText(list.get(5));
  892.                     pos7.setText(list.get(6));
  893.                     pos8.setText(list.get(7));
  894.                     pos9.setText(list.get(8));
  895.                     if (list.get(0) == "X" || list.get(0) == "O") {
  896.                         pos1.setEnabled(false);
  897.                     }
  898.                     if (list.get(1) == "X" || list.get(1) == "O") {
  899.                         pos2.setEnabled(false);
  900.                     }
  901.                     if (list.get(2) == "X" || list.get(2) == "O") {
  902.                         pos3.setEnabled(false);
  903.                     }
  904.                     if (list.get(3) == "X" || list.get(3) == "O") {
  905.                         pos4.setEnabled(false);
  906.                     }
  907.                     if (list.get(4) == "X" || list.get(4) == "O") {
  908.                         pos5.setEnabled(false);
  909.                     }
  910.                     if (list.get(5) == "X" || list.get(5) == "O") {
  911.                         pos6.setEnabled(false);
  912.                     }
  913.                     if (list.get(6) == "X" || list.get(6) == "O") {
  914.                         pos7.setEnabled(false);
  915.                     }
  916.                     if (list.get(7) == "X" || list.get(7) == "O") {
  917.                         pos8.setEnabled(false);
  918.                     }
  919.                     if (list.get(8) == "X" || list.get(8) == "O") {
  920.                         pos9.setEnabled(false);
  921.                     }
  922.                     who = whoWin(list);
  923.                     if (who != 0) {
  924.                         btnRincomincia.setVisible(true);
  925.                         pos1.setEnabled(false);
  926.                         pos2.setEnabled(false);
  927.                         pos3.setEnabled(false);
  928.                         pos4.setEnabled(false);
  929.                         pos5.setEnabled(false);
  930.                         pos6.setEnabled(false);
  931.                         pos7.setEnabled(false);
  932.                         pos8.setEnabled(false);
  933.                         pos9.setEnabled(false);
  934.                     }
  935.                     if (who == 1) {
  936.                         win1++;
  937.                         label.setText("Player won");
  938.                     } else if (who == 2) {
  939.                         win2++;
  940.                         label.setText("Computer won");
  941.                     } else if (who == 3) {
  942.                         win3++;
  943.                         label.setText("Player draw");
  944.                     }
  945.                 }
  946.             }
  947.         });
  948.         pos7.setFont(new Font("Tahoma", Font.PLAIN, 20));
  949.         pos7.setBounds(10, 129, 48, 48);
  950.         contentPane.add(pos7);
  951.  
  952.         pos8.addMouseListener(new MouseAdapter() {
  953.             @Override
  954.             public void mouseClicked(MouseEvent e) {
  955.                 if (list.size() != 9) {
  956.                     for (int a = 0; a < 10; a++) {
  957.                         list.add(" ");
  958.                     }
  959.                 }
  960.            
  961.                 if (pos8.isEnabled()) {
  962.                     pos8.setText("X");
  963.                     who = whoWin(list);
  964.                     list.set(7, "X");
  965.                     who = whoWin(list);
  966.                     if (who == 0) {
  967.                         list = AI(list);
  968.                     }
  969.  
  970.                     pos8.setEnabled(false);
  971.  
  972.                     pos1.setText(list.get(0));
  973.                     pos2.setText(list.get(1));
  974.                     pos3.setText(list.get(2));
  975.                     pos4.setText(list.get(3));
  976.                     pos5.setText(list.get(4));
  977.                     pos6.setText(list.get(5));
  978.                     pos7.setText(list.get(6));
  979.                     pos8.setText(list.get(7));
  980.                     pos9.setText(list.get(8));
  981.                     if (list.get(0) == "X" || list.get(0) == "O") {
  982.                         pos1.setEnabled(false);
  983.                     }
  984.                     if (list.get(1) == "X" || list.get(1) == "O") {
  985.                         pos2.setEnabled(false);
  986.                     }
  987.                     if (list.get(2) == "X" || list.get(2) == "O") {
  988.                         pos3.setEnabled(false);
  989.                     }
  990.                     if (list.get(3) == "X" || list.get(3) == "O") {
  991.                         pos4.setEnabled(false);
  992.                     }
  993.                     if (list.get(4) == "X" || list.get(4) == "O") {
  994.                         pos5.setEnabled(false);
  995.                     }
  996.                     if (list.get(5) == "X" || list.get(5) == "O") {
  997.                         pos6.setEnabled(false);
  998.                     }
  999.                     if (list.get(6) == "X" || list.get(6) == "O") {
  1000.                         pos7.setEnabled(false);
  1001.                     }
  1002.                     if (list.get(7) == "X" || list.get(7) == "O") {
  1003.                         pos8.setEnabled(false);
  1004.                     }
  1005.                     if (list.get(8) == "X" || list.get(8) == "O") {
  1006.                         pos9.setEnabled(false);
  1007.                     }
  1008.                     who = whoWin(list);
  1009.                     if (who != 0) {
  1010.                         btnRincomincia.setVisible(true);
  1011.                         pos1.setEnabled(false);
  1012.                         pos2.setEnabled(false);
  1013.                         pos3.setEnabled(false);
  1014.                         pos4.setEnabled(false);
  1015.                         pos5.setEnabled(false);
  1016.                         pos6.setEnabled(false);
  1017.                         pos7.setEnabled(false);
  1018.                         pos8.setEnabled(false);
  1019.                         pos9.setEnabled(false);
  1020.                     }
  1021.                     if (who == 1) {
  1022.                         win1++;
  1023.                         label.setText("Player won");
  1024.                     } else if (who == 2) {
  1025.                         win2++;
  1026.                         label.setText("Computer won");
  1027.                     } else if (who == 3) {
  1028.                         win3++;
  1029.                         label.setText("Player draw");
  1030.                     }
  1031.                 }
  1032.             }
  1033.         });
  1034.         pos8.setFont(new Font("Tahoma", Font.PLAIN, 20));
  1035.         pos8.setBounds(68, 129, 48, 48);
  1036.         contentPane.add(pos8);
  1037.  
  1038.         pos9.addMouseListener(new MouseAdapter() {
  1039.             @Override
  1040.             public void mouseClicked(MouseEvent e) {
  1041.                 if (list.size() != 9) {
  1042.                     for (int a = 0; a < 10; a++) {
  1043.                         list.add(" ");
  1044.                     }
  1045.                 }
  1046.                
  1047.                 if (pos9.isEnabled()) {
  1048.                     pos9.setText("X");
  1049.                     list.set(8, "X");
  1050.                     who = whoWin(list);
  1051.                     if (who == 0) {
  1052.                         list = AI(list);
  1053.                     }
  1054.  
  1055.                     pos9.setEnabled(false);
  1056.  
  1057.                     pos1.setText(list.get(0));
  1058.                     pos2.setText(list.get(1));
  1059.                     pos3.setText(list.get(2));
  1060.                     pos4.setText(list.get(3));
  1061.                     pos5.setText(list.get(4));
  1062.                     pos6.setText(list.get(5));
  1063.                     pos7.setText(list.get(6));
  1064.                     pos8.setText(list.get(7));
  1065.                     pos9.setText(list.get(8));
  1066.                     if (list.get(0) == "X" || list.get(0) == "O") {
  1067.                         pos1.setEnabled(false);
  1068.                     }
  1069.                     if (list.get(1) == "X" || list.get(1) == "O") {
  1070.                         pos2.setEnabled(false);
  1071.                     }
  1072.                     if (list.get(2) == "X" || list.get(2) == "O") {
  1073.                         pos3.setEnabled(false);
  1074.                     }
  1075.                     if (list.get(3) == "X" || list.get(3) == "O") {
  1076.                         pos4.setEnabled(false);
  1077.                     }
  1078.                     if (list.get(4) == "X" || list.get(4) == "O") {
  1079.                         pos5.setEnabled(false);
  1080.                     }
  1081.                     if (list.get(5) == "X" || list.get(5) == "O") {
  1082.                         pos6.setEnabled(false);
  1083.                     }
  1084.                     if (list.get(6) == "X" || list.get(6) == "O") {
  1085.                         pos7.setEnabled(false);
  1086.                     }
  1087.                     if (list.get(7) == "X" || list.get(7) == "O") {
  1088.                         pos8.setEnabled(false);
  1089.                     }
  1090.                     if (list.get(8) == "X" || list.get(8) == "O") {
  1091.                         pos9.setEnabled(false);
  1092.                     }
  1093.                     who = whoWin(list);
  1094.                     if (who != 0) {
  1095.  
  1096.                         btnRincomincia.setVisible(true);
  1097.                         pos1.setEnabled(false);
  1098.                         pos2.setEnabled(false);
  1099.                         pos3.setEnabled(false);
  1100.                         pos4.setEnabled(false);
  1101.                         pos5.setEnabled(false);
  1102.                         pos6.setEnabled(false);
  1103.                         pos7.setEnabled(false);
  1104.                         pos8.setEnabled(false);
  1105.                         pos9.setEnabled(false);
  1106.                     }
  1107.                     if (who == 1) {
  1108.                         win1++;
  1109.                         label.setText("Player won");
  1110.                     } else if (who == 2) {
  1111.                         win2++;
  1112.                         label.setText("Computer won");
  1113.                     } else if (who == 3) {
  1114.                         win3++;
  1115.                         label.setText("Player draw");
  1116.                     }
  1117.                 }
  1118.             }
  1119.         });
  1120.         pos9.setFont(new Font("Tahoma", Font.PLAIN, 20));
  1121.         pos9.setBounds(126, 129, 48, 48);
  1122.         contentPane.add(pos9);
  1123.  
  1124.         label.setBounds(10, 237, 164, 14);
  1125.         contentPane.add(label);
  1126.         JLabel lblComputer = new JLabel("Computer = 0");
  1127.         lblComputer.setForeground(Color.BLUE);
  1128.         lblComputer.setBackground(Color.BLACK);
  1129.         lblComputer.setBounds(215, 89, 133, 14);
  1130.         contentPane.add(lblComputer);
  1131.        
  1132.         JLabel lblGiocatore = new JLabel("Player = 0");
  1133.         lblGiocatore.setForeground(Color.BLUE);
  1134.         lblGiocatore.setBackground(Color.BLACK);
  1135.         lblGiocatore.setBounds(215, 28, 133, 14);
  1136.         contentPane.add(lblGiocatore);
  1137.        
  1138.         JLabel lblPareggi = new JLabel("Draw  = 0");
  1139.         lblPareggi.setForeground(Color.BLUE);
  1140.         lblPareggi.setBackground(Color.BLACK);
  1141.         lblPareggi.setBounds(215, 149, 133, 14);
  1142.         contentPane.add(lblPareggi);
  1143.        
  1144.         btnRincomincia.setVisible(false);
  1145.         btnRincomincia.addMouseListener(new MouseAdapter() {
  1146.             @Override
  1147.             public void mouseClicked(MouseEvent arg0) {
  1148.                 btnRincomincia.setVisible(false);
  1149.                 list.set(0, " ");
  1150.                 list.set(1, " ");
  1151.                 list.set(2, " ");
  1152.                 list.set(3, " ");
  1153.                 list.set(4, " ");
  1154.                 list.set(5, " ");
  1155.                 list.set(6, " ");
  1156.                 list.set(7, " ");
  1157.                 list.set(8, " ");
  1158.                 list.set(9, " ");
  1159.                 pos1.setText("");
  1160.                 pos2.setText("");
  1161.                 pos3.setText("");
  1162.                 pos4.setText("");
  1163.                 pos5.setText("");
  1164.                 pos6.setText("");
  1165.                 pos7.setText("");
  1166.                 pos8.setText("");
  1167.                 pos9.setText("");
  1168.                 pos1.setEnabled(true);
  1169.                 pos2.setEnabled(true);
  1170.                 pos3.setEnabled(true);
  1171.                 pos4.setEnabled(true);
  1172.                 pos5.setEnabled(true);
  1173.                 pos6.setEnabled(true);
  1174.                 pos7.setEnabled(true);
  1175.                 pos8.setEnabled(true);
  1176.                 pos9.setEnabled(true);
  1177.                 label.setText("");
  1178.                 lblGiocatore.setText("Player = "+Integer.toString(win1));
  1179.                 lblComputer.setText("Computer = "+Integer.toString(win2));
  1180.                 lblPareggi.setText("Draw = "+Integer.toString(win3));
  1181.                
  1182.                
  1183.             }
  1184.         });
  1185.         btnRincomincia.setBounds(20, 188, 140, 23);
  1186.         contentPane.add(btnRincomincia);
  1187.        
  1188.        
  1189.     }
  1190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement