Advertisement
Dar954826

Tic-Tac-ToePl[ENG].java

Mar 26th, 2015
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 15.10 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_ToePl extends JFrame {
  19.     public static int who = 0;
  20.     public static int win1=0;
  21.     public static int win2=0;
  22.     public static int turn=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.  
  102.     private static final long serialVersionUID = 6584630614505902562L;
  103.     private JPanel contentPane;
  104.  
  105.     public static void main(String[] args) {
  106.         EventQueue.invokeLater(new Runnable() {
  107.             public void run() {
  108.                 try {
  109.                     Tic_Tac_ToePl frame = new Tic_Tac_ToePl();
  110.                     frame.setVisible(true);
  111.                 } catch (Exception e) {
  112.                     e.printStackTrace();
  113.                 }
  114.             }
  115.         });
  116.     }
  117.  
  118.     public Tic_Tac_ToePl() {
  119.         setForeground(Color.BLUE);
  120.         setBackground(Color.BLACK);
  121.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  122.         setBounds(100, 100, 350, 300);
  123.         contentPane = new JPanel();
  124.         contentPane.setForeground(Color.BLUE);
  125.         contentPane.setBackground(Color.BLACK);
  126.         contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  127.         setContentPane(contentPane);
  128.         contentPane.setLayout(null);
  129.         JLabel label_1 = new JLabel("");
  130.         JButton btnRincomincia = new JButton("Restart");
  131.         btnRincomincia.setForeground(Color.BLUE);
  132.         btnRincomincia.setBackground(Color.BLACK);
  133.         JButton pos1 = new JButton("");
  134.         pos1.setForeground(Color.BLUE);
  135.         pos1.setBackground(Color.BLACK);
  136.         JButton pos2 = new JButton("");
  137.         pos2.setForeground(Color.BLUE);
  138.         pos2.setBackground(Color.BLACK);
  139.         JButton pos3 = new JButton("");
  140.         pos3.setForeground(Color.BLUE);
  141.         pos3.setBackground(Color.BLACK);
  142.         JButton pos4 = new JButton("");
  143.         pos4.setForeground(Color.BLUE);
  144.         pos4.setBackground(Color.BLACK);
  145.         JButton pos5 = new JButton("");
  146.         pos5.setForeground(Color.BLUE);
  147.         pos5.setBackground(Color.BLACK);
  148.         JButton pos6 = new JButton("");
  149.        
  150.         pos6.setForeground(Color.BLUE);
  151.         pos6.setBackground(Color.BLACK);
  152.         JButton pos7 = new JButton("");
  153.         pos7.setForeground(Color.BLUE);
  154.         pos7.setBackground(Color.BLACK);
  155.         JButton pos8 = new JButton("");
  156.         pos8.setForeground(Color.BLUE);
  157.         pos8.setBackground(Color.BLACK);
  158.         JButton pos9 = new JButton("");
  159.         pos9.setForeground(Color.BLUE);
  160.         pos9.setBackground(Color.BLACK);
  161.         JLabel label = new JLabel("");
  162.         label.setForeground(Color.BLUE);
  163.         label.setBackground(Color.BLACK);
  164.         pos1.addMouseListener(new MouseAdapter() {
  165.             @Override
  166.             public void mouseClicked(MouseEvent arg0) {
  167.                 if(pos1.isEnabled()){
  168.                 if (list.size() != 9) {
  169.                     for (int a = 0; a < 10; a++) {
  170.                         list.add(" ");
  171.                     }
  172.                 }
  173.                 turn++;
  174.                
  175.                 if(turn%2==1){label_1.setText("Turn: Player 2");pos1.setText("X");list.set(0, "X");}
  176.                 if(turn%2==0){label_1.setText("Turn: Player 1");pos1.setText("O");list.set(0, "O");}
  177.                 who=whoWin(list);
  178.                 if(who!=0){pos1.setEnabled(false);pos2.setEnabled(false);pos3.setEnabled(false);pos4.setEnabled(false);pos5.setEnabled(false);pos6.setEnabled(false);pos7.setEnabled(false);pos8.setEnabled(false);pos9.setEnabled(false);btnRincomincia.setVisible(true);}
  179.                 if(who==1){win1++;label.setText("Won player 1");}
  180.                 if(who==2){win2++;label.setText("Won player 2");}
  181.                 }
  182.             }
  183.         });
  184.         pos1.setFont(new Font("Tahoma", Font.PLAIN, 20));
  185.         pos1.setBounds(10, 11, 48, 48);
  186.         contentPane.add(pos1);
  187.  
  188.         pos2.addMouseListener(new MouseAdapter() {
  189.             @Override
  190.             public void mouseClicked(MouseEvent e) {
  191.                 if(pos2.isEnabled()){
  192.                     if (list.size() != 9) {
  193.                         for (int a = 0; a < 10; a++) {
  194.                             list.add(" ");
  195.                         }
  196.                     }
  197.                     turn++;
  198.                    
  199.                     if(turn%2==1){label_1.setText("Turn: Player 2");pos2.setText("X");list.set(1, "X");}
  200.                     if(turn%2==0){label_1.setText("Turn: Player 1");pos2.setText("O");list.set(1, "O");}
  201.                     who=whoWin(list);
  202.                     if(who!=0){pos2.setEnabled(false);pos2.setEnabled(false);pos3.setEnabled(false);pos4.setEnabled(false);pos5.setEnabled(false);pos6.setEnabled(false);pos7.setEnabled(false);pos8.setEnabled(false);pos9.setEnabled(false);btnRincomincia.setVisible(true);}
  203.                     if(who==1){win1++;label.setText("Won player 1");}
  204.                     if(who==2){win2++;label.setText("Won player 2");}
  205.                     }
  206.                
  207.             }
  208.         });
  209.         pos2.setFont(new Font("Tahoma", Font.PLAIN, 20));
  210.         pos2.setBounds(68, 11, 48, 48);
  211.         contentPane.add(pos2);
  212.  
  213.         pos3.addMouseListener(new MouseAdapter() {
  214.             @Override
  215.             public void mouseClicked(MouseEvent e) {
  216.                 if(pos3.isEnabled()){
  217.                     if (list.size() != 9) {
  218.                         for (int a = 0; a < 10; a++) {
  219.                             list.add(" ");
  220.                         }
  221.                     }
  222.                     turn++;
  223.                    
  224.                     if(turn%2==1){label_1.setText("Turn: Player 2");pos3.setText("X");list.set(2, "X");}
  225.                     if(turn%2==0){label_1.setText("Turn: Player 1");pos3.setText("O");list.set(2, "O");}
  226.                     who=whoWin(list);
  227.                     if(who!=0){pos3.setEnabled(false);pos2.setEnabled(false);pos3.setEnabled(false);pos4.setEnabled(false);pos5.setEnabled(false);pos6.setEnabled(false);pos7.setEnabled(false);pos8.setEnabled(false);pos9.setEnabled(false);btnRincomincia.setVisible(true);}
  228.                     if(who==1){win1++;label.setText("Won player 1");}
  229.                     if(who==2){win2++;label.setText("Won player 2");}
  230.                     }
  231.                
  232.             }
  233.         });
  234.         pos3.setFont(new Font("Tahoma", Font.PLAIN, 20));
  235.         pos3.setBounds(126, 11, 48, 48);
  236.         contentPane.add(pos3);
  237.  
  238.         pos4.addMouseListener(new MouseAdapter() {
  239.             @Override
  240.             public void mouseClicked(MouseEvent e) {
  241.                 if(pos4.isEnabled()){
  242.                     if (list.size() != 9) {
  243.                         for (int a = 0; a < 10; a++) {
  244.                             list.add(" ");
  245.                         }
  246.                     }
  247.                     turn++;
  248.                    
  249.                     if(turn%2==1){label_1.setText("Turn: Player 2");pos4.setText("X");list.set(3, "X");}
  250.                     if(turn%2==0){label_1.setText("Turn: Player 1");pos4.setText("O");list.set(3, "O");}
  251.                     who=whoWin(list);
  252.                     if(who!=0){pos4.setEnabled(false);pos2.setEnabled(false);pos3.setEnabled(false);pos4.setEnabled(false);pos5.setEnabled(false);pos6.setEnabled(false);pos7.setEnabled(false);pos8.setEnabled(false);pos9.setEnabled(false);btnRincomincia.setVisible(true);}
  253.                     if(who==1){win1++;label.setText("Won player 1");}
  254.                     if(who==2){win2++;label.setText("Won player 2");}
  255.                     }
  256.                 }
  257.         });
  258.         pos4.setFont(new Font("Tahoma", Font.PLAIN, 20));
  259.         pos4.setBounds(10, 70, 48, 48);
  260.         contentPane.add(pos4);
  261.  
  262.         pos5.addMouseListener(new MouseAdapter() {
  263.             @Override
  264.             public void mouseClicked(MouseEvent e) {
  265.                 if(pos5.isEnabled()){
  266.                     if (list.size() != 9) {
  267.                         for (int a = 0; a < 10; a++) {
  268.                             list.add(" ");
  269.                         }
  270.                     }
  271.                     turn++;
  272.                    
  273.                     if(turn%2==1){label_1.setText("Turn: Player 2");pos5.setText("X");list.set(4, "X");}
  274.                     if(turn%2==0){label_1.setText("Turn: Player 1");pos5.setText("O");list.set(4, "O");}
  275.                     who=whoWin(list);
  276.                     if(who!=0){pos5.setEnabled(false);pos2.setEnabled(false);pos3.setEnabled(false);pos4.setEnabled(false);pos5.setEnabled(false);pos6.setEnabled(false);pos7.setEnabled(false);pos8.setEnabled(false);pos9.setEnabled(false);btnRincomincia.setVisible(true);}
  277.                     if(who==1){win1++;label.setText("Won player 1");}
  278.                     if(who==2){win2++;label.setText("Won player 2");}
  279.                     }
  280.                 }
  281.         });
  282.         pos5.setFont(new Font("Tahoma", Font.PLAIN, 20));
  283.         pos5.setBounds(126, 70, 48, 48);
  284.         contentPane.add(pos5);
  285.        
  286.         pos6.addMouseListener(new MouseAdapter() {
  287.             @Override
  288.             public void mouseClicked(MouseEvent arg0) {
  289.                 if(pos6.isEnabled()){
  290.                     if (list.size() != 9) {
  291.                         for (int a = 0; a < 10; a++) {
  292.                             list.add(" ");
  293.                         }
  294.                     }
  295.                     turn++;
  296.                    
  297.                     if(turn%2==1){label_1.setText("Turn: Player 2");pos6.setText("X");list.set(5, "X");}
  298.                     if(turn%2==0){label_1.setText("Turn: Player 1");pos6.setText("O");list.set(5, "O");}
  299.                     who=whoWin(list);
  300.                     if(who!=0){pos6.setEnabled(false);pos2.setEnabled(false);pos3.setEnabled(false);pos4.setEnabled(false);pos5.setEnabled(false);pos6.setEnabled(false);pos7.setEnabled(false);pos8.setEnabled(false);pos9.setEnabled(false);btnRincomincia.setVisible(true);}
  301.                     if(who==1){win1++;label.setText("Won player 1");}
  302.                     if(who==2){win2++;label.setText("Won player 2");}
  303.                     }
  304.                 }
  305.            
  306.         });
  307.         pos6.setFont(new Font("Tahoma", Font.PLAIN, 20));
  308.         pos6.setBounds(126, 70, 48, 48);
  309.         contentPane.add(pos6);
  310.        
  311.        
  312.         pos7.addMouseListener(new MouseAdapter() {
  313.             @Override
  314.             public void mouseClicked(MouseEvent e) {
  315.                 if(pos7.isEnabled()){
  316.                     if (list.size() != 9) {
  317.                         for (int a = 0; a < 10; a++) {
  318.                             list.add(" ");
  319.                         }
  320.                     }
  321.                     turn++;
  322.                    
  323.                     if(turn%2==1){label_1.setText("Turn: Player 2");pos7.setText("X");list.set(6, "X");}
  324.                     if(turn%2==0){label_1.setText("Turn: Player 1");pos7.setText("O");list.set(6, "O");}
  325.                     who=whoWin(list);
  326.                     if(who!=0){pos7.setEnabled(false);pos2.setEnabled(false);pos3.setEnabled(false);pos4.setEnabled(false);pos5.setEnabled(false);pos6.setEnabled(false);pos7.setEnabled(false);pos8.setEnabled(false);pos9.setEnabled(false);btnRincomincia.setVisible(true);}
  327.                     if(who==1){win1++;label.setText("Won player 1");}
  328.                     if(who==2){win2++;label.setText("Won player 2");}
  329.                     }
  330.                 }
  331.         });
  332.         pos7.setFont(new Font("Tahoma", Font.PLAIN, 20));
  333.         pos7.setBounds(10, 129, 48, 48);
  334.         contentPane.add(pos7);
  335.  
  336.         pos8.addMouseListener(new MouseAdapter() {
  337.             @Override
  338.             public void mouseClicked(MouseEvent e) {
  339.                 if(pos8.isEnabled()){
  340.                     if (list.size() != 9) {
  341.                         for (int a = 0; a < 10; a++) {
  342.                             list.add(" ");
  343.                         }
  344.                     }
  345.                     turn++;
  346.                    
  347.                     if(turn%2==1){label_1.setText("Turn: Player 2");pos8.setText("X");list.set(7, "X");}
  348.                     if(turn%2==0){label_1.setText("Turn: Player 1");pos8.setText("O");list.set(7, "O");}
  349.                     who=whoWin(list);
  350.                     if(who!=0){pos8.setEnabled(false);pos2.setEnabled(false);pos3.setEnabled(false);pos4.setEnabled(false);pos5.setEnabled(false);pos6.setEnabled(false);pos7.setEnabled(false);pos8.setEnabled(false);pos9.setEnabled(false);btnRincomincia.setVisible(true);}
  351.                     if(who==1){win1++;label.setText("Won player 1");}
  352.                     if(who==2){win2++;label.setText("Won player 2");}
  353.                     }
  354.                 }
  355.         });
  356.         pos8.setFont(new Font("Tahoma", Font.PLAIN, 20));
  357.         pos8.setBounds(68, 129, 48, 48);
  358.         contentPane.add(pos8);
  359.  
  360.         pos9.addMouseListener(new MouseAdapter() {
  361.             @Override
  362.             public void mouseClicked(MouseEvent e) {
  363.                 if(pos9.isEnabled()){
  364.                     if (list.size() != 9) {
  365.                         for (int a = 0; a < 10; a++) {
  366.                             list.add(" ");
  367.                         }
  368.                     }
  369.                     turn++;
  370.                    
  371.                     if(turn%2==1){label_1.setText("Turn: Player 2");pos9.setText("X");list.set(8, "X");}
  372.                     if(turn%2==0){label_1.setText("Turn: Player 1");pos9.setText("O");list.set(8, "O");}
  373.                     who=whoWin(list);
  374.                     if(who!=0){pos9.setEnabled(false);pos2.setEnabled(false);pos3.setEnabled(false);pos4.setEnabled(false);pos5.setEnabled(false);pos6.setEnabled(false);pos7.setEnabled(false);pos8.setEnabled(false);pos9.setEnabled(false);btnRincomincia.setVisible(true);}
  375.                     if(who==1){win1++;label.setText("Won player 1");}
  376.                     if(who==2){win2++;label.setText("Won player 2");}
  377.                     }
  378.                 }
  379.         });
  380.         pos9.setFont(new Font("Tahoma", Font.PLAIN, 20));
  381.         pos9.setBounds(126, 129, 48, 48);
  382.         contentPane.add(pos9);
  383.  
  384.         label.setBounds(10, 237, 164, 14);
  385.         contentPane.add(label);
  386.         JLabel lblComputer = new JLabel("Player 2 = 0");
  387.         lblComputer.setForeground(Color.BLUE);
  388.         lblComputer.setBackground(Color.BLACK);
  389.         lblComputer.setBounds(215, 89, 133, 14);
  390.         contentPane.add(lblComputer);
  391.        
  392.         JLabel lblGiocatore = new JLabel("Player1 = 0");
  393.         lblGiocatore.setForeground(Color.BLUE);
  394.         lblGiocatore.setBackground(Color.BLACK);
  395.         lblGiocatore.setBounds(215, 28, 133, 14);
  396.         contentPane.add(lblGiocatore);
  397.        
  398.        
  399.        
  400.         btnRincomincia.setVisible(false);
  401.         btnRincomincia.addMouseListener(new MouseAdapter() {
  402.             @Override
  403.             public void mouseClicked(MouseEvent arg0) {
  404.                 btnRincomincia.setVisible(false);
  405.                 list.set(0, " ");
  406.                 list.set(1, " ");
  407.                 list.set(2, " ");
  408.                 list.set(3, " ");
  409.                 list.set(4, " ");
  410.                 list.set(5, " ");
  411.                 list.set(6, " ");
  412.                 list.set(7, " ");
  413.                 list.set(8, " ");
  414.                 list.set(9, " ");
  415.                 pos1.setText("");
  416.                 pos2.setText("");
  417.                 pos3.setText("");
  418.                 pos4.setText("");
  419.                 pos5.setText("");
  420.                 pos6.setText("");
  421.                 pos7.setText("");
  422.                 pos8.setText("");
  423.                 pos9.setText("");
  424.                 pos1.setEnabled(true);
  425.                 pos2.setEnabled(true);
  426.                 pos3.setEnabled(true);
  427.                 pos4.setEnabled(true);
  428.                 pos5.setEnabled(true);
  429.                 pos6.setEnabled(true);
  430.                 pos7.setEnabled(true);
  431.                 pos8.setEnabled(true);
  432.                 pos9.setEnabled(true);
  433.                 label.setText("");
  434.                 lblGiocatore.setText("Player 1 = "+Integer.toString(win1));
  435.                 lblComputer.setText("Player 2 = "+Integer.toString(win2));
  436.                 turn=0;
  437.                
  438.                
  439.             }
  440.         });
  441.         btnRincomincia.setBounds(20, 188, 140, 23);
  442.         contentPane.add(btnRincomincia);
  443.        
  444.         pos5.setForeground(Color.BLUE);
  445.         pos5.setFont(new Font("Tahoma", Font.PLAIN, 20));
  446.         pos5.setBackground(Color.BLACK);
  447.         pos5.setBounds(68, 70, 48, 48);
  448.         contentPane.add(pos5);
  449.        
  450.        
  451.         label_1.setForeground(Color.BLUE);
  452.         label_1.setBackground(Color.BLACK);
  453.         label_1.setBounds(184, 147, 164, 14);
  454.         contentPane.add(label_1);
  455.        
  456.        
  457.     }
  458. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement