G
GTA 3
Guest
[Java] Benötige Hilfe!
Hi,
bin grad dabei Tic Tac Toe zu programmieren aber ich hab jetzt eines der Mommente wo ich nicht weiß wie ich weiter machen soll.
Hier erstmal der Code:
Und zwar will ich jetzt einbauen das das Spiel jetzt erkennen soll, wer gewonnen hat und wer nicht
Nur leider weiß ich hier jetzt nicht weiter.... Hoffe ihr könnt mir helfen.
Hier sind noch die anderen Klassen.
Ich weiß, mit ner normalen If-SChleife aber wenn ich button[0] z.B. schreib, bekomm ich immer einen Compilerfehler, wie würdet ihr das machen ?
Gruß
Hi,
bin grad dabei Tic Tac Toe zu programmieren aber ich hab jetzt eines der Mommente wo ich nicht weiß wie ich weiter machen soll.
Hier erstmal der Code:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Oberflaeche extends JFrame {
private Steuerung dieSteuerung = new Steuerung();
public Oberflaeche() {
getContentPane().add(new Inhalt(dieSteuerung));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
Oberflaeche dieOberflaeche = new Oberflaeche();
dieOberflaeche.setTitle("Tic-Tac-Toe 1.0");
dieOberflaeche.setResizable(false);
dieOberflaeche.setVisible(true);
dieOberflaeche.setSize(600+dieOberflaeche.getInsets().left+dieOberflaeche.getInsets().right,600+dieOberflaeche.getInsets().top+dieOberflaeche.getInsets().bottom);
}
}
class Inhalt extends JPanel {
private Steuerung dieSteuerung;
public Inhalt(Steuerung steu) {
dieSteuerung = steu;
setLayout(null);
JButton starteSpiel = new JButton("Spiel starten");
final Icon player0 = new ImageIcon("./player0.gif");
final Icon player1 = new ImageIcon("./player1.gif");
final JLabel button[] = new JLabel[9];
int firstStart = 0;
JLabel spielstand[] = new JLabel[2];
final int buttonPressed[] = {0,0,0,0,0,0,0,0,0};
final int currentPlayer = 0;
if(firstStart == 0) {
NewGame.main(steu);
firstStart = 1;
}
// Spielbuttons
button[0] = new JLabel();
button[0].setBackground(new java.awt.Color(2,64,1));
button[0].setBounds(115,115,120,120);
add(button[0]);
button[1] = new JLabel();
button[1].setBounds(240,115,120,120);
button[1].setBackground(new Color(2,64,1));
add(button[1]);
button[2] = new JLabel();
button[2].setBounds(365,115,121,121);
button[2].setBackground(new Color(2,64,1));
add(button[2]);
button[3] = new JLabel();
button[3].setBounds(115,240,120,120);
button[3].setBackground(new Color(2,64,1));
add(button[3]);
button[4] = new JLabel();
button[4].setBounds(240,240,120,120);
button[4].setBackground(new Color(2,64,1));
add(button[4]);
button[5] = new JLabel();
button[5].setBounds(365,240,120,120);
button[5].setBackground(new Color(2,64,1));
add(button[5]);
button[6] = new JLabel();
button[6].setBounds(115,365,120,120);
button[6].setBackground(new Color(2,64,1));
add(button[6]);
button[7] = new JLabel();
button[7].setBounds(240,365,120,120);
button[7].setBackground(new Color(2,64,1));
add(button[7]);
button[8] = new JLabel();
button[8].setBounds(365,365,120,120);
button[8].setBackground(new Color(2,64,1));
add(button[8]);
spielstand[0] = new JLabel("0");
spielstand[0].setBounds(239,527,49,61);
spielstand[0].setHorizontalAlignment(SwingConstants.CENTER);
spielstand[0].setFont(spielstand[0].getFont().deriveFont(32f));
spielstand[0].setForeground(Color.white);
add(spielstand[0]);
JLabel trenner = new JLabel(":");
trenner.setBounds(288,527,25,61);
trenner.setHorizontalAlignment(SwingConstants.CENTER);
trenner.setFont(trenner.getFont().deriveFont(32f));
trenner.setForeground(Color.white);
add(trenner);
spielstand[1] = new JLabel("0");
spielstand[1].setBounds(313,527,49,61);
spielstand[1].setHorizontalAlignment(SwingConstants.CENTER);
spielstand[1].setFont(spielstand[1].getFont().deriveFont(32f));
spielstand[1].setForeground(Color.white);
add(spielstand[1]);
JLabel vslayer = new JLabel((String)(NewGameGUI.namePlayer1.getText())+" VS "+(String)(NewGameGUI.namePlayer2.getText()));
vslayer.setHorizontalAlignment(SwingConstants.CENTER);
vslayer.setBounds(250,15,300,20);
add(vslayer);
//starteSpielButton
add(starteSpiel);
starteSpiel.setBounds(10,10,200,40);
starteSpiel.setBackground(new Color(122,139,139));
starteSpiel.setForeground(new Color(250,200,0));
starteSpiel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
for(int i = 0; i<=8; i++) {
button.setIcon(null);
buttonPressed = 0;
}
}
});
button[0].addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
if(buttonPressed[0] == 0) {
if(dieSteuerung.getPlayer() == 0) {
button[0].setIcon(player0);
dieSteuerung.changePlayer();
} else {
button[0].setIcon(player1);
dieSteuerung.changePlayer();
}
// dieSteuerung.setPoint(1);
buttonPressed[0] = 1;
}
}
});
button[1].addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
if(buttonPressed[1] == 0) {
if(dieSteuerung.getPlayer() == 0) {
button[1].setIcon(player0);
dieSteuerung.changePlayer();
} else {
button[1].setIcon(player1);
dieSteuerung.changePlayer();
}
// dieSteuerung.setPoint(1);
buttonPressed[1] = 1;
}
}
});
button[2].addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
if(buttonPressed[2] == 0) {
if(dieSteuerung.getPlayer() == 0) {
button[2].setIcon(player0);
dieSteuerung.changePlayer();
} else {
button[2].setIcon(player1);
dieSteuerung.changePlayer();
}
// dieSteuerung.setPoint(2);
buttonPressed[2] = 1;
}
}
});
button[3].addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
if(buttonPressed[3] == 0) {
if(dieSteuerung.getPlayer() == 0) {
button[3].setIcon(player0);
dieSteuerung.changePlayer();
} else {
button[3].setIcon(player1);
dieSteuerung.changePlayer();
}
// dieSteuerung.setPoint(3);
buttonPressed[3] = 1;
}
}
});
button[4].addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
if(buttonPressed[4] == 0) {
if(dieSteuerung.getPlayer() == 0) {
button[4].setIcon(player0);
dieSteuerung.changePlayer();
} else {
button[4].setIcon(player1);
dieSteuerung.changePlayer();
}
// dieSteuerung.setPoint(4);
buttonPressed[4] = 1;
}
}
});
button[5].addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
if(buttonPressed[5] == 0) {
if(dieSteuerung.getPlayer() == 0) {
button[5].setIcon(player0);
dieSteuerung.changePlayer();
} else {
button[5].setIcon(player1);
dieSteuerung.changePlayer();
}
// dieSteuerung.setPoint(5);
buttonPressed[5] = 1;
}
}
});
button[6].addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
if(buttonPressed[6] == 0) {
if(dieSteuerung.getPlayer() == 0) {
button[6].setIcon(player0);
dieSteuerung.changePlayer();
} else {
button[6].setIcon(player1);
dieSteuerung.changePlayer();
}
// dieSteuerung.setPoint(6);
buttonPressed[6] = 1;
}
}
});
button[7].addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
if(buttonPressed[7] == 0) {
if(dieSteuerung.getPlayer() == 0) {
button[7].setIcon(player0);
dieSteuerung.changePlayer();
} else {
button[7].setIcon(player1);
dieSteuerung.changePlayer();
}
// dieSteuerung.setPoint(7);
buttonPressed[7] = 1;
}
}
});
button[8].addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
if(buttonPressed[8] == 0) {
if(dieSteuerung.getPlayer() == 0) {
button[8].setIcon(player0);
dieSteuerung.changePlayer();
} else {
button[8].setIcon(player1);
dieSteuerung.changePlayer();
}
// dieSteuerung.setPoint(8);
buttonPressed[8] = 1;
}
}
});
}
//* public void win(int buttonPressed){
//if(buttonPressed[0]==1&&buttonPressed[1]==1&&buttonPressed[2]==1){
// System.out.println("You Win!");
//}
//}
public void paintComponent(Graphics g) {
g.drawImage(getToolkit().getImage("./background.jpg"),0,0,null);
}
}
class NewGame extends JFrame {
public NewGame(Steuerung steu) {
getContentPane().add(new NewGameGUI(steu,this));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(Steuerung steu) {
NewGame dieOberflaeche = new NewGame(steu);
dieOberflaeche.setTitle("Willkommen!");
dieOberflaeche.setResizable(false);
dieOberflaeche.setAlwaysOnTop(true);
dieOberflaeche.setVisible(true);
dieOberflaeche.setSize(500+dieOberflaeche.getInsets().left+dieOberflaeche.getInsets().right,150+dieOberflaeche.getInsets().top+dieOberflaeche.getInsets().bottom);
}
}
class NewGameGUI extends JPanel {
static JTextField namePlayer1 = new JTextField(20);
static JTextField namePlayer2 = new JTextField(20);
static JFrame frame;
public NewGameGUI(Steuerung steu,JFrame frame) {
setLayout(null);
this.frame = frame;
namePlayer1.setBounds(100,70,350,20);
add(namePlayer1);
namePlayer2.setBounds(100,90,350,20);
add(namePlayer2);
JLabel willkommen = new JLabel("Willkommen!");
willkommen.setHorizontalAlignment(SwingConstants.CENTER);
willkommen.setBounds(0,0,500,40);
add(willkommen);
JLabel willkommenText = new JLabel("Bitte gebt nachfolgend eure Namen ein, um ein neues Spiel zu beginnen.");
willkommenText.setHorizontalAlignment(SwingConstants.CENTER);
willkommenText.setBounds(0,30,500,40);
add(willkommenText);
JLabel player1 = new JLabel("Player 1:");
player1.setHorizontalAlignment(SwingConstants.CENTER);
player1.setBounds(0,70,100,20);
add(player1);
JLabel player2 = new JLabel("Player 2:");
player2.setHorizontalAlignment(SwingConstants.CENTER);
player2.setBounds(0,90,100,20);
add(player2);
JTextField namePlayer1 = new JTextField(20);
namePlayer1.setBounds(100,70,350,20);
add(namePlayer1);
JTextField namePlayer2 = new JTextField(20);
namePlayer2.setBounds(100,90,350,20);
add(namePlayer2);
JButton ok = new JButton("OK");
ok.setBounds(200,120,100,20);
add(ok);
ok.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e){
NewGameGUI.frame.dispose();
}
});
}
public String namePlayer1getText(){
return namePlayer1.getText();
}
public String namePlayer2getText(){
return namePlayer2.getText();
}
}
Und zwar will ich jetzt einbauen das das Spiel jetzt erkennen soll, wer gewonnen hat und wer nicht
Nur leider weiß ich hier jetzt nicht weiter.... Hoffe ihr könnt mir helfen.
Hier sind noch die anderen Klassen.
public class Steuerung {
private int currentPlayer = 0;
public int getPlayer() {
return currentPlayer;
}
public void changePlayer() {
if(currentPlayer == 0) {
currentPlayer = 1;
} else {
currentPlayer = 0;
}
}
}
public class Daten extends Steuerung {
private String spieler;
private int spielpunkte;
private int spielzug = 0;
private int[] punktespieler = new int[9];
public Daten (String spieler) {
this.spieler = spieler;
spielpunkte = 0;
}
public void setPoint(int feld) {
punktespieler[spielzug] = feld;
spielzug++;
}
}
Gruß
Zuletzt bearbeitet: