Java :: Aufgabe #235 :: Lösung #1
2 Lösungen
#235
Tic-Tac-Toe GUI
Profi - Java
von Gelöschte Person
- 01.04.2019 um 21:22 Uhr
Programmiere ein Tic-Tac-Toe Spiele mit GUI.
Moduse die es geben sollte:
1 Spieler vs. Computergegner
1 Spieler vs. 1 Spieler
Moduse die es geben sollte:
1 Spieler vs. Computergegner
1 Spieler vs. 1 Spieler
#1
von bumbum94 (60 Punkte)
- 13.05.2019 um 11:00 Uhr
Das ganze Programm ist in mehreren Dateien geschrieben.
//Main.java
Java-Code
//Welcome GUI
Java-Code
//GUI für Spieler erstellung
Java-Code
//2 Spieler Game GUI
Java-Code
//MouseListener
Java-Code
//ActionListener
Java-Code
//Jetz der Player vs Pc Part
//Spielererstellung
Java-Code
//PvC Game GUI
Java-Code
//MouseListener
Java-Code
// KI
Java-Code
//ActionListener
Java-Code
Bitte seid gnädig xD wäre bestimmt auch kompakter gegangen ich bin aber jetz erstmal froh das es läuft ^^
//Main.java
package Main;
import java.awt.EventQueue;
import P2P.*;
import P2C.*;
public class Main {
protected static int win = 0;
protected static int loose = 0;
protected static int draw = 0;
protected static String s1;
protected static String s2;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
startGUI_W();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public static void startGUI() {
@SuppressWarnings("unused")
GUI maingame = new GUI(getWin(),getLoose(),getDraw());
}
public static void startGUI2() {
@SuppressWarnings("unused")
GUI2 maingame = new GUI2(getWin(),getLoose(),getDraw());
}
public static void startGUI_W() {
@SuppressWarnings("unused")
GUI_W window = new GUI_W();
}
static void startGUI_2P() {
@SuppressWarnings("unused")
GUI_2P pvp = new GUI_2P();
}
public static void setNames(String name, String name2) {
s1 = name;
s2 = name2;
}
public static String gets1() {
return s1;
}
public static String gets2() {
return s2;
}
public static String getWin() {
String count = Integer.toString(win);
return count;
}
public static void setWin() {
win++;
}
public static String getLoose() {
String count = Integer.toString(loose);
return count;
}
public static void setLoose() {
loose++;
}
public static String getDraw() {
String count = Integer.toString(draw);
return count;
}
public static void setDraw() {
draw++;
}
public static void reset() {
win = 0;
loose = 0;
draw = 0;
startGUI_W();
}
}
//Welcome GUI
package Main;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import P2C.GUI_1P;
import P2P.GUI_2P;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import java.awt.Font;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
@SuppressWarnings("serial")
public class GUI_W extends JFrame {
private JPanel contentPane;
public GUI_W() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JLabel lbl_welcome = new JLabel("");
lbl_welcome.setIcon(new ImageIcon("img/welcome.png"));
contentPane.add(lbl_welcome, BorderLayout.NORTH);
JPanel panel = new JPanel();
contentPane.add(panel, BorderLayout.CENTER);
panel.setLayout(null);
JLabel lblWhleDenSpielmodus = new JLabel("W\u00E4hle den Spielmodus ");
lblWhleDenSpielmodus.setFont(new Font("Wide Latin", Font.PLAIN, 20));
lblWhleDenSpielmodus.setBounds(10, 0, 404, 65);
panel.add(lblWhleDenSpielmodus);
JButton btnSpieler = new JButton("2 Spieler");
btnSpieler.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String s = e.getActionCommand();
if ("2 Spieler".equals(s) ) {
dispose();
@SuppressWarnings("unused")
GUI_2P game = new GUI_2P();
}
}
});
btnSpieler.setBounds(60, 76, 89, 23);
panel.add(btnSpieler);
JButton btnNewButton = new JButton("Gegen PC");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String s = e.getActionCommand();
if ("Gegen PC".equals(s) ) {
dispose();
@SuppressWarnings("unused")
GUI_1P game = new GUI_1P();
}
}
});
btnNewButton.setBounds(275, 76, 99, 23);
panel.add(btnNewButton);
setVisible(true);
}
}
//GUI für Spieler erstellung
package P2P;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.Font;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import javax.swing.SwingConstants;
@SuppressWarnings("serial")
public class GUI_2P extends JFrame {
private JPanel contentPane;
private JTextField txt_name;
private JTextField txt_name2;
public GUI_2P() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
AL al =new AL(this);
JLabel lblNewLabel = new JLabel("");
lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
lblNewLabel.setIcon(new ImageIcon("img/2p.png"));
lblNewLabel.setBounds(10, 11, 414, 57);
contentPane.add(lblNewLabel);
JLabel lblSpieler = new JLabel("Spieler 1:");
lblSpieler.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblSpieler.setBounds(10, 105, 66, 29);
contentPane.add(lblSpieler);
JLabel lblSpieler_1 = new JLabel("Spieler 2:");
lblSpieler_1.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblSpieler_1.setBounds(10, 145, 66, 29);
contentPane.add(lblSpieler_1);
txt_name = new JTextField();
txt_name.setFont(new Font("Tahoma", Font.PLAIN, 14));
txt_name.setBounds(86, 105, 90, 29);
contentPane.add(txt_name);
txt_name.setColumns(10);
txt_name2 = new JTextField();
txt_name2.setFont(new Font("Tahoma", Font.PLAIN, 14));
txt_name2.setColumns(10);
txt_name2.setBounds(86, 145, 90, 29);
contentPane.add(txt_name2);
JButton btnZurck = new JButton("Zur\u00FCck");
btnZurck.setBounds(335, 227, 89, 23);
btnZurck.addActionListener(al);
contentPane.add(btnZurck);
JButton btnStart = new JButton("Start");
btnStart.setBounds(236, 227, 89, 23);
btnStart.addActionListener(al);
contentPane.add(btnStart);
JButton btnReset = new JButton("Reset");
btnReset.setBounds(10, 227, 89, 23);
btnReset.addActionListener(al);
contentPane.add(btnReset);
setVisible(true);
}
void setName1(String name) {
txt_name.setText(name);
}
void setName2(String name) {
txt_name2.setText(name);
}
public String getName() {
String name = txt_name.getText();
return name;
}
public String getName2() {
String name = txt_name2.getText();
return name;
}
}
//2 Spieler Game GUI
package P2P;
import javax.swing.JFrame;
import java.awt.Image;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.SwingConstants;
import javax.swing.border.Border;
import javax.swing.border.LineBorder;
import Main.Main;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
public class GUI {
static JFrame frame;
static JLabel field1, field2, field3, field4, field5, field6, field7, field8, field9;
static JLabel win = new JLabel(Main.getWin());
static JLabel loose = new JLabel(Main.getLoose());
static JLabel draw = new JLabel(Main.getDraw());
static boolean x = true;
static ArrayList<Integer> list_p1 = new ArrayList<Integer>();
static ArrayList<Integer> list_p2 = new ArrayList<Integer>();
static boolean[] clicked = {false,false,false,false,false,false,false,false,false,false};
static Border b = LineBorder.createGrayLineBorder();
public GUI(String win, String loose, String draw) {
initialize();
}
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 500, 574);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
@SuppressWarnings("unused")
Border ub = BorderFactory.createLoweredBevelBorder();
JPanel panel = new JPanel();
panel.setBounds(43, 11, 400, 400);
frame.getContentPane().add(panel);
panel.setLayout(null);
field1 = new JLabel("");
field1.setHorizontalAlignment(SwingConstants.CENTER);
field1.addMouseListener(new Player(frame, field1, 1));
field1.setBounds(7, 7, 125, 125);
field1.setBorder(b);
panel.add(field1);
field2 = new JLabel("");
field2.setHorizontalAlignment(SwingConstants.CENTER);
field2.addMouseListener(new Player(frame, field2, 2));
field2.setBounds(138, 7, 125, 125);
field2.setBorder(b);
panel.add(field2);
field3 = new JLabel("");
field3.setHorizontalAlignment(SwingConstants.CENTER);
field3.addMouseListener(new Player(frame, field3, 3));
field3.setBounds(269, 7, 125, 125);
field3.setBorder(b);
panel.add(field3);
field4 = new JLabel("");
field4.setHorizontalAlignment(SwingConstants.CENTER);
field4.addMouseListener(new Player(frame, field4, 4));
field4.setBounds(7, 138, 125, 125);
field4.setBorder(b);
panel.add(field4);
field7 = new JLabel("");
field7.setHorizontalAlignment(SwingConstants.CENTER);
field7.addMouseListener(new Player(frame, field7, 7));
field7.setBounds(7, 269, 125, 125);
field7.setBorder(b);
panel.add(field7);
field5 = new JLabel("");
field5.setHorizontalAlignment(SwingConstants.CENTER);
field5.addMouseListener(new Player(frame, field5, 5));
field5.setBounds(138, 138, 125, 125);
field5.setBorder(b);
panel.add(field5);
field6 = new JLabel("");
field6.setHorizontalAlignment(SwingConstants.CENTER);
field6.addMouseListener(new Player(frame, field6, 6));
field6.setBounds(269, 138, 125, 125);
field6.setBorder(b);
panel.add(field6);
field8 = new JLabel("");
field8.setHorizontalAlignment(SwingConstants.CENTER);
field8.addMouseListener(new Player(frame, field8, 8));
field8.setBounds(138, 269, 125, 125);
field8.setBorder(b);
panel.add(field8);
field9 = new JLabel("");
field9.setHorizontalAlignment(SwingConstants.CENTER);
field9.addMouseListener(new Player(frame, field9, 9));
field9.setBounds(269, 269, 125, 125);
field9.setBorder(b);
panel.add(field9);
JLabel player1 = new JLabel("Spieler 1:");
player1.setBounds(43, 430, 69, 14);
frame.getContentPane().add(player1);
JLabel player2 = new JLabel("Spieler 2:");
player2.setBounds(43, 455, 69, 14);
frame.getContentPane().add(player2);
JLabel name1 = new JLabel(Main.gets1());
name1.setBounds(99, 430, 70, 14);
frame.getContentPane().add(name1);
JLabel name2 = new JLabel(Main.gets2());
name2.setBounds(99, 455, 70, 14);
frame.getContentPane().add(name2);
win.setHorizontalAlignment(SwingConstants.CENTER);
win.setBounds(397, 430, 46, 14);
frame.getContentPane().add(win);
loose.setHorizontalAlignment(SwingConstants.CENTER);
loose.setBounds(397, 455, 46, 14);
frame.getContentPane().add(loose);
draw.setHorizontalAlignment(SwingConstants.CENTER);
draw.setBounds(397, 480, 46, 14);
frame.getContentPane().add(draw);
JLabel lbl_win = new JLabel("Gewonnen:");
lbl_win.setHorizontalAlignment(SwingConstants.RIGHT);
lbl_win.setBounds(302, 430, 85, 14);
frame.getContentPane().add(lbl_win);
JLabel lbl_loose = new JLabel("Verloren:");
lbl_loose.setHorizontalAlignment(SwingConstants.RIGHT);
lbl_loose.setBounds(302, 455, 85, 14);
frame.getContentPane().add(lbl_loose);
JLabel lbl_draw = new JLabel("Unentschieden:");
lbl_draw.setHorizontalAlignment(SwingConstants.RIGHT);
lbl_draw.setBounds(267, 480, 120, 14);
frame.getContentPane().add(lbl_draw);
JButton btnNewGame = new JButton("Neues Spiel");
btnNewGame.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
}
});
btnNewGame.setBounds(23, 490, 109, 23);
frame.getContentPane().add(btnNewGame);
frame.setVisible(true);
}
void setField1(int f) {
if (f == 1) {
ImageIcon img = new ImageIcon("img/cross.png");
img.getImage().flush();
img.setImage(img.getImage().getScaledInstance(125, 125, Image.SCALE_DEFAULT));
field1.setIcon(img);
}
}
static void addList_p1(int i) {
list_p1.add(i);
}
static void addList_p2(int i) {
list_p2.add(i);
}
static void gameWin() {
if ((list_p1.contains(1) & list_p1.contains(2) & list_p1.contains(3))
| (list_p1.contains(4) & list_p1.contains(5) & list_p1.contains(6))
| (list_p1.contains(7) & list_p1.contains(8) & list_p1.contains(9))
| (list_p1.contains(1) & list_p1.contains(4) & list_p1.contains(7))
| (list_p1.contains(2) & list_p1.contains(5) & list_p1.contains(8))
| (list_p1.contains(3) & list_p1.contains(6) & list_p1.contains(9))
| (list_p1.contains(1) & list_p1.contains(5) & list_p1.contains(9))
| (list_p1.contains(3) & list_p1.contains(5) & list_p1.contains(7))) {
JOptionPane.showMessageDialog(null, Main.gets1()+" hat gewonnen!");
Main.setWin();
repaint();
}
if ((list_p2.contains(1) & list_p2.contains(2) & list_p2.contains(3))
| (list_p2.contains(4) & list_p2.contains(5) & list_p2.contains(6))
| (list_p2.contains(7) & list_p2.contains(8) & list_p2.contains(9))
| (list_p2.contains(1) & list_p2.contains(4) & list_p2.contains(7))
| (list_p2.contains(2) & list_p2.contains(5) & list_p2.contains(8))
| (list_p2.contains(3) & list_p2.contains(6) & list_p2.contains(9))
| (list_p2.contains(1) & list_p2.contains(5) & list_p2.contains(9))
| (list_p2.contains(3) & list_p2.contains(5) & list_p2.contains(7))) {
JOptionPane.showMessageDialog(null, Main.gets2()+"hat gewonnen!");
Main.setLoose();
repaint();
}
if (allClicked() == true) {
JOptionPane.showMessageDialog(null, "Unentschieden!");
Main.setDraw();
repaint();
}
}
static void repaint() {
ImageIcon img = new ImageIcon("img/plain.png");
field1.setIcon(img);
field2.setIcon(img);
field3.setIcon(img);
field4.setIcon(img);
field5.setIcon(img);
field6.setIcon(img);
field7.setIcon(img);
field8.setIcon(img);
field9.setIcon(img);
list_p1.clear();
list_p2.clear();
win.setText(Main.getWin());
loose.setText(Main.getLoose());
draw.setText(Main.getDraw());
setUnClicked();
frame.repaint();
}
static boolean clicked(int i) {
return clicked[i];
}
static void setUnClicked() {
clicked[9] = false;
clicked[1] = false;
clicked[2] = false;
clicked[3] = false;
clicked[4] = false;
clicked[5] = false;
clicked[6] = false;
clicked[7] = false;
clicked[8] = false;
field1.setBorder(b);
field2.setBorder(b);
field3.setBorder(b);
field4.setBorder(b);
field5.setBorder(b);
field6.setBorder(b);
field7.setBorder(b);
field8.setBorder(b);
field9.setBorder(b);
}
static void setClicked(int i) {
clicked[i] =true;
}
static boolean allClicked() {
boolean all = false;
if (clicked[9] == true & clicked[1] == true & clicked[2] == true & clicked[3] == true & clicked[4] == true
& clicked[5] == true & clicked[6] == true & clicked[7] == true & clicked[8] == true) {
all = true;
}
return all;
}
}
//MouseListener
package P2P;
import java.awt.Image;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ArrayList;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.border.Border;
import javax.swing.border.LineBorder;
public class Player implements MouseListener {
JFrame frame;
JLabel field;
Border b = LineBorder.createGrayLineBorder();
Border ub = BorderFactory.createLoweredBevelBorder();
@SuppressWarnings({ "unchecked", "rawtypes" })
ArrayList<Integer> list_p1 = new ArrayList();
@SuppressWarnings({ "unchecked", "rawtypes" })
ArrayList<Integer> list_p2 = new ArrayList();
ImageIcon cross = new ImageIcon("img/cross.png");
ImageIcon circle = new ImageIcon("img/circle.png");
boolean clicked = false;
int i;
public Player(JFrame frame, JLabel field,int i) {
this.frame = frame;
this.field = field;
cross.getImage().flush();
cross.setImage(cross.getImage().getScaledInstance(120, 120,Image.SCALE_DEFAULT));
circle.getImage().flush();
circle.setImage(circle.getImage().getScaledInstance(120, 120,Image.SCALE_DEFAULT));
this.i = i;
}
@Override
public void mouseClicked(MouseEvent e) {
if (GUI.clicked(i) == false) {
if (GUI.x == true) {
field.setIcon(cross);
frame.repaint();
field_list(i);
GUI.x=false;
GUI.clicked[i] = true;
System.out.println(GUI.list_p1);
GUI.gameWin();
}else {
field.setIcon(circle);
frame.repaint();
field_list(i);
GUI.x=true;
GUI.clicked[i] = true;
System.out.println(GUI.list_p2);
GUI.gameWin();
}}
}
@Override
public void mouseEntered(MouseEvent e) {
if (GUI.clicked(i) == false) {
field.setBorder(ub);
}
}
@Override
public void mouseExited(MouseEvent e) {
if (GUI.clicked(i) == false) {
field.setBorder(b);
}
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
void field_list(int i) {
if (i ==1 && GUI.x ==true) {
GUI.addList_p1(i);
}
if (i ==2 && GUI.x ==true) {
GUI.addList_p1(i);
}
if (i ==3 && GUI.x ==true) {
GUI.addList_p1(i);
}
if (i ==4 && GUI.x ==true) {
GUI.addList_p1(i);
}
if (i ==5 && GUI.x ==true) {
GUI.addList_p1(i);
}
if (i ==6 && GUI.x ==true) {
GUI.addList_p1(i);
}
if (i ==7 && GUI.x ==true) {
GUI.addList_p1(i);
}
if (i ==8 && GUI.x ==true) {
GUI.addList_p1(i);
}
if (i ==9 && GUI.x ==true) {
GUI.addList_p1(i);
}
if (i ==1 && GUI.x ==false) {
GUI.addList_p2(i);
}
if (i ==2 && GUI.x ==false) {
GUI.addList_p2(i);
}
if (i ==3 && GUI.x ==false) {
GUI.addList_p2(i);
}
if (i ==4 && GUI.x ==false) {
GUI.addList_p2(i);
}
if (i ==5 && GUI.x ==false) {
GUI.addList_p2(i);
}
if (i ==6 && GUI.x ==false) {
GUI.addList_p2(i);
}
if (i ==7 && GUI.x ==false) {
GUI.addList_p2(i);
}
if (i ==8 && GUI.x ==false) {
GUI.addList_p2(i);
}
if (i ==9 && GUI.x ==false) {
GUI.addList_p2(i);
}
}
}
//ActionListener
package P2P;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import Main.Main;
public class AL implements ActionListener {
GUI_2P frame;
public AL(GUI_2P frame) {
this.frame = frame;
}
@Override
public void actionPerformed(ActionEvent e) {
String s = e.getActionCommand();
if ("Reset".equals(s)) {
frame.setName1("");
frame.setName2("");
}
if ("Start".contentEquals(s)) {
Main.setNames(frame.getName(), frame.getName2());
frame.dispose();
Main.startGUI();
}
if ("Zurück".equals(s)) {
frame.dispose();
Main.startGUI_W();
}
}
}
//Jetz der Player vs Pc Part
//Spielererstellung
package P2C;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.Font;
import java.util.Random;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import javax.swing.SwingConstants;
@SuppressWarnings("serial")
public class GUI_1P extends JFrame {
private JPanel contentPane;
private JTextField txt_name;
private JTextField txt_name2;
public GUI_1P() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
AL al =new AL(this);
JLabel lblNewLabel = new JLabel("");
lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
lblNewLabel.setIcon(new ImageIcon("img/1p.png"));
lblNewLabel.setBounds(10, 11, 414, 57);
contentPane.add(lblNewLabel);
JLabel lblSpieler = new JLabel("Spieler 1:");
lblSpieler.setHorizontalAlignment(SwingConstants.RIGHT);
lblSpieler.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblSpieler.setBounds(10, 105, 70, 29);
contentPane.add(lblSpieler);
JLabel lblSpieler_1 = new JLabel("Spieler(PC):");
lblSpieler_1.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblSpieler_1.setBounds(10, 145, 76, 29);
contentPane.add(lblSpieler_1);
txt_name = new JTextField();
txt_name.setFont(new Font("Tahoma", Font.PLAIN, 14));
txt_name.setBounds(86, 105, 90, 29);
contentPane.add(txt_name);
txt_name.setColumns(10);
txt_name2 = new JTextField(kiName());
txt_name2.setFont(new Font("Tahoma", Font.PLAIN, 14));
txt_name2.setColumns(10);
txt_name2.setBounds(86, 145, 90, 29);
contentPane.add(txt_name2);
JButton btnZurck = new JButton("Zur\u00FCck");
btnZurck.setBounds(335, 227, 89, 23);
btnZurck.addActionListener(al);
contentPane.add(btnZurck);
JButton btnStart = new JButton("Start");
btnStart.setBounds(236, 227, 89, 23);
btnStart.addActionListener(al);
contentPane.add(btnStart);
JButton btnReset = new JButton("Reset");
btnReset.setBounds(10, 227, 89, 23);
btnReset.addActionListener(al);
contentPane.add(btnReset);
setVisible(true);
}
void setName1(String name) {
txt_name.setText(name);
}
void setName2(String name) {
txt_name2.setText(name);
}
public String getName() {
String name = txt_name.getText();
return name;
}
public String getName2() {
String name = txt_name2.getText();
return name;
}
String kiName() {
Random rand = new Random();
String[] name = {"Horst","Matilda","Christian","Magarete","Steffan","Claudia","Andreas","Moni"};
int i = rand.nextInt(7);
return name[i];
}
}
//PvC Game GUI
package P2C;
import javax.swing.JFrame;
import java.awt.Image;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.SwingConstants;
import javax.swing.border.Border;
import javax.swing.border.LineBorder;
import Main.Main;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
public class GUI2 {
static JFrame frame;
static JLabel field1, field2, field3, field4, field5, field6, field7, field8, field9;
static JLabel win = new JLabel(Main.getWin());
static JLabel loose = new JLabel(Main.getLoose());
static JLabel draw = new JLabel(Main.getDraw());
static boolean x = true;
static ArrayList<Integer> list_p1 = new ArrayList<Integer>();
static ArrayList<Integer> list_p2 = new ArrayList<Integer>();
static boolean[] clicked = {false,false,false,false,false,false,false,false,false,false};
static Border b = LineBorder.createGrayLineBorder();
public GUI2(String win, String loose, String draw) {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 500, 574);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
@SuppressWarnings("unused")
Border ub = BorderFactory.createLoweredBevelBorder();
JPanel panel = new JPanel();
panel.setBounds(43, 11, 400, 400);
frame.getContentPane().add(panel);
panel.setLayout(null);
field1 = new JLabel("");
field1.setHorizontalAlignment(SwingConstants.CENTER);
field1.addMouseListener(new Player(frame, field1, 1));
field1.setBounds(7, 7, 125, 125);
field1.setBorder(b);
panel.add(field1);
field2 = new JLabel("");
field2.setHorizontalAlignment(SwingConstants.CENTER);
field2.addMouseListener(new Player(frame, field2, 2));
field2.setBounds(138, 7, 125, 125);
field2.setBorder(b);
panel.add(field2);
field3 = new JLabel("");
field3.setHorizontalAlignment(SwingConstants.CENTER);
field3.addMouseListener(new Player(frame, field3, 3));
field3.setBounds(269, 7, 125, 125);
field3.setBorder(b);
panel.add(field3);
field4 = new JLabel("");
field4.setHorizontalAlignment(SwingConstants.CENTER);
field4.addMouseListener(new Player(frame, field4, 4));
field4.setBounds(7, 138, 125, 125);
field4.setBorder(b);
panel.add(field4);
field7 = new JLabel("");
field7.setHorizontalAlignment(SwingConstants.CENTER);
field7.addMouseListener(new Player(frame, field7, 7));
field7.setBounds(7, 269, 125, 125);
field7.setBorder(b);
panel.add(field7);
field5 = new JLabel("");
field5.setHorizontalAlignment(SwingConstants.CENTER);
field5.addMouseListener(new Player(frame, field5, 5));
field5.setBounds(138, 138, 125, 125);
field5.setBorder(b);
panel.add(field5);
field6 = new JLabel("");
field6.setHorizontalAlignment(SwingConstants.CENTER);
field6.addMouseListener(new Player(frame, field6, 6));
field6.setBounds(269, 138, 125, 125);
field6.setBorder(b);
panel.add(field6);
field8 = new JLabel("");
field8.setHorizontalAlignment(SwingConstants.CENTER);
field8.addMouseListener(new Player(frame, field8, 8));
field8.setBounds(138, 269, 125, 125);
field8.setBorder(b);
panel.add(field8);
field9 = new JLabel("");
field9.setHorizontalAlignment(SwingConstants.CENTER);
field9.addMouseListener(new Player(frame, field9, 9));
field9.setBounds(269, 269, 125, 125);
field9.setBorder(b);
panel.add(field9);
JLabel player1 = new JLabel("Spieler 1:");
player1.setBounds(43, 430, 69, 14);
frame.getContentPane().add(player1);
JLabel player2 = new JLabel("Spieler 2:");
player2.setBounds(43, 455, 69, 14);
frame.getContentPane().add(player2);
JLabel name1 = new JLabel(Main.gets1());
name1.setBounds(99, 430, 70, 14);
frame.getContentPane().add(name1);
JLabel name2 = new JLabel(Main.gets2());
name2.setBounds(99, 455, 70, 14);
frame.getContentPane().add(name2);
win.setHorizontalAlignment(SwingConstants.CENTER);
win.setBounds(397, 430, 46, 14);
frame.getContentPane().add(win);
loose.setHorizontalAlignment(SwingConstants.CENTER);
loose.setBounds(397, 455, 46, 14);
frame.getContentPane().add(loose);
draw.setHorizontalAlignment(SwingConstants.CENTER);
draw.setBounds(397, 480, 46, 14);
frame.getContentPane().add(draw);
JLabel lbl_win = new JLabel("Gewonnen:");
lbl_win.setHorizontalAlignment(SwingConstants.RIGHT);
lbl_win.setBounds(302, 430, 85, 14);
frame.getContentPane().add(lbl_win);
JLabel lbl_loose = new JLabel("Verloren:");
lbl_loose.setHorizontalAlignment(SwingConstants.RIGHT);
lbl_loose.setBounds(302, 455, 85, 14);
frame.getContentPane().add(lbl_loose);
JLabel lbl_draw = new JLabel("Unentschieden:");
lbl_draw.setHorizontalAlignment(SwingConstants.RIGHT);
lbl_draw.setBounds(267, 480, 120, 14);
frame.getContentPane().add(lbl_draw);
JButton btnNewGame = new JButton("Neues Spiel");
btnNewGame.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String s = e.getActionCommand();
if ("Neues Spiel".equals(s)) {
frame.dispose();
win.setText("0");
loose.setText("0");
draw.setText("0");
Main.reset();
}
}
});
btnNewGame.setBounds(23, 490, 109, 23);
frame.getContentPane().add(btnNewGame);
frame.setVisible(true);
}
void setField1(int f) {
if (f == 1) {
ImageIcon img = new ImageIcon("img/cross.png");
img.getImage().flush();
img.setImage(img.getImage().getScaledInstance(125, 125, Image.SCALE_DEFAULT));
field1.setIcon(img);
}
}
static void addList_p1(int i) {
list_p1.add(i);
}
static void addList_p2(int i) {
list_p2.add(i);
}
static void gameWin() {
if ((list_p1.contains(1) & list_p1.contains(2) & list_p1.contains(3))
| (list_p1.contains(4) & list_p1.contains(5) & list_p1.contains(6))
| (list_p1.contains(7) & list_p1.contains(8) & list_p1.contains(9))
| (list_p1.contains(1) & list_p1.contains(4) & list_p1.contains(7))
| (list_p1.contains(2) & list_p1.contains(5) & list_p1.contains(8))
| (list_p1.contains(3) & list_p1.contains(6) & list_p1.contains(9))
| (list_p1.contains(1) & list_p1.contains(5) & list_p1.contains(9))
| (list_p1.contains(3) & list_p1.contains(5) & list_p1.contains(7))) {
JOptionPane.showMessageDialog(null, Main.gets1()+" hat gewonnen!");
Main.setWin();
repaint();
}
if ((list_p2.contains(1) & list_p2.contains(2) & list_p2.contains(3))
| (list_p2.contains(4) & list_p2.contains(5) & list_p2.contains(6))
| (list_p2.contains(7) & list_p2.contains(8) & list_p2.contains(9))
| (list_p2.contains(1) & list_p2.contains(4) & list_p2.contains(7))
| (list_p2.contains(2) & list_p2.contains(5) & list_p2.contains(8))
| (list_p2.contains(3) & list_p2.contains(6) & list_p2.contains(9))
| (list_p2.contains(1) & list_p2.contains(5) & list_p2.contains(9))
| (list_p2.contains(3) & list_p2.contains(5) & list_p2.contains(7))) {
JOptionPane.showMessageDialog(null, Main.gets2()+" hat gewonnen!");
Main.setLoose();
repaint();
}
if (allClicked() == true) {
JOptionPane.showMessageDialog(null, "Unentschieden!");
Main.setDraw();
repaint();
}
}
static void repaint() {
ImageIcon img = new ImageIcon("img/plain.png");
field1.setIcon(img);
field2.setIcon(img);
field3.setIcon(img);
field4.setIcon(img);
field5.setIcon(img);
field6.setIcon(img);
field7.setIcon(img);
field8.setIcon(img);
field9.setIcon(img);
list_p1.clear();
list_p2.clear();
win.setText(Main.getWin());
loose.setText(Main.getLoose());
draw.setText(Main.getDraw());
setUnClicked();
frame.repaint();
}
static boolean clicked(int i) {
return clicked[i];
}
static void setUnClicked() {
clicked[9] = false;
clicked[1] = false;
clicked[2] = false;
clicked[3] = false;
clicked[4] = false;
clicked[5] = false;
clicked[6] = false;
clicked[7] = false;
clicked[8] = false;
field1.setBorder(b);
field2.setBorder(b);
field3.setBorder(b);
field4.setBorder(b);
field5.setBorder(b);
field6.setBorder(b);
field7.setBorder(b);
field8.setBorder(b);
field9.setBorder(b);
}
static void setClicked(int i) {
clicked[i] =true;
}
static boolean allClicked() {
boolean all = false;
if (clicked[9] == true & clicked[1] == true & clicked[2] == true & clicked[3] == true & clicked[4] == true
& clicked[5] == true & clicked[6] == true & clicked[7] == true & clicked[8] == true) {
all = true;
}
return all;
}
}
//MouseListener
package P2C;
import java.awt.Image;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ArrayList;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.border.Border;
import javax.swing.border.LineBorder;
public class Player implements MouseListener {
JFrame frame;
JLabel field;
Border b = LineBorder.createGrayLineBorder();
Border ub = BorderFactory.createLoweredBevelBorder();
@SuppressWarnings({ "unchecked", "rawtypes" })
ArrayList<Integer> list_p1 = new ArrayList();
@SuppressWarnings({ "unchecked", "rawtypes" })
ArrayList<Integer> list_p2 = new ArrayList();
ImageIcon cross = new ImageIcon("img/cross.png");
ImageIcon circle = new ImageIcon("img/circle.png");
boolean clicked = false;
int i;
public Player(JFrame frame, JLabel field,int i) {
this.frame = frame;
this.field = field;
cross.getImage().flush();
cross.setImage(cross.getImage().getScaledInstance(120, 120,Image.SCALE_DEFAULT));
circle.getImage().flush();
circle.setImage(circle.getImage().getScaledInstance(120, 120,Image.SCALE_DEFAULT));
this.i = i;
}
@Override
public void mouseClicked(MouseEvent e) {
if (GUI2.clicked(i) == false) {
if (GUI2.x == true) {
field.setIcon(cross);
frame.repaint();
field_list(i);
GUI2.x=false;
GUI2.clicked[i] = true;
System.out.println(GUI2.list_p1);
GUI2.gameWin();
@SuppressWarnings("unused")
KI ki = new KI(frame, field, i,circle);
}else {
}}
}
@Override
public void mouseEntered(MouseEvent e) {
if (GUI2.clicked(i) == false) {
field.setBorder(ub);
}
}
@Override
public void mouseExited(MouseEvent e) {
if (GUI2.clicked(i) == false) {
field.setBorder(b);
}
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
void field_list(int i) {
if (i ==1 && GUI2.x ==true) {
GUI2.addList_p1(i);
}
if (i ==2 && GUI2.x ==true) {
GUI2.addList_p1(i);
}
if (i ==3 && GUI2.x ==true) {
GUI2.addList_p1(i);
}
if (i ==4 && GUI2.x ==true) {
GUI2.addList_p1(i);
}
if (i ==5 && GUI2.x ==true) {
GUI2.addList_p1(i);
}
if (i ==6 && GUI2.x ==true) {
GUI2.addList_p1(i);
}
if (i ==7 && GUI2.x ==true) {
GUI2.addList_p1(i);
}
if (i ==8 && GUI2.x ==true) {
GUI2.addList_p1(i);
}
if (i ==9 && GUI2.x ==true) {
GUI2.addList_p1(i);
}
if (i ==1 && GUI2.x ==false) {
GUI2.addList_p2(i);
}
if (i ==2 && GUI2.x ==false) {
GUI2.addList_p2(i);
}
if (i ==3 && GUI2.x ==false) {
GUI2.addList_p2(i);
}
if (i ==4 && GUI2.x ==false) {
GUI2.addList_p2(i);
}
if (i ==5 && GUI2.x ==false) {
GUI2.addList_p2(i);
}
if (i ==6 && GUI2.x ==false) {
GUI2.addList_p2(i);
}
if (i ==7 && GUI2.x ==false) {
GUI2.addList_p2(i);
}
if (i ==8 && GUI2.x ==false) {
GUI2.addList_p2(i);
}
if (i ==9 && GUI2.x ==false) {
GUI2.addList_p2(i);
}
}
}
// KI
package P2C;
import java.util.Random;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.border.Border;
public class KI extends Player {
Random rand = new Random();
ImageIcon circle;
Border ub = BorderFactory.createLoweredBevelBorder();
JLabel fieldki;
int p;
public KI(JFrame frame, JLabel field, int i) {
super(frame, field, i);
play();
}
public KI(JFrame frame, JLabel field, int i, ImageIcon circle) {
super(frame, field, i);
this.circle = circle;
play();
}
void play() {
// PC gewinnmöglichkeiten werden geprüft
if (((GUI2.list_p2.contains(2) & GUI2.list_p2.contains(3))
|| (GUI2.list_p2.contains(4) & GUI2.list_p2.contains(7))
|| (GUI2.list_p2.contains(5) & GUI2.list_p2.contains(9))) & GUI2.clicked[1] == false) {
fieldki = GUI2.field1;
p = 1;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
} else if (((GUI2.list_p2.contains(1) & GUI2.list_p2.contains(3))
|| (GUI2.list_p2.contains(5) & GUI2.list_p2.contains(8))) & GUI2.clicked[2] == false) {
fieldki = GUI2.field2;
p = 2;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
} else if (((GUI2.list_p2.contains(1) & GUI2.list_p2.contains(2))
|| (GUI2.list_p2.contains(6) & GUI2.list_p2.contains(9))
|| (GUI2.list_p2.contains(5) & GUI2.list_p2.contains(7))) & GUI2.clicked[3] == false) {
fieldki = GUI2.field3;
p = 3;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
} else if (((GUI2.list_p2.contains(1) & GUI2.list_p2.contains(7))
|| (GUI2.list_p2.contains(5) & GUI2.list_p2.contains(6))) & GUI2.clicked[4] == false) {
fieldki = GUI2.field4;
p = 4;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
} else if (((GUI2.list_p2.contains(1) & GUI2.list_p2.contains(9))
|| (GUI2.list_p2.contains(2) & GUI2.list_p2.contains(8))
|| (GUI2.list_p2.contains(3) & GUI2.list_p2.contains(7))
|| (GUI2.list_p2.contains(4) & GUI2.list_p2.contains(6))) & GUI2.clicked[5] == false) {
fieldki = GUI2.field5;
p = 5;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
} else if (((GUI2.list_p2.contains(3) & GUI2.list_p2.contains(9))
|| (GUI2.list_p2.contains(4) & GUI2.list_p2.contains(5))) & GUI2.clicked[6] == false) {
fieldki = GUI2.field6;
p = 6;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
} else if (((GUI2.list_p2.contains(1) & GUI2.list_p2.contains(4))
|| (GUI2.list_p2.contains(3) & GUI2.list_p2.contains(5))
|| (GUI2.list_p2.contains(8) & GUI2.list_p2.contains(9))) & GUI2.clicked[7] == false) {
fieldki = GUI2.field7;
p = 7;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
} else if (((GUI2.list_p2.contains(2) & GUI2.list_p2.contains(5))
|| (GUI2.list_p2.contains(7) & GUI2.list_p2.contains(9))) & GUI2.clicked[8] == false) {
fieldki = GUI2.field8;
p = 8;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
} else if (((GUI2.list_p2.contains(1) & GUI2.list_p2.contains(5))
|| (GUI2.list_p2.contains(3) & GUI2.list_p2.contains(6))
|| (GUI2.list_p2.contains(7) & GUI2.list_p2.contains(8))) & GUI2.clicked[9] == false) {
fieldki = GUI2.field9;
p = 9;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
}
// Spieler gewinnmöglichkeiten werden geprüft
else if (((GUI2.list_p1.contains(2) & GUI2.list_p1.contains(3))
|| (GUI2.list_p1.contains(4) & GUI2.list_p1.contains(7))
|| (GUI2.list_p1.contains(5) & GUI2.list_p1.contains(9))) & GUI2.clicked[1] == false) {
fieldki = GUI2.field1;
p = 1;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
} else if (((GUI2.list_p1.contains(1) & GUI2.list_p1.contains(3))
|| (GUI2.list_p1.contains(5) & GUI2.list_p1.contains(8))) & GUI2.clicked[2] == false) {
fieldki = GUI2.field2;
p = 2;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
}
else if (((GUI2.list_p1.contains(1) & GUI2.list_p1.contains(2))
|| (GUI2.list_p1.contains(6) & GUI2.list_p1.contains(9))
|| (GUI2.list_p1.contains(5) & GUI2.list_p1.contains(7))) & GUI2.clicked[3] == false) {
fieldki = GUI2.field3;
p = 3;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
} else if (((GUI2.list_p1.contains(1) & GUI2.list_p1.contains(7))
|| (GUI2.list_p1.contains(5) & GUI2.list_p1.contains(6))) & GUI2.clicked[4] == false) {
fieldki = GUI2.field4;
p = 4;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
} else if (((GUI2.list_p1.contains(1) & GUI2.list_p1.contains(9))
|| (GUI2.list_p1.contains(2) & GUI2.list_p1.contains(8))
|| (GUI2.list_p1.contains(3) & GUI2.list_p1.contains(7))
|| (GUI2.list_p1.contains(4) & GUI2.list_p1.contains(6))) & GUI2.clicked[5] == false) {
fieldki = GUI2.field5;
p = 5;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
} else if (((GUI2.list_p1.contains(3) & GUI2.list_p1.contains(9))
|| (GUI2.list_p1.contains(4) & GUI2.list_p1.contains(5))) & GUI2.clicked[6] == false) {
fieldki = GUI2.field6;
p = 6;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
}
else if (((GUI2.list_p1.contains(1) & GUI2.list_p1.contains(4))
|| (GUI2.list_p1.contains(3) & GUI2.list_p1.contains(5))
|| (GUI2.list_p1.contains(8) & GUI2.list_p1.contains(9))) & GUI2.clicked[7] == false) {
fieldki = GUI2.field7;
p = 7;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
}
else if (((GUI2.list_p1.contains(2) & GUI2.list_p1.contains(5))
|| (GUI2.list_p1.contains(7) & GUI2.list_p1.contains(9))) & GUI2.clicked[8] == false) {
fieldki = GUI2.field8;
p = 8;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
}
else if (((GUI2.list_p1.contains(1) & GUI2.list_p1.contains(5))
|| (GUI2.list_p1.contains(3) & GUI2.list_p1.contains(6))
|| (GUI2.list_p1.contains(7) & GUI2.list_p1.contains(8))) & GUI2.clicked[9] == false) {
fieldki = GUI2.field9;
p = 9;
fieldki.setIcon(circle);
fieldki.setBorder(ub);
GUI2.frame.repaint();
field_list(p);
GUI2.x = true;
GUI2.clicked[p] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
}
else {
int f = 1 + rand.nextInt(9);
while (GUI2.list_p2.contains(f) | GUI2.list_p1.contains(f)) {
f = 1 + rand.nextInt(9);
}
switch (f) {
case 1:
GUI2.field1.setIcon(circle);
GUI2.field1.setBorder(ub);
GUI2.frame.repaint();
field_list(1);
GUI2.x = true;
GUI2.clicked[1] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
break;
case 2:
GUI2.field2.setIcon(circle);
GUI2.field2.setBorder(ub);
GUI2.frame.repaint();
field_list(2);
GUI2.x = true;
GUI2.clicked[2] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
break;
case 3:
GUI2.field3.setIcon(circle);
GUI2.field3.setBorder(ub);
GUI2.frame.repaint();
field_list(3);
GUI2.x = true;
GUI2.clicked[3] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
break;
case 4:
GUI2.field4.setIcon(circle);
GUI2.field4.setBorder(ub);
GUI2.frame.repaint();
field_list(4);
GUI2.x = true;
GUI2.clicked[4] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
break;
case 5:
GUI2.field5.setIcon(circle);
GUI2.field5.setBorder(ub);
GUI2.frame.repaint();
field_list(5);
GUI2.x = true;
GUI2.clicked[1] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
break;
case 6:
GUI2.field6.setIcon(circle);
GUI2.field6.setBorder(ub);
GUI2.frame.repaint();
field_list(6);
GUI2.x = true;
GUI2.clicked[6] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
break;
case 7:
GUI2.field7.setIcon(circle);
GUI2.field7.setBorder(ub);
GUI2.frame.repaint();
field_list(7);
GUI2.x = true;
GUI2.clicked[7] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
break;
case 8:
GUI2.field8.setIcon(circle);
GUI2.field8.setBorder(ub);
GUI2.frame.repaint();
field_list(8);
GUI2.x = true;
GUI2.clicked[8] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
break;
case 9:
GUI2.field9.setIcon(circle);
GUI2.field9.setBorder(ub);
GUI2.frame.repaint();
field_list(9);
GUI2.x = true;
GUI2.clicked[9] = true;
System.out.println(GUI2.list_p2);
GUI2.gameWin();
break;
}
}
}
}
//ActionListener
package P2C;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import Main.Main;
public class AL implements ActionListener {
GUI_1P frame;
public AL(GUI_1P frame) {
this.frame = frame;
}
@Override
public void actionPerformed(ActionEvent e) {
String s = e.getActionCommand();
if ("Reset".equals(s)) {
frame.setName1("");
frame.setName2(frame.kiName());
}
if ("Start".contentEquals(s)) {
Main.setNames(frame.getName(), frame.getName2());
frame.dispose();
Main.startGUI2();
}
if ("Zurück".equals(s)) {
frame.dispose();
Main.startGUI_W();
}
}
}
Bitte seid gnädig xD wäre bestimmt auch kompakter gegangen ich bin aber jetz erstmal froh das es läuft ^^
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
