Advertisement
staxx6

tictactoe 1.2

Oct 10th, 2011
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.89 KB | None | 0 0
  1. /*
  2.  *
  3.  * Author: staxx6
  4.  * V 1.2
  5.  * Created: 06.10.2011
  6.  *
  7.  */
  8.  
  9.  
  10. package tictactoe;
  11.  
  12. import java.awt.*;
  13. import java.awt.event.*;
  14. import javax.swing.*;
  15.  
  16. @SuppressWarnings("serial")
  17. public class Feld extends JFrame implements ActionListener {
  18.  
  19.     public static String spieler = "X";
  20.     public static int runde = 0;
  21.     public static boolean win = false;
  22.    
  23.     JLabel label = new JLabel();
  24.  
  25.     JButton button1 = new JButton(" ");
  26.     JButton button2 = new JButton(" ");
  27.     JButton button3 = new JButton(" ");
  28.     JButton button4 = new JButton(" ");
  29.     JButton button5 = new JButton(" ");
  30.     JButton button6 = new JButton(" ");
  31.     JButton button7 = new JButton(" ");
  32.     JButton button8 = new JButton(" ");
  33.     JButton button9 = new JButton(" ");
  34.  
  35.     JButton restart = new JButton("Spiel neu starten");
  36.            
  37.     public static void main(String[] args)
  38.     {
  39.         // Look and Feel
  40.          try {
  41.             UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );
  42.             } catch (Exception b) {
  43.               b.printStackTrace();
  44.             }
  45.        
  46.         Feld feld = new Feld();
  47.         feld.start();
  48.     }
  49.    
  50.     void start()
  51.     {  
  52.         // Frame
  53.         JFrame frame = new JFrame("Tic Tac Toe");
  54.         frame.setSize(350, 420);
  55.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  56.         frame.setVisible(true);
  57.         frame.setLocationRelativeTo(null);
  58.         frame.setResizable(false);
  59.        
  60.         // Panels
  61.         JPanel panelbut = new JPanel();
  62.         panelbut.setBackground(Color.black);
  63.         frame.add(BorderLayout.NORTH, panelbut);
  64.         panelbut.setLayout(new GridLayout(0, 3));
  65.        
  66.        
  67.         // Buttons
  68.         button1.setPreferredSize(new Dimension(100, 100));
  69.        
  70.         panelbut.add(button1);
  71.         panelbut.add(button2);
  72.         panelbut.add(button3);
  73.         panelbut.add(button4);
  74.         panelbut.add(button5);
  75.         panelbut.add(button6);
  76.         panelbut.add(button7);
  77.         panelbut.add(button8);
  78.         panelbut.add(button9);
  79.        
  80.         // SOUTH Listener
  81.         frame.add(BorderLayout.SOUTH, restart);
  82.        
  83.         restart.addActionListener(this);
  84.         restart.setActionCommand("restart");
  85.        
  86.  
  87.        
  88.         // Lable
  89.         label.setText("Spieler " + spieler +" ist dran!");
  90.         Font bigFont = new Font("sansserif", Font.PLAIN, 20);      
  91.         label.setFont(bigFont);
  92.         label.setHorizontalAlignment(SwingConstants.CENTER);
  93.         label.setVerticalAlignment(SwingConstants.CENTER);
  94.         frame.add(BorderLayout.CENTER, label);
  95.        
  96.         // CENTER Listener
  97.         button1.addActionListener(this);
  98.         button1.setActionCommand("b1");
  99.        
  100.         button2.addActionListener(this);
  101.         button2.setActionCommand("b2");
  102.  
  103.         button3.addActionListener(this);
  104.         button3.setActionCommand("b3");
  105.        
  106.         button4.addActionListener(this);
  107.         button4.setActionCommand("b4");
  108.        
  109.         button5.addActionListener(this);
  110.         button5.setActionCommand("b5");
  111.        
  112.         button6.addActionListener(this);
  113.         button6.setActionCommand("b6");
  114.        
  115.         button7.addActionListener(this);
  116.         button7.setActionCommand("b7");
  117.        
  118.         button8.addActionListener(this);
  119.         button8.setActionCommand("b8");
  120.        
  121.         button9.addActionListener(this);
  122.         button9.setActionCommand("b9");
  123.        
  124.     } // start() ENDE
  125.    
  126.     public void actionPerformed(ActionEvent e)
  127.     {
  128.        
  129.         ++runde;
  130.        
  131.         /* DEBUG
  132.         System.out.println(runde);
  133.         System.out.println(win);
  134.         */
  135.        
  136.         if (e.getActionCommand().equals("b1"))
  137.             {
  138.                 if (button1.getText().equals(" "))
  139.                 {
  140.                     if (win == false) {
  141.                         button1.setText(spieler);
  142.                         cheking(spieler);
  143.                     }
  144.                 }
  145.             }
  146.                
  147.         else if (e.getActionCommand().equals("b2"))
  148.             {
  149.                 if (button2.getText().equals(" "))
  150.                 {
  151.                     if (win == false) {
  152.                         button2.setText(spieler);
  153.                         cheking(spieler);
  154.                     }
  155.                 }
  156.             }
  157.        
  158.         else if (e.getActionCommand().equals("b3"))
  159.             {
  160.                 if (button3.getText().equals(" "))
  161.                 {
  162.                     if (win == false) {
  163.                         button3.setText(spieler);
  164.                         cheking(spieler);
  165.                     }
  166.                 }
  167.             }
  168.        
  169.         else if (e.getActionCommand().equals("b4"))
  170.             {
  171.                 if (button4.getText().equals(" "))
  172.                 {
  173.                     if (win == false) {
  174.                         button4.setText(spieler);
  175.                         cheking(spieler);
  176.                     }
  177.                 }
  178.             }
  179.        
  180.         else if (e.getActionCommand().equals("b5"))
  181.             {
  182.                 if (button5.getText().equals(" "))
  183.                 {
  184.                     if (win == false) {
  185.                         button5.setText(spieler);
  186.                         cheking(spieler);
  187.                     }
  188.                 }
  189.             }
  190.        
  191.         else if (e.getActionCommand().equals("b6"))
  192.             {
  193.                 if (button6.getText().equals(" "))
  194.                 {
  195.                     if (win == false) {
  196.                         button6.setText(spieler);
  197.                         cheking(spieler);
  198.                     }
  199.                 }
  200.             }
  201.        
  202.         else if (e.getActionCommand().equals("b7"))
  203.             {
  204.                 if (button7.getText().equals(" "))
  205.                 {
  206.                     if (win == false) {
  207.                         button7.setText(spieler);
  208.                         cheking(spieler);
  209.                     }
  210.                 }
  211.                
  212.             }
  213.         else if (e.getActionCommand().equals("b8"))
  214.         {
  215.             if (button8.getText().equals(" "))
  216.             {
  217.                 if (win == false) {
  218.                     button8.setText(spieler);
  219.                     cheking(spieler);
  220.                 }
  221.             }
  222.         }
  223.        
  224.         else if (e.getActionCommand().equals("b9"))
  225.             {
  226.                 if (button9.getText().equals(" "))
  227.                 {
  228.                     if (win == false) {
  229.                         button9.setText(spieler);
  230.                         cheking(spieler);
  231.                     }
  232.                 }
  233.             }
  234.        
  235.         else if(restart.getActionCommand().equals("restart"))
  236.         {
  237.             button1.setText(" ");
  238.             button2.setText(" ");
  239.             button3.setText(" ");
  240.             button4.setText(" ");
  241.             button5.setText(" ");
  242.             button6.setText(" ");
  243.             button7.setText(" ");
  244.             button8.setText(" ");
  245.             button9.setText(" ");
  246.            
  247.             spieler = "X";
  248.             label.setText("Spieler " + spieler +" ist dran!");
  249.             runde = 0;
  250.             win = false;
  251.         }
  252.             else {
  253.                 System.out.println("FEHLER: Unbekannt!");
  254.                
  255.             }
  256.                    
  257.     } // actionPerformed ENDE
  258.    
  259.     public void zelle() // Eigentlich Spieler wechsel
  260.         {
  261.             if (spieler.equals("X"))
  262.                 {
  263.                     spieler = "O";
  264.                 } else {
  265.                     spieler = "X";
  266.                 }
  267.             label.setText("Spieler " + spieler +" ist dran!");
  268.         }
  269.    
  270.     private void cheking(String spieler) {
  271.         if ((button1.getText().equals(spieler) && button2.getText().equals(spieler) && button3.getText().equals(spieler))
  272.                 || (button4.getText().equals(spieler) && button5.getText().equals(spieler) && button6.getText().equals(spieler))
  273.                     || (button7.getText().equals(spieler) && button8.getText().equals(spieler) && button9.getText().equals(spieler))
  274.                    
  275.                         || (button1.getText().equals(spieler) && button4.getText().equals(spieler) && button7.getText().equals(spieler))
  276.                             || (button2.getText().equals(spieler) && button5.getText().equals(spieler) && button8.getText().equals(spieler))
  277.                                 || (button3.getText().equals(spieler) && button6.getText().equals(spieler) && button9.getText().equals(spieler))
  278.                                
  279.                                     || (button1.getText().equals(spieler) && button5.getText().equals(spieler) && button9.getText().equals(spieler))
  280.                                         || (button3.getText().equals(spieler) && button5.getText().equals(spieler) && button7.getText().equals(spieler)))
  281.         {
  282.             label.setText("Spieler " + spieler +" hat gewonnen!");
  283.             win = true;
  284.     } else {
  285.         zelle();
  286.             if(runde == 9 && win == false)
  287.             {
  288.                 label.setText("-Unentschieden-");
  289.                 runde = 0;
  290.             }
  291.     }
  292.     }
  293. } // class ENDE
  294.  
  295.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement