Advertisement
staxx6

Untitled

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