TicTacToe Spiel vs Computer. (Probleme)

Jxhnny.lpz

Mitglied
Ich bin dabei ein TicTacToe Spiel zu programmieren.

Mei Problem ist das ich kein richtigen Ansatz habe, wie ich denn Gegner (denn Computer) programmieren soll das er anständig funktioniert.

Ich habe ein Test Ansatz ausprobiert (der Auskommentiert ist), der sein Zug immer auf ein Random ausgelostetes Feld setzt, auch wenn das Feld schon belegt ist.

Die Folgenden Programme sind 2 Klassen die miteinander verknüpft sind.

----------------------------------------------------------------------

Tut mir Leid wenn man mein Programm oder die Art und weiße wie ich das Problem beschrieben habe nicht direkt oder auch gar nicht versteht.

Ich freu mich auf jede Art von Vorschlägen.

----------------------------------------------------------------------

Code:
import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JComponent;
import javax.swing.JFrame;


class MyCanvas extends JComponent {

    public void paint(Graphics g) {
        g.setColor(Color.DARK_GRAY);
        g.fill3DRect(40, 40, 200, 200, true);
    }
}

public class TicTacToe {

    public static void main(String[] args) {

        Interface();

        Buttons internetObjekt = new Buttons();
        internetObjekt.verbinden();


    }


    public static void Interface() {
        JFrame frame = new JFrame("TicTacToe");

        //Frame Interface

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setBounds(30, 30, 300, 350);

//        frame.setLayout(null);
//        frame.setDefaultLookAndFeelDecorated(true);

        //Visibility
        frame.setVisible(true);

        frame.add(Buttons.F1);
        frame.add(Buttons.F2);


        frame.add(Buttons.button1);
        frame.add(Buttons.button2);
        frame.add(Buttons.button3);
//
        frame.add(Buttons.button4);
        frame.add(Buttons.button5);
        frame.add(Buttons.button6);
//
        frame.add(Buttons.button7);
        frame.add(Buttons.button8);
        frame.add(Buttons.button9);

        frame.add(Buttons.buttonNeu);



        frame.getContentPane().add(new MyCanvas());


    }


}

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Java:
import jdk.jfr.Enabled;

import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

import static java.awt.Color.BLACK;

public class Buttons {

    static JButton button1 = new JButton("");
    static JButton button2 = new JButton("");
    static JButton button3 = new JButton("");
    //
    static JButton button4 = new JButton("");
    static JButton button5 = new JButton("");
    static JButton button6 = new JButton("");
    //
    static JButton button7 = new JButton("");
    static JButton button8 = new JButton("");
    static JButton button9 = new JButton("");

    static JButton buttonNeu = new JButton("Neustart");

    static JLabel F1 = new JLabel("");
    static JLabel F2 = new JLabel("");

    static boolean status = false;


    public void verbinden() {
        System.out.println("willkommen!!!");
        System.out.println("Status: " + status);

        F1.setBounds(80, 1, 110, 60);
        F1.setVisible(true);
        F1.setText("X ist an der Reihe!!!");


        F2.setBounds(80, 1, 110, 60);
//        F2.setVisible(false);



//Button Größe + Position
        button1.setBounds(40, 40, 60, 60);
        button2.setBounds(110, 40, 60, 60);
        button3.setBounds(180, 40, 60, 60);
        //
        button4.setBounds(40, 110, 60, 60);
        button5.setBounds(110, 110, 60, 60);
        button6.setBounds(180, 110, 60, 60);
        //
        button7.setBounds(40, 180, 60, 60);
        button8.setBounds(110, 180, 60, 60);
        button9.setBounds(180, 180, 60, 60);

        buttonNeu.setBounds(40, 260, 200, 30);



        //Fokus deaktiviert
        button1.setFocusPainted(false);
        button2.setFocusPainted(false);
        button3.setFocusPainted(false);
        button4.setFocusPainted(false);
        button5.setFocusPainted(false);
        button6.setFocusPainted(false);
        button7.setFocusPainted(false);
        button8.setFocusPainted(false);
        button9.setFocusPainted(false);

        buttonNeu.setFocusPainted(false);

        button1.setBackground(Color.lightGray);
        button2.setBackground(Color.lightGray);
        button3.setBackground(Color.lightGray);
        //
        button4.setBackground(Color.lightGray);
        button5.setBackground(Color.lightGray);
        button6.setBackground(Color.lightGray);
        //
        button7.setBackground(Color.lightGray);
        button8.setBackground(Color.lightGray);
        button9.setBackground(Color.lightGray);

        buttonNeu.setBackground(Color.lightGray);
//
        //
        button1.setBorder(new LineBorder(BLACK));
        button2.setBorder(new LineBorder(BLACK));
        button3.setBorder(new LineBorder(BLACK));
        //
        button4.setBorder(new LineBorder(BLACK));
        button5.setBorder(new LineBorder(BLACK));
        button6.setBorder(new LineBorder(BLACK));
        //
        button7.setBorder(new LineBorder(BLACK));
        button8.setBorder(new LineBorder(BLACK));
        button9.setBorder(new LineBorder(BLACK));

        buttonNeu.setBorder(new LineBorder(BLACK));

        ActionListener actionListener = new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {

                button1.setFont(button1.getFont().deriveFont((float) 32));
                button2.setFont(button2.getFont().deriveFont((float) 32));
                button3.setFont(button3.getFont().deriveFont((float) 32));
                //
                button4.setFont(button4.getFont().deriveFont((float) 32));
                button5.setFont(button5.getFont().deriveFont((float) 32));
                button6.setFont(button6.getFont().deriveFont((float) 32));
                //
                button7.setFont(button7.getFont().deriveFont((float) 32));
                button8.setFont(button8.getFont().deriveFont((float) 32));
                button9.setFont(button9.getFont().deriveFont((float) 32));

//                buttonNeu.setFont(button9.getFont().deriveFont((float) 22));


                Object clicked = e.getSource();

//           

                if (buttonNeu == clicked){

                    status = false;
                    F1.setText("X ist an der Reihe!!!");
                    F2.setText("");
                    F1.setVisible(true);
                    F2.setVisible(false);

                    button1.setText("");
                    button2.setText("");
                    button3.setText("");
                    //
                    button4.setText("");
                    button5.setText("");
                    button6.setText("");
                    //
                    button7.setText("");
                    button8.setText("");
                    button9.setText("");

                    button1.setEnabled(true);
                    button2.setEnabled(true);
                    button3.setEnabled(true);
                    //
                    button4.setEnabled(true);
                    button5.setEnabled(true);
                    button6.setEnabled(true);
                    //
                    button7.setEnabled(true);
                    button8.setEnabled(true);
                    button9.setEnabled(true);

                    button1.setBackground(Color.lightGray);
                    button2.setBackground(Color.lightGray);
                    button3.setBackground(Color.lightGray);
                    //
                    button4.setBackground(Color.lightGray);
                    button5.setBackground(Color.lightGray);
                    button6.setBackground(Color.lightGray);
                    //
                    button7.setBackground(Color.lightGray);
                    button8.setBackground(Color.lightGray);
                    button9.setBackground(Color.lightGray);

                }


//X
                if (status == false) {

//                    Random buttons = new Random();
//                    int a;
//
//                    for (int i=0; i<1; i++) {
//
//                            a = 1 + buttons.nextInt(9);
//
//                        System.out.println("Random: " + a);


                        if (button1 == clicked) {



                            button1.setText("X");
                            button1.setEnabled(false);

                            status = true;
                            F1.setText("O is an der Reihe!!!");

//                            if (a == 1 && (button1.getText().endsWith("X")||button1.getText().endsWith("O"))) {
//                                a = 1 + buttons.nextInt(9);
//                                System.out.println("Random2: " + a);
//                            }
//                           if (a == 2 && button2.getText().endsWith("")) {
//                                button2.doClick();
//                            }else if (a == 3 && button3.getText().endsWith("")) {
//                                button3.doClick();
//                            } else if (a == 4 && button4.getText().endsWith("")) {
//                                button4.doClick();
//                            } else if (a == 5 && button5.getText().endsWith("")) {
//                                button5.doClick();
//                            } else if (a == 6 && button6.getText().endsWith("")) {
//                                button6.doClick();
//                            } else if (a == 7 && button7.getText().endsWith("")) {
//                                button7.doClick();
//                            } else if (a == 8 && button8.getText().endsWith("")) {
//                                button8.doClick();
//                            } else if (a == 9 && button9.getText().endsWith("")) {
//                                button9.doClick();
//                            }

                        } else if (button2 == clicked) {

                            button2.setText("X");
                            button2.setEnabled(false);

                            status = true;
                            F1.setText("O is an der Reihe!!!");

//                            if (a == 2 && (button2.getText().endsWith("X")||button2.getText().endsWith("O"))) {
//                                a = 1 + buttons.nextInt(9);
//                                System.out.println("Random2: " + a);
//                            }
//
//                            if (a == 1 && button1.getText().endsWith("")) {
//                                button1.doClick();
//                            } else if (a == 3 && button3.getText().endsWith("")) {
//                                button3.doClick();
//                            } else if (a == 4 && button4.getText().endsWith("")) {
//                                button4.doClick();
//                            } else if (a == 5  && button5.getText().endsWith("")) {
//                                button5.doClick();
//                            } else if (a == 6 && button6.getText().endsWith("")) {
//                                button6.doClick();
//                            } else if (a == 7 && button7.getText().endsWith("")) {
//                                button7.doClick();
//                            } else if (a == 8 && button8.getText().endsWith("")) {
//                                button8.doClick();
//                            } else if (a == 9 && button9.getText().endsWith("")) {
//                                button9.doClick();
//                            }

                        } else if (button3 == clicked) {

                            button3.setText("X");
                            button3.setEnabled(false);

                            status = true;
                            F1.setText("O is an der Reihe!!!");

//                            if (a == 3 && (button3.getText().endsWith("X")||button3.getText().endsWith("O"))) {
//                                a = 1 + buttons.nextInt(9);
//                                System.out.println("Random2: " + a);
//                            }
//
//                            if (a == 1 && button1.getText().endsWith("")) {
//                                button1.doClick();
//                            } else if (a == 2 && button2.getText().endsWith("")) {
//                                button2.doClick();
//                            } else if (a == 4 && button4.getText().endsWith("")) {
//                                button4.doClick();
//                            } else if (a == 5 && button5.getText().endsWith("")) {
//                                button5.doClick();
//                            } else if (a == 6 && button6.getText().endsWith("")) {
//                                button6.doClick();
//                            } else if (a == 7 && button7.getText().endsWith("")) {
//                                button7.doClick();
//                            } else if (a == 8 && button8.getText().endsWith("")) {
//                                button8.doClick();
//                            } else if (a == 9 && button9.getText().endsWith("")) {
//                                button9.doClick();
//                            }

                        } else if (button4 == clicked) {

                            button4.setText("X");
                            button4.setEnabled(false);

                            status = true;
                            F1.setText("O is an der Reihe!!!");

//                            if (a == 4 && (button4.getText().endsWith("X")||button4.getText().endsWith("O"))) {
//                                a = 1 + buttons.nextInt(9);
//                                System.out.println("Random2: " + a);
//                            }
//
//                            if (a == 1 && button1.getText().endsWith("")) {
//                                button1.doClick();
//                            } else if (a == 2 && button2.getText().endsWith("")) {
//                                button2.doClick();
//                            }else if (a == 3 && button3.getText().endsWith("")) {
//                                button3.doClick();
//                            } else  if (a == 5 && button5.getText().endsWith("")) {
//                                button5.doClick();
//                            } else if (a == 6 && button6.getText().endsWith("")) {
//                                button6.doClick();
//                            } else if (a == 7 && button7.getText().endsWith("")) {
//                                button7.doClick();
//                            } else if (a == 8 && button8.getText().endsWith("")) {
//                                button8.doClick();
//                            } else if (a == 9 && button9.getText().endsWith("")) {
//                                button9.doClick();
//                            }


                        } else if (button5 == clicked) {

                            button5.setText("X");
                            button5.setEnabled(false);

                            status = true;
                            F1.setText("O is an der Reihe!!!");
//
//                            if (a == 5 && (button5.getText().endsWith("X")||button5.getText().endsWith("O"))) {
//                                a = 1 + buttons.nextInt(9);
//                                System.out.println("Random2: " + a);
//                            }
//
//                            if (a == 1 && button1.getText().endsWith("")) {
//                                button1.doClick();
//                            } else if (a == 2 && button2.getText().endsWith("")) {
//                                button2.doClick();
//                            }else if (a == 3 && button3.getText().endsWith("")) {
//                                button3.doClick();
//                            } else if (a == 4 && button4.getText().endsWith("")) {
//                                button4.doClick();
//                            } else if (a == 6 && button.getText().endsWith("")) {
//                                button6.doClick();
//                            } else if (a == 7 && button2.getText().endsWith("")) {
//                                button7.doClick();
//                            } else if (a == 8 && button2.getText().endsWith("")) {
//                                button8.doClick();
//                            } else if (a == 9 && button2.getText().endsWith("")) {
//                                button9.doClick();
//                            }

                        } else if (button6 == clicked) {

                            button6.setText("X");
                            button6.setEnabled(false);

                            status = true;
                            F1.setText("O is an der Reihe!!!");

//                            if (a == 6 && (button6.getText().endsWith("X")||button6.getText().endsWith("O"))) {
//                                a = 1 + buttons.nextInt(9);
//                                System.out.println("Random2: " + a);
//                            }
//
//                            if (a == 1 && button1.getText().endsWith("")) {
//                                button1.doClick();
//                            } else if (a == 2 && button2.getText().endsWith("")) {
//                                button2.doClick();
//                            }else if (a == 3 && button3.getText().endsWith("")) {
//                                button3.doClick();
//                            } else if (a == 4 && button4.getText().endsWith("")) {
//                                button4.doClick();
//                            } else if (a == 5 && button5.getText().endsWith("")) {
//                                button5.doClick();
//                            } else if (a == 7 && button7.getText().endsWith("")) {
//                                button7.doClick();
//                            } else if (a == 8 && button8.getText().endsWith("")) {
//                                button8.doClick();
//                            } else if (a == 9 && button9.getText().endsWith("")) {
//                                button9.doClick();
//                            }

                        } else if (button7 == clicked) {

                            button7.setText("X");
                            button7.setEnabled(false);

                            status = true;
                            F1.setText("O is an der Reihe!!!");

//                            if (a == 7 && (button7.getText().endsWith("X")||button7.getText().endsWith("O"))) {
//                                a = 1 + buttons.nextInt(9);
//                                System.out.println("Random2: " + a);
//                            }
//
//                            if (a == 1 && button1.getText().endsWith("")) {
//                                button1.doClick();
//                            } else if (a == 2 && button2.getText().endsWith("")) {
//                                button2.doClick();
//                            }else if (a == 3 && button3.getText().endsWith("")) {
//                                button3.doClick();
//                            } else if (a == 4 && button4.getText().endsWith("")) {
//                                button4.doClick();
//                            } else if (a == 5 && button5.getText().endsWith("")) {
//                                button5.doClick();
//                            } else if (a == 6 && button6.getText().endsWith("")) {
//                                button6.doClick();
//                            } else if (a == 8 && button8.getText().endsWith("")) {
//                                button8.doClick();
//                            } else if (a == 9 && button9.getText().endsWith("")) {
//                                button9.doClick();
//                            }

                        } else if (button8 == clicked) {

                            button8.setText("X");
                            button8.setEnabled(false);

                            status = true;
                            F1.setText("O is an der Reihe!!!");

//                            if (a == 8 && (button8.getText().endsWith("X")||button8.getText().endsWith("O"))) {
//                                a = 1 + buttons.nextInt(9);
//                                System.out.println("Random2: " + a);
//                            }
//
//                            if (a == 1 && button1.getText().endsWith("")) {
//                                button1.doClick();
//                            } else if (a == 2 && button2.getText().endsWith("")) {
//                                button2.doClick();
//                            }else if (a == 3 && button3.getText().endsWith("")) {
//                                button3.doClick();
//                            } else if (a == 4 && button4.getText().endsWith("")) {
//                                button4.doClick();
//                            } else if (a == 5 && button5.getText().endsWith("")) {
//                                button5.doClick();
//                            } else if (a == 6 && button6.getText().endsWith("")) {
//                                button6.doClick();
//                            } else if (a == 7 && button7.getText().endsWith("")) {
//                                button7.doClick();
//                            } else if (a == 9 && button9.getText().endsWith("") ) {
//                                button9.doClick();
//                            }

                        } else if (button9 == clicked) {

                            button9.setText("X");
                            button9.setEnabled(false);

                            status = true;
                            F1.setText("O is an der Reihe!!!");

//                            if (a == 9 && (button9.getText().endsWith("X")||button9.getText().endsWith("O"))) {
//                                a = 1 + buttons.nextInt(9);
//                                System.out.println("Random2: " + a);
//                            }
//
//                            if (a == 1 && button1.getText().endsWith("")) {
//                                button1.doClick();
//                            } else if (a == 2 && button2.getText().endsWith("")) {
//                                button2.doClick();
//                            }else if (a == 3 && button3.getText().endsWith("")) {
//                                button3.doClick();
//                            } else if (a == 4 && button4.getText().endsWith("")) {
//                                button4.doClick();
//                            } else if (a == 5 && button5.getText().endsWith("")) {
//                                button5.doClick();
//                            } else if (a == 6 && button6.getText().endsWith("")) {
//                                button6.doClick();
//                            } else if (a == 7 && button7.getText().endsWith("")) {
//                                button7.doClick();
//                            } else if (a == 8 && button8.getText().endsWith("")) {
//                                button8.doClick();
//                            }
                        }
                        System.out.println("Status 2: " + status);
//                    }
       //O
                }else if (status == true) {




                    if (button1 == clicked) {

                        button1.setText("O");
                        button1.setEnabled(false);

                        status = false;
                        F1.setText("X ist an der Reihe!!!");

                    } else if (button2 == clicked) {

                        button2.setText("O");
                        button2.setEnabled(false);

                        status = false;
                        F1.setText("X ist an der Reihe!!!");

                    } else if (button3 == clicked) {

                        button3.setText("O");
                        button3.setEnabled(false);

                        status = false;
                        F1.setText("X ist an der Reihe!!!");

                    } else if (button4 == clicked) {

                        button4.setText("O");
                        button4.setEnabled(false);

                        status = false;
                        F1.setText("X ist an der Reihe!!!");

                    } else if (button5 == clicked) {

                        button5.setText("O");
                        button5.setEnabled(false);

                        status = false;
                        F1.setText("X ist an der Reihe!!!");

                    } else if (button6 == clicked) {

                        button6.setText("O");
                        button6.setEnabled(false);

                        status = false;
                        F1.setText("X ist an der Reihe!!!");

                    } else if (button7 == clicked) {

                        button7.setText("O");
                        button7.setEnabled(false);

                        status = false;
                        F1.setText("X ist an der Reihe!!!");

                    } else if (button8 == clicked) {

                        button8.setText("O");
                        button8.setEnabled(false);

                        status = false;
                        F1.setText("X ist an der Reihe!!!");

                    } else if (button9 == clicked) {

                        button9.setText("O");
                        button9.setEnabled(false);

                        status = false;
                        F1.setText("X ist an der Reihe!!!");

                    }
                    System.out.println("Status 3: "+status);
                }
                button1.getText();
                System.out.println("text: "+button1.getText());


                if (button1.getText().endsWith("X") && button2.getText().endsWith("X") && button3.getText().endsWith("X")){

                    F1.setVisible(false);
                    F2.setText("X hat Gewonnen!!!");
                    F2.setVisible(true);

                    button1.setBackground(Color.green);
                    button2.setBackground(Color.green);
                    button3.setBackground(Color.green);

                    button1.setEnabled(false);
                    button2.setEnabled(false);
                    button3.setEnabled(false);
                    //
                    button4.setEnabled(false);
                    button5.setEnabled(false);
                    button6.setEnabled(false);
                    //
                    button7.setEnabled(false);
                    button8.setEnabled(false);
                    button9.setEnabled(false);

                }else if (button4.getText().endsWith("X") && button5.getText().endsWith("X") && button6.getText().endsWith("X")){

                    F1.setVisible(false);
                    F2.setText("X hat Gewonnen!!!");
                    F2.setVisible(true);

                    button4.setBackground(Color.green);
                    button5.setBackground(Color.green);
                    button6.setBackground(Color.green);

                    button1.setEnabled(false);
                    button2.setEnabled(false);
                    button3.setEnabled(false);
                    //
                    button4.setEnabled(false);
                    button5.setEnabled(false);
                    button6.setEnabled(false);
                    //
                    button7.setEnabled(false);
                    button8.setEnabled(false);
                    button9.setEnabled(false);

                }else if (button7.getText().endsWith("X") && button8.getText().endsWith("X") && button9.getText().endsWith("X")){

                    F1.setVisible(false);
                    F2.setText("X hat Gewonnen!!!");
                    F2.setVisible(true);

                    button7.setBackground(Color.green);
                    button8.setBackground(Color.green);
                    button9.setBackground(Color.green);

                    button1.setEnabled(false);
                    button2.setEnabled(false);
                    button3.setEnabled(false);
                    //
                    button4.setEnabled(false);
                    button5.setEnabled(false);
                    button6.setEnabled(false);
                    //
                    button7.setEnabled(false);
                    button8.setEnabled(false);
                    button9.setEnabled(false);

                }else if (button1.getText().endsWith("X") && button4.getText().endsWith("X") && button7.getText().endsWith("X")) {

                    F1.setVisible(false);
                    F2.setText("X hat Gewonnen!!!");
                    F2.setVisible(true);

                    button1.setBackground(Color.green);
                    button4.setBackground(Color.green);
                    button7.setBackground(Color.green);

                    button1.setEnabled(false);
                    button2.setEnabled(false);
                    button3.setEnabled(false);
                    //
                    button4.setEnabled(false);
                    button5.setEnabled(false);
                    button6.setEnabled(false);
                    //
                    button7.setEnabled(false);
                    button8.setEnabled(false);
                    button9.setEnabled(false);

                }else if (button2.getText().endsWith("X") && button5.getText().endsWith("X") && button8.getText().endsWith("X")){

                    F1.setVisible(false);
                    F2.setText("X hat Gewonnen!!!");
                    F2.setVisible(true);

                    button2.setBackground(Color.green);
                    button5.setBackground(Color.green);
                    button8.setBackground(Color.green);

                    button1.setEnabled(false);
                    button2.setEnabled(false);
                    button3.setEnabled(false);
                    //
                    button4.setEnabled(false);
                    button5.setEnabled(false);
                    button6.setEnabled(false);
                    //
                    button7.setEnabled(false);
                    button8.setEnabled(false);
                    button9.setEnabled(false);

                }else if (button3.getText().endsWith("X") && button6.getText().endsWith("X") && button9.getText().endsWith("X")){

                    F1.setVisible(false);
                    F2.setText("X hat Gewonnen!!!");
                    F2.setVisible(true);

                    button3.setBackground(Color.green);
                    button6.setBackground(Color.green);
                    button9.setBackground(Color.green);

                    button1.setEnabled(false);
                    button2.setEnabled(false);
                    button3.setEnabled(false);
                    //
                    button4.setEnabled(false);
                    button5.setEnabled(false);
                    button6.setEnabled(false);
                    //
                    button7.setEnabled(false);
                    button8.setEnabled(false);
                    button9.setEnabled(false);

                }else if (button1.getText().endsWith("X") && button5.getText().endsWith("X") && button9.getText().endsWith("X")){

                    F1.setVisible(false);
                    F2.setText("X hat Gewonnen!!!");
                    F2.setVisible(true);

                    button1.setBackground(Color.green);
                    button5.setBackground(Color.green);
                    button9.setBackground(Color.green);

                    button1.setEnabled(false);
                    button2.setEnabled(false);
                    button3.setEnabled(false);
                    //
                    button4.setEnabled(false);
                    button5.setEnabled(false);
                    button6.setEnabled(false);
                    //
                    button7.setEnabled(false);
                    button8.setEnabled(false);
                    button9.setEnabled(false);

                }else if (button3.getText().endsWith("X") && button5.getText().endsWith("X") && button7.getText().endsWith("X")){

                    F1.setVisible(false);
                    F2.setText("X hat Gewonnen!!!");
                    F2.setVisible(true);

                    button3.setBackground(Color.green);
                    button5.setBackground(Color.green);
                    button7.setBackground(Color.green);

                    button1.setEnabled(false);
                    button2.setEnabled(false);
                    button3.setEnabled(false);
                    //
                    button4.setEnabled(false);
                    button5.setEnabled(false);
                    button6.setEnabled(false);
                    //
                    button7.setEnabled(false);
                    button8.setEnabled(false);
                    button9.setEnabled(false);

                }else if (button1.getText().endsWith("O") && button2.getText().endsWith("O") && button3.getText().endsWith("O")){

                    F1.setVisible(false);
                    F2.setText("O hat Gewonnen!!!");
                    F2.setVisible(true);

                    button1.setBackground(Color.green);
                    button2.setBackground(Color.green);
                    button3.setBackground(Color.green);

                    button1.setEnabled(false);
                    button2.setEnabled(false);
                    button3.setEnabled(false);
                    //
                    button4.setEnabled(false);
                    button5.setEnabled(false);
                    button6.setEnabled(false);
                    //
                    button7.setEnabled(false);
                    button8.setEnabled(false);
                    button9.setEnabled(false);

                }else if (button4.getText().endsWith("O") && button5.getText().endsWith("O") && button6.getText().endsWith("O")){

                    F1.setVisible(false);
                    F2.setText("O hat Gewonnen!!!");
                    F2.setVisible(true);

                    button4.setBackground(Color.green);
                    button5.setBackground(Color.green);
                    button6.setBackground(Color.green);

                    button1.setEnabled(false);
                    button2.setEnabled(false);
                    button3.setEnabled(false);
                    //
                    button4.setEnabled(false);
                    button5.setEnabled(false);
                    button6.setEnabled(false);
                    //
                    button7.setEnabled(false);
                    button8.setEnabled(false);
                    button9.setEnabled(false);

                }else if (button7.getText().endsWith("O") && button8.getText().endsWith("O") && button9.getText().endsWith("O")){

                    F1.setVisible(false);
                    F2.setText("O hat Gewonnen!!!");
                    F2.setVisible(true);

                    button7.setBackground(Color.green);
                    button8.setBackground(Color.green);
                    button9.setBackground(Color.green);

                    button1.setEnabled(false);
                    button2.setEnabled(false);
                    button3.setEnabled(false);
                    //
                    button4.setEnabled(false);
                    button5.setEnabled(false);
                    button6.setEnabled(false);
                    //
                    button7.setEnabled(false);
                    button8.setEnabled(false);
                    button9.setEnabled(false);

                }else if (button1.getText().endsWith("O") && button4.getText().endsWith("O") && button7.getText().endsWith("O")){

                    F1.setVisible(false);
                    F2.setText("O hat Gewonnen!!!");
                    F2.setVisible(true);

                    button1.setBackground(Color.green);
                    button4.setBackground(Color.green);
                    button7.setBackground(Color.green);

                    button1.setEnabled(false);
                    button2.setEnabled(false);
                    button3.setEnabled(false);
                    //
                    button4.setEnabled(false);
                    button5.setEnabled(false);
                    button6.setEnabled(false);
                    //
                    button7.setEnabled(false);
                    button8.setEnabled(false);
                    button9.setEnabled(false);

                }else if (button2.getText().endsWith("O") && button5.getText().endsWith("O") && button8.getText().endsWith("O")){

                    F1.setVisible(false);
                    F2.setText("O hat Gewonnen!!!");
                    F2.setVisible(true);

                    button2.setBackground(Color.green);
                    button5.setBackground(Color.green);
                    button8.setBackground(Color.green);

                    button1.setEnabled(false);
                    button2.setEnabled(false);
                    button3.setEnabled(false);
                    //
                    button4.setEnabled(false);
                    button5.setEnabled(false);
                    button6.setEnabled(false);
                    //
                    button7.setEnabled(false);
                    button8.setEnabled(false);
                    button9.setEnabled(false);

                }else if (button3.getText().endsWith("O") && button6.getText().endsWith("O") && button9.getText().endsWith("O")){

                    F1.setVisible(false);
                    F2.setText("O hat Gewonnen!!!");
                    F2.setVisible(true);

                    button3.setBackground(Color.green);
                    button6.setBackground(Color.green);
                    button9.setBackground(Color.green);

                    button1.setEnabled(false);
                    button2.setEnabled(false);
                    button3.setEnabled(false);
                    //
                    button4.setEnabled(false);
                    button5.setEnabled(false);
                    button6.setEnabled(false);
                    //
                    button7.setEnabled(false);
                    button8.setEnabled(false);
                    button9.setEnabled(false);

                }else if (button1.getText().endsWith("O") && button5.getText().endsWith("O") && button9.getText().endsWith("O")){

                    F1.setVisible(false);
                    F2.setText("O hat Gewonnen!!!");
                    F2.setVisible(true);

                    button1.setBackground(Color.green);
                    button5.setBackground(Color.green);
                    button9.setBackground(Color.green);

                    button1.setEnabled(false);
                    button2.setEnabled(false);
                    button3.setEnabled(false);
                    //
                    button4.setEnabled(false);
                    button5.setEnabled(false);
                    button6.setEnabled(false);
                    //
                    button7.setEnabled(false);
                    button8.setEnabled(false);
                    button9.setEnabled(false);

                }else if (button3.getText().endsWith("O") && button5.getText().endsWith("O") && button7.getText().endsWith("O")) {

                    F1.setVisible(false);
                    F2.setText("O hat Gewonnen!!!");
                    F2.setVisible(true);

                    button3.setBackground(Color.green);
                    button5.setBackground(Color.green);
                    button7.setBackground(Color.green);

                    button1.setEnabled(false);
                    button2.setEnabled(false);
                    button3.setEnabled(false);
                    //
                    button4.setEnabled(false);
                    button5.setEnabled(false);
                    button6.setEnabled(false);
                    //
                    button7.setEnabled(false);
                    button8.setEnabled(false);
                    button9.setEnabled(false);

                }

            }
        };


        //Button Aktion
        button1.addActionListener(actionListener);
        button2.addActionListener(actionListener);
        button3.addActionListener(actionListener);

        button4.addActionListener(actionListener);
        button5.addActionListener(actionListener);
        button6.addActionListener(actionListener);
        //
        button7.addActionListener(actionListener);
        button8.addActionListener(actionListener);
        button9.addActionListener(actionListener);

        buttonNeu.addActionListener(actionListener);


    }
}
 

Neumi5694

Top Contributor
Er muss zuerst nach 2 zusammenhängenden Feldern deiner Farbe suchen und seinen Coin dann entsprechend verwenden.Auch muss er nach Dreiertupeln suchen, wo 1 und 3 bereits die Farbe des Gegners haben und dann seine Markierung in die Mitte des Tupels setzen.
Gibt es so was nicht, sollte er versuchen, die Mitte zu markieren oder - falls die bereits belegt ist - eine Ecke.
Das reicht eigentlich schon, um dich am Gewinnen zu hindern. Sind beide Spieler gleich gut, dann kann es bei Tic Tac Toe keine Gewinner geben (schon mal den Film Wargames gesehen?).

Umsetzung: Da es nur 8 verschiedene Dreiehrreihen geben kann, kannst du einfach alle 8 durchgehen und prüfen, ob eine der Reihen 2 Farben des Gegners (und ein nicht gesetztes Feld) beinhaltet. Falls ja, dann muss seine Markierung zwingend in das noch unbelegte Feld.

In einem zweiten Schritt (falls nichts von dem oben genannten zutrifft) könnte er natürlich versuchen, eigene Reihen zu vervollständigen nach dem gleichen Muster.
 
Zuletzt bearbeitet:

Neumi5694

Top Contributor
Deine Felder brauchen ein Tri-State: Unbelegt, Player1, Player 2.
Wenn du an einem Punkt bis, an dem zu zufällig etwas ausählen kannst, Dann sammle als erstes mal alle Felder mit Unbelegt-Status (und die deinen Kriterien entsprechen, Eckfelder etwa) und wähle aus diesen dann eines zufällig aus.

Weise den Wert nicht direkt in ein Array oder so was zu, sondern baue eine Klasse Feld
Java:
Feld {
    Belegung belegt = Belegung.Frei;
    public Belegung getBelegung() {
        return belegt;
    }
    public Belegung setBelegung(Belegung b) {
        Objects.requireNonNull(b); //oder null durch Frei ersetzten.
        this.belegt = b;
    }
}

Wozu das? Auf diese Weise muss jemand, der darauf zugreift, nicht die Indizes kennen (kannst du natürlich noch hinzufügen, wenn dir das gefällt).
So kannst du eine Referenz auf das Feld weitergeben, ohne dessen Indizes zu kennen. Sinnvoll, wenn du wie oben beschrieben, mögliche Kandidaten zum Belegen finden willst, die dann ja in einer Liste hinterlegt sind.


Deine UI mit Buttons usw. kannst du machen, sobald die Logik funktioniert.
Zum Testen reicht vorläufig hardcodiertes Befüllen durch die Main-Methode.
 
Zuletzt bearbeitet:

Jxhnny.lpz

Mitglied
Deine Felder brauchen ein Tri-State: Unbelegt, Player1, Player 2.
Wenn du an einem Punkt bis, an dem zu zufällig etwas ausählen kannst, Dann sammle als erstes mal alle Felder mit Unbelegt-Status (und die deinen Kriterien entsprechen, Eckfelder etwa) und wähle aus diesen dann eines zufällig aus.

Weise den Wert nicht direkt in ein Array oder so was zu, sondern baue eine Klasse Feld
Java:
Feld {
    Belegung belegt = Belegung.Frei;
    public Belegung getBelegung() {
        return belegt;
    }
    public Belegung setBelegung(Belegung b) {
        Objects.requireNonNull(b); //oder null durch Frei ersetzten.
        this.belegt = b;
    }
}

Wozu das? Auf diese Weise muss jemand, der darauf zugreift, nicht die Indizes kennen (kannst du natürlich noch hinzufügen, wenn dir das gefällt).
So kannst du eine Referenz auf das Feld weitergeben, ohne dessen Indizes zu kennen. Sinnvoll, wenn du wie oben beschrieben, mögliche Kandidaten zum Belegen finden willst, die dann ja in einer Liste hinterlegt sind.


Deine UI mit Buttons usw. kannst du machen, sobald die Logik funktioniert.
Zum Testen reicht vorläufig hardcodiertes Befüllen durch die Main-Methode.
Vielen Dank das ist ein Toller Vorschlag.
Ich werde es versuchen.

Bin trotzdem für weiter Vorschläge immer offen und sehr dankbar.
 

LimDul

Top Contributor
Im Prinzip ist sowas abstrakt formuliert immer gleich.

Schritt 1: Ermittle die möglichen Züge (Hier alle leeren Felder)
Schritt 2: Bewerte die Züge.

Bei den Bewertungsfunktionen wird es interessant. Man kann wie beschrieben es anhand des Spielfeldes bewerten. Oder - das bietet sich bei Tic Tac Toe an - mittels des Min/Max Algorithmus: https://www.neverstopbuilding.com/blog/minimax

Grob formuliert Sprich man spielt jede mögliche Kombination bis zum Ende durch und schaut wer gewonnen hat. Und dann berechnet man daraus rückwärts, wenn jeder Spieler den besten Zug machen würde, wer gewinnen würde.
 

Blender3D

Top Contributor
Bin trotzdem für weiter Vorschläge immer offen und sehr dankbar.
Hier eine alte Version von mir. Ist zwar für die Konsole gemacht.
1666906566944.png
Lade die Datei ticTacToe.jar herunter. Öffne eine Konsole und wechsle in das Verzeichnis der Datei.
Zum Starten gib auf der Konsole java -jar ticTacToe.jar ein.

Es gibt 3 Spielstärken der KI.
Die Eingabe erwartet Zahlen von 0-8
0-2 -> . . .
3-5 -> . . .
6-8 -> . . .
Fehleingaben werden behandelt.
Am Ende wird der Gewinner angezeigt.

1) Kopiere den Code
2) Teste ihn
3) Versuche den Code zu verstehen.
4) Bei Fragen zum Code stelle sie hier.
5) Ändere die Konsole Eingabe in eine Windows Eingabe.

Java:
import java.util.Random;
import java.util.Scanner;

public class TicTacToe {
    // define random object
    private static Random random = new Random(System.currentTimeMillis());
    // define input object
    private final static Scanner input = new Scanner(System.in);
    // define board's dimension
    private final static int BOARD_DIM = 3;
    // create public char array board with 3 x 3 positions
    public static char board[] = new char[BOARD_DIM * BOARD_DIM];
    // define board's used characters
    private final static char PLAYER = 'x';
    private final static char CPU = 'o';
    private final static char EMPTY = ' ';
    private final static int NOT_FOUND = -1;
    private static int level = 1;

    public static void main(String[] args) {
        resetBoard();
        level = inputNumber("TicTacToe\nKI-Staerke waehlen [1-3]", 1, 3);
        char player = getBeginner();
        if (PLAYER == player)
            printBoard();
        while (!isBoardFull()) {
            if (doMove(player))
                break;
            player = getNextPlayer(player);
        }
        System.out.println("ENDE");
    }

    private static char getBeginner() {
        int coin = random.nextInt(2);
        return coin == 0 ? PLAYER : CPU;
    }

    private static char getNextPlayer(char player) {
        if (player == PLAYER)
            return CPU;
        return PLAYER;
    }

    private static boolean doMove(char player) {
        int pos = 0;
        if (player == PLAYER) {
            pos = getPlayerMove("An welcher Stelle wollen Sie setzen (0 - 8)?");
            System.out.println("Sie haben Position " + pos + " gewaehlt!");
        } else { // CPU
            pos = getCpuMove();
            System.out.println("CPU waehlt Position " + pos + "!");
        }
        board[pos] = player;
        printBoard();
        return isOver(player);
    }

    private static int getCpuMove() {
        if (isBoardFull())
            throw new IllegalAccessError("Board is full you can't get CPU's move!");
        int pos = getFinishMove(CPU);
        if (pos != NOT_FOUND)
            return pos;
        if (level > 1) {
            pos = getFinishMove(PLAYER);
            if (pos != NOT_FOUND)
                return pos;
        }
        if (level == 3) {
            if (board[4] == EMPTY)
                return 4;
        }
        do { // creating random number in between 0 - 8
            pos = random.nextInt(BOARD_DIM * BOARD_DIM);
        } while (board[pos] != EMPTY); // check's if random position isn't occupied
        return pos;
    }

    private static int getFinishMove(char player) {
        for (int i = 0; i < board.length; i++) {
            if (board[i] == EMPTY) {
                board[i] = player;
                boolean ok = isWin(player);
                board[i] = EMPTY;
                if (ok)
                    return i;
            }
        }
        return NOT_FOUND;
    }

    private static int getPlayerMove(String label) { // reads number 0-8 from the console.
        int pos = -1;
        do {
            pos = inputNumber(label, 0, 8);
            if (board[pos] != EMPTY)
                System.out.println("Ungueltige Eingabe! Ihre gewaehlte Position ist bereits besetzt!");
        } while (board[pos] != EMPTY);// new input if Position is already used
        return pos;
    }

    private static int inputNumber(String label, int min, int max) {
        int number = 0;
        boolean ok = false;
        do {
            try {
                System.out.print(label + ": ");
                number = Integer.parseInt(input.next());
                if (number < min || number > max)
                    System.err.println("Bitte nur Zahlen von " + min + "-" + max + " eingeben!");
                else
                    ok = true;
            } catch (NumberFormatException e) {
                System.err.println("Bitte nur ganze Zahlen eingeben!");
            }
        } while (!ok);
        return number;
    }

    private static boolean isBoardFull() {
        for (Character c : board) {
            if (c.equals(EMPTY))
                return false;
        }
        return true;
    }

    private static boolean isColumnWin(int col, char player) {
        for (int pos = 0; pos < BOARD_DIM; pos++) {
            if (board[pos * BOARD_DIM + col] != player)
                return false;
        }
        return true;
    }

    private static boolean isDiagonalWin(char player) {
        if (board[4] != player)
            return false;
        return (board[0] == player && board[8] == player) || (board[2] == player && board[6] == player);
    }

    private static boolean isOver(char player) {
        if (isWin(player)) { // checks for current player's win
            System.out.println((player == CPU ? "CPU" : "Spieler") + " hat gewonnen!");
            return true;
        }
        if (isBoardFull()) {
            System.out.println("Unetschieden!!");
            return true;
        }
        return false;
    }

    private static boolean isRowWin(int row, char player) {
        for (int pos = 0; pos < BOARD_DIM; pos++) {
            if (board[row * BOARD_DIM + pos] != player)
                return false;
        }
        return true;
    }

    private static boolean isWin(char player) {
        for (int pos = 0; pos < BOARD_DIM; pos++) {
            if (isColumnWin(pos, player))
                return true;
            if (isRowWin(pos, player))
                return true;
        }
        return isDiagonalWin(player);
    }

    public static void printBoard() {
        for (int y = 0; y < BOARD_DIM; y++) {
            int lineStart = y * BOARD_DIM;
            System.out.print(lineStart + "-" + (lineStart + 2) + " >> [");
            for (int x = 0; x < BOARD_DIM; x++)
                System.out.print(board[lineStart + x]);
            System.out.println("]");
        }
    }

    public static void resetBoard() { // initiating and declaring board values as own method
        for (int i = 0; i < board.length; i++)
            board[i] = EMPTY;
    }
}
 

Anhänge

  • ticTacToe.jar
    3,3 KB · Aufrufe: 1

Jxhnny.lpz

Mitglied
Hier eine alte Version von mir. Ist zwar für die Konsole gemacht.
Anhang anzeigen 19425
Lade die Datei ticTacToe.jar herunter. Öffne eine Konsole und wechsle in das Verzeichnis der Datei.
Zum Starten gib auf der Konsole java -jar ticTacToe.jar ein.

Es gibt 3 Spielstärken der KI.
Die Eingabe erwartet Zahlen von 0-8
0-2 -> . . .
3-5 -> . . .
6-8 -> . . .
Fehleingaben werden behandelt.
Am Ende wird der Gewinner angezeigt.

1) Kopiere den Code
2) Teste ihn
3) Versuche den Code zu verstehen.
4) Bei Fragen zum Code stelle sie hier.
5) Ändere die Konsole Eingabe in eine Windows Eingabe.

Java:
import java.util.Random;
import java.util.Scanner;

public class TicTacToe {
    // define random object
    private static Random random = new Random(System.currentTimeMillis());
    // define input object
    private final static Scanner input = new Scanner(System.in);
    // define board's dimension
    private final static int BOARD_DIM = 3;
    // create public char array board with 3 x 3 positions
    public static char board[] = new char[BOARD_DIM * BOARD_DIM];
    // define board's used characters
    private final static char PLAYER = 'x';
    private final static char CPU = 'o';
    private final static char EMPTY = ' ';
    private final static int NOT_FOUND = -1;
    private static int level = 1;

    public static void main(String[] args) {
        resetBoard();
        level = inputNumber("TicTacToe\nKI-Staerke waehlen [1-3]", 1, 3);
        char player = getBeginner();
        if (PLAYER == player)
            printBoard();
        while (!isBoardFull()) {
            if (doMove(player))
                break;
            player = getNextPlayer(player);
        }
        System.out.println("ENDE");
    }

    private static char getBeginner() {
        int coin = random.nextInt(2);
        return coin == 0 ? PLAYER : CPU;
    }

    private static char getNextPlayer(char player) {
        if (player == PLAYER)
            return CPU;
        return PLAYER;
    }

    private static boolean doMove(char player) {
        int pos = 0;
        if (player == PLAYER) {
            pos = getPlayerMove("An welcher Stelle wollen Sie setzen (0 - 8)?");
            System.out.println("Sie haben Position " + pos + " gewaehlt!");
        } else { // CPU
            pos = getCpuMove();
            System.out.println("CPU waehlt Position " + pos + "!");
        }
        board[pos] = player;
        printBoard();
        return isOver(player);
    }

    private static int getCpuMove() {
        if (isBoardFull())
            throw new IllegalAccessError("Board is full you can't get CPU's move!");
        int pos = getFinishMove(CPU);
        if (pos != NOT_FOUND)
            return pos;
        if (level > 1) {
            pos = getFinishMove(PLAYER);
            if (pos != NOT_FOUND)
                return pos;
        }
        if (level == 3) {
            if (board[4] == EMPTY)
                return 4;
        }
        do { // creating random number in between 0 - 8
            pos = random.nextInt(BOARD_DIM * BOARD_DIM);
        } while (board[pos] != EMPTY); // check's if random position isn't occupied
        return pos;
    }

    private static int getFinishMove(char player) {
        for (int i = 0; i < board.length; i++) {
            if (board[i] == EMPTY) {
                board[i] = player;
                boolean ok = isWin(player);
                board[i] = EMPTY;
                if (ok)
                    return i;
            }
        }
        return NOT_FOUND;
    }

    private static int getPlayerMove(String label) { // reads number 0-8 from the console.
        int pos = -1;
        do {
            pos = inputNumber(label, 0, 8);
            if (board[pos] != EMPTY)
                System.out.println("Ungueltige Eingabe! Ihre gewaehlte Position ist bereits besetzt!");
        } while (board[pos] != EMPTY);// new input if Position is already used
        return pos;
    }

    private static int inputNumber(String label, int min, int max) {
        int number = 0;
        boolean ok = false;
        do {
            try {
                System.out.print(label + ": ");
                number = Integer.parseInt(input.next());
                if (number < min || number > max)
                    System.err.println("Bitte nur Zahlen von " + min + "-" + max + " eingeben!");
                else
                    ok = true;
            } catch (NumberFormatException e) {
                System.err.println("Bitte nur ganze Zahlen eingeben!");
            }
        } while (!ok);
        return number;
    }

    private static boolean isBoardFull() {
        for (Character c : board) {
            if (c.equals(EMPTY))
                return false;
        }
        return true;
    }

    private static boolean isColumnWin(int col, char player) {
        for (int pos = 0; pos < BOARD_DIM; pos++) {
            if (board[pos * BOARD_DIM + col] != player)
                return false;
        }
        return true;
    }

    private static boolean isDiagonalWin(char player) {
        if (board[4] != player)
            return false;
        return (board[0] == player && board[8] == player) || (board[2] == player && board[6] == player);
    }

    private static boolean isOver(char player) {
        if (isWin(player)) { // checks for current player's win
            System.out.println((player == CPU ? "CPU" : "Spieler") + " hat gewonnen!");
            return true;
        }
        if (isBoardFull()) {
            System.out.println("Unetschieden!!");
            return true;
        }
        return false;
    }

    private static boolean isRowWin(int row, char player) {
        for (int pos = 0; pos < BOARD_DIM; pos++) {
            if (board[row * BOARD_DIM + pos] != player)
                return false;
        }
        return true;
    }

    private static boolean isWin(char player) {
        for (int pos = 0; pos < BOARD_DIM; pos++) {
            if (isColumnWin(pos, player))
                return true;
            if (isRowWin(pos, player))
                return true;
        }
        return isDiagonalWin(player);
    }

    public static void printBoard() {
        for (int y = 0; y < BOARD_DIM; y++) {
            int lineStart = y * BOARD_DIM;
            System.out.print(lineStart + "-" + (lineStart + 2) + " >> [");
            for (int x = 0; x < BOARD_DIM; x++)
                System.out.print(board[lineStart + x]);
            System.out.println("]");
        }
    }

    public static void resetBoard() { // initiating and declaring board values as own method
        for (int i = 0; i < board.length; i++)
            board[i] = EMPTY;
    }
}
Vielen dank für deine Hilfe ich schau es mir an.
 

Jxhnny.lpz

Mitglied
Im Prinzip ist sowas abstrakt formuliert immer gleich.

Schritt 1: Ermittle die möglichen Züge (Hier alle leeren Felder)
Schritt 2: Bewerte die Züge.

Bei den Bewertungsfunktionen wird es interessant. Man kann wie beschrieben es anhand des Spielfeldes bewerten. Oder - das bietet sich bei Tic Tac Toe an - mittels des Min/Max Algorithmus: https://www.neverstopbuilding.com/blog/minimax

Grob formuliert Sprich man spielt jede mögliche Kombination bis zum Ende durch und schaut wer gewonnen hat. Und dann berechnet man daraus rückwärts, wenn jeder Spieler den besten Zug machen würde, wer gewinnen würde.
Vielen dank für dein Tipp
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
enesss tictactoe spiel Java Basics - Anfänger-Themen 5
M Array und Objektorientierung? - TicTacToe Spiel Java Basics - Anfänger-Themen 43
P Ein einfaches Spiel: TicTacToe. Fehler und Vorschläge Java Basics - Anfänger-Themen 3
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
TicTacToe Java Basics - Anfänger-Themen 6
C TicTacToe Java Basics - Anfänger-Themen 2
J Anfänger TicTacToe, Problem bei Gewinnoption, sowohl Unentschieden Java Basics - Anfänger-Themen 8
A Überprüfung für unentschieden in TicTacToe Java Basics - Anfänger-Themen 10
A Überprüfung in TicTacToe Java Basics - Anfänger-Themen 5
A TicTacToe Java Basics - Anfänger-Themen 8
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
K Fehler beim Programmieren von TicTacToe Java Basics - Anfänger-Themen 12
J TicTacToe Java Basics - Anfänger-Themen 2
A TicTacToe funktioniert bis auf "schiefer" Sieg Java Basics - Anfänger-Themen 6
shiroX Input/Output TicTacToe-Savegame Java Basics - Anfänger-Themen 1
shiroX Methoden Mögliche Spielstände bei TicTacToe Java Basics - Anfänger-Themen 14
P TicTacToe Problem mit Win Methode Java Basics - Anfänger-Themen 4
Z TicTacToe mit Array Java Basics - Anfänger-Themen 6
T TicTacToe Spielfeld Java Basics - Anfänger-Themen 7
B TicTacToe Java Basics - Anfänger-Themen 2
S TicTacToe Java Basics - Anfänger-Themen 4
I TicTacToe blöde KI Java Basics - Anfänger-Themen 2
I Fehler bei TicTacToe Java Basics - Anfänger-Themen 108
G TicTacToe KI Java Basics - Anfänger-Themen 15
C Problem TicTacToe Java Basics - Anfänger-Themen 6
P 3D TicTacToe - Unentschieden Java Basics - Anfänger-Themen 5
G Tictactoe Java Basics - Anfänger-Themen 9
B TicTacToe Programmieren Java Basics - Anfänger-Themen 2
M Einfaches TicTacToe Programm Java Basics - Anfänger-Themen 19
H TicTacToe Fehler beim Compilieren Java Basics - Anfänger-Themen 7
cizzo TicTacToe Java Basics - Anfänger-Themen 6
W TicTacToe - Porblem mit dem Code.. Java Basics - Anfänger-Themen 5
H Hilfe bei TicTacToe mit jEdit Java Basics - Anfänger-Themen 7
0 TicTacToe, Problem mit den Checkbox-Aktionen Java Basics - Anfänger-Themen 6
N brauche hilfe zu tictactoe Java Basics - Anfänger-Themen 2
kulturfenster Problem bei TicTacToe Java Basics - Anfänger-Themen 11
H TicTacToe: Zeit zwischen Zügen lassen Java Basics - Anfänger-Themen 9
M TicTacToe Java Basics - Anfänger-Themen 7
H TicTacToe-geeignete Klassenhierarchie Java Basics - Anfänger-Themen 3
G Hilfe bei TicTacToe Java Basics - Anfänger-Themen 2
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
I Threads Spiel gol Java Basics - Anfänger-Themen 6
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
J ArrayList vergleichen im spiel Mastermind Java Basics - Anfänger-Themen 2
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
berserkerdq2 Habe ein Spiel entwickelt, dass immer in der 4 Runde einen cast-Fehler erhält Java Basics - Anfänger-Themen 3
berserkerdq2 Spiel hängt sich immer in der 4 Runde auf, obwohl ich jede Runde das gleiche mache Java Basics - Anfänger-Themen 1
Ekooekoo Hilfe spiel Java Basics - Anfänger-Themen 5
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
Kennewick Basketball Spiel Ergebnisse Java Basics - Anfänger-Themen 11
X Erste Schritte Hilfe bei einem kleinen Spiel. Java Basics - Anfänger-Themen 19
D Snake-Spiel ähnliche Aufgabe Hilfe Java Basics - Anfänger-Themen 3
R Hangman-Spiel-zufälliges Wort ermitteln Java Basics - Anfänger-Themen 4
JEP1 Java Dialog Fenster schließen Spiel Java Basics - Anfänger-Themen 0
I Simples Risiko-Spiel Java Basics - Anfänger-Themen 5
Hallolu Pong-Spiel: Schläger schneller werden lassen Java Basics - Anfänger-Themen 9
M Java Spiel wie Wer wird Millionär Java Basics - Anfänger-Themen 1
T Startbildschirm für ein Spiel erstellen Java Basics - Anfänger-Themen 0
Z Kein überprüfen des gesamten Arrays möglich.(Viergewinnt Spiel) Java Basics - Anfänger-Themen 6
G Ufo Spiel programmieren Java Basics - Anfänger-Themen 13
C Java Spiel Java Basics - Anfänger-Themen 3
J Spiel programmieren Java Basics - Anfänger-Themen 16
S Spiel-Programmieren. Wenn ein Objekt den anderen berührt. Java Basics - Anfänger-Themen 6
B Memory Spiel Java Basics - Anfänger-Themen 29
J Memory-Spiel Aktivierung der Methode mit Timer Java Basics - Anfänger-Themen 44
Kamy Ein einfaches "Vier Gewinnt" Spiel für Anfängerin Java Basics - Anfänger-Themen 51
A Breakout-Spiel , Ball mit Platten abprallen lassen Java Basics - Anfänger-Themen 1
S Spiel programmieren mit Java Java Basics - Anfänger-Themen 11
Olis Erste Schritte Simples Memory Spiel möglich? Java Basics - Anfänger-Themen 1
J Spiel mit Button klick starten Java Basics - Anfänger-Themen 9
C Rekursives Backtracking beim Spiel Peg Java Basics - Anfänger-Themen 22
M Spiel programmieren Java Basics - Anfänger-Themen 16
Spencer Reid Feedback zu kleinem Spiel Java Basics - Anfänger-Themen 4
kokojamboo92 Spiel programmieren Java Basics - Anfänger-Themen 1
R Kleines Java Spiel funktioniert nicht. Java Basics - Anfänger-Themen 2
I Spiel Java Basics - Anfänger-Themen 34
H ein einfaches Tic Tac Toe Spiel Java Basics - Anfänger-Themen 1
I Spiel programmieren. Java Basics - Anfänger-Themen 16
B Hilfe bei Escape - Spiel Java Basics - Anfänger-Themen 6
S Java-Spiel Java Basics - Anfänger-Themen 2
M Nim-Spiel geht in den negativen Bereich Java Basics - Anfänger-Themen 1
K Klassen Registrierungsseite für ein Spiel Java Basics - Anfänger-Themen 6
J Programmierung Quiz Spiel Java Basics - Anfänger-Themen 3
J Programmierung Quiz Spiel Java Basics - Anfänger-Themen 2
M Brauche Tipps für ein Spiel Java Basics - Anfänger-Themen 4
S Probleme mit GamGrid Spiel-Erstellung => Actor reagiert nicht auf Tastatur Java Basics - Anfänger-Themen 2
Mxxxt Mosaik Spiel - Steuerpanel wird nicht angezeigt Java Basics - Anfänger-Themen 5
M Erste Schritte Zufallszahl Spiel Problem Java Basics - Anfänger-Themen 7
Z Erste Schritte Kleines 2D. Spiel Objekt Bewegung funktioniert nicht Java Basics - Anfänger-Themen 2
H Spiel Kniffel: Gesamtes Array untersuchen. Java Basics - Anfänger-Themen 15
Tacofan Hangman als fertiges Spiel Java Basics - Anfänger-Themen 7
C Klassen Sudoku-Spiel Werte werden nicht gesetzt Java Basics - Anfänger-Themen 4
K Kleines Spiel auf Java programmieren Java Basics - Anfänger-Themen 2
W Tic Tac Toe Spiel ohne Arrays Java Basics - Anfänger-Themen 7
S Im objektorientiertem "Spiel" kämpfen Java Basics - Anfänger-Themen 3
I Klassen Umsetzungsfrage zu Spiel "Zuul" Java Basics - Anfänger-Themen 3
F Mastermind Spiel Java Basics - Anfänger-Themen 9
H Liste ausgeben (Spiel Hey Fisch (software-challenge) ändern Anzahl Fische) Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben