J
justme
Gast
Hi noch ein letztes Mal!
Ich habe mein Spiel (TicTacToe) schon fast fertig, es funktioniert alles tadenlos, bis auf eine Kleinigkeit die mir aber noch wichtig ist:
String score1;
JLabel(score1);
durch aufrufen von den richtigen Methoden erhöht sich der String score1 um 1 (derzeit durch Methodenaufruf)
Mein Problem ist, das sich score1 von 0 auf 1 erhöht, aber im JLabel wird noch immer nur 0 angezeigt!
Ich habe es mit repaint(); versucht, doch das hat auch nichts genutzt, darum wollte ich fragen, woran liegt das?
mfg danke
PS: Code als Anhang
Ich habe mein Spiel (TicTacToe) schon fast fertig, es funktioniert alles tadenlos, bis auf eine Kleinigkeit die mir aber noch wichtig ist:
String score1;
JLabel(score1);
durch aufrufen von den richtigen Methoden erhöht sich der String score1 um 1 (derzeit durch Methodenaufruf)
Mein Problem ist, das sich score1 von 0 auf 1 erhöht, aber im JLabel wird noch immer nur 0 angezeigt!
Ich habe es mit repaint(); versucht, doch das hat auch nichts genutzt, darum wollte ich fragen, woran liegt das?
mfg danke
PS: Code als Anhang
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class GUI extends JFrame
{
private boolean gewonnen = false;
private int spieler = 1;
private String score1 = "0";
private String score2 = "0";
int[][] spielfeld = new int[3][3];
GUI gui;
JDialog dialog = new JDialog(gui, "Score", true);
JButton eins = new JButton();
JButton zwei = new JButton();
JButton drei = new JButton();
JButton vier = new JButton();
JButton funf = new JButton();
JButton sechs = new JButton();
JButton sieben = new JButton();
JButton acht = new JButton();
JButton neun = new JButton();
JLabel spieler1 = new JLabel("Spieler 1 : ");
JLabel spieler2 = new JLabel("Spieler 2 : ");
JLabel spieler1score = new JLabel(score1);
JLabel spieler2score = new JLabel(score2);
JMenuBar menuBar = new JMenuBar();
JMenu gameMenu = new JMenu("Spiel");
JMenuItem newGame = new JMenuItem("Neues Spiel");
JMenuItem score = new JMenuItem("Score");
JMenuItem exitGame = new JMenuItem("Spiel beenden");
public GUI()
{
dialog.setVisible(false);
dialog.setLayout(new FlowLayout());
dialog.setSize(100, 75);
dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
dialog.add(spieler1);
dialog.add(spieler1score);
dialog.add(spieler2);
dialog.add(spieler2score);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setJMenuBar(menuBar);
menuBar.add(gameMenu);
gameMenu.add(newGame);
gameMenu.addSeparator();
gameMenu.add(score);
gameMenu.addSeparator();
gameMenu.add(exitGame);
setLayout(new GridLayout(3, 3));
setPreferredSize(new Dimension(175, 200));
add(eins);
add(zwei);
add(drei);
add(vier);
add(funf);
add(sechs);
add(sieben);
add(acht);
add(neun);
pack();
setResizable(true);
setTitle("TicTacToe");
setVisible(true);
//Menuevents
newGame.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
gewonnen = false;
loscheSpielfeld();
buttonLabelZurucksetzen();
zeigeSpielfeld();
spieler = 1;
}
});
score.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
dialog.setVisible(true);
dialog.repaint();
}
});
exitGame.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(1);
}
});
//Buttonevents
eins.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(spielfeld[0][0] == 0 && gewonnen == false)
{
if(spieler == 1)
{
eins.setText("X");
spielfeld[0][0] = 1;
spieler = 2;
gewonnen();
}
else
{
eins.setText("O");
spielfeld[0][0] = 2;
spieler = 1;
gewonnen();
}
}
zeigeSpielfeld();
}
});
zwei.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(spielfeld[0][1] == 0 && gewonnen == false)
{
if(spieler == 1)
{
zwei.setText("X");
spielfeld[0][1] = 1;
spieler = 2;
gewonnen();
}
else
{
zwei.setText("O");
spielfeld[0][1] = 2;
spieler = 1;
gewonnen();
}
}
zeigeSpielfeld();
}
});
drei.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(spielfeld[0][2] == 0 && gewonnen == false)
{
if(spieler == 1)
{
drei.setText("X");
spielfeld[0][2] = 1;
spieler = 2;
gewonnen();
}
else
{
drei.setText("O");
spielfeld[0][2] = 2;
spieler = 1;
gewonnen();
}
}
zeigeSpielfeld();
}
});
vier.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(spielfeld[1][0] == 0 && gewonnen == false)
{
if(spieler == 1)
{
vier.setText("X");
spielfeld[1][0] = 1;
spieler = 2;
gewonnen();
}
else
{
vier.setText("O");
spielfeld[1][0] = 2;
spieler = 1;
gewonnen();
}
}
zeigeSpielfeld();
}
});
funf.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(spielfeld[1][1] == 0 && gewonnen == false)
{
if(spieler == 1)
{
funf.setText("X");
spielfeld[1][1] = 1;
spieler = 2;
gewonnen();
}
else
{
funf.setText("O");
spielfeld[1][1] = 2;
spieler = 1;
gewonnen();
}
}
zeigeSpielfeld();
}
});
sechs.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(spielfeld[1][2] == 0 && gewonnen == false)
{
if(spieler == 1)
{
sechs.setText("X");
spielfeld[1][2] = 1;
spieler = 2;
gewonnen();
}
else
{
sechs.setText("O");
spielfeld[1][2] = 2;
spieler = 1;
gewonnen();
}
}
zeigeSpielfeld();
}
});
sieben.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(spielfeld[2][0] == 0 && gewonnen == false)
{
if(spieler == 1)
{
sieben.setText("X");
spielfeld[2][0] = 1;
spieler = 2;
gewonnen();
}
else
{
sieben.setText("O");
spielfeld[2][0] = 2;
spieler = 1;
gewonnen();
}
}
zeigeSpielfeld();
}
});
acht.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(spielfeld[2][1] == 0 && gewonnen == false)
{
if(spieler == 1)
{
acht.setText("X");
spielfeld[2][1] = 1;
spieler = 2;
gewonnen();
}
else
{
acht.setText("O");
spielfeld[2][1] = 2;
spieler = 1;
gewonnen();
}
}
zeigeSpielfeld();
}
});
neun.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(spielfeld[2][2] == 0 && gewonnen == false)
{
if(spieler == 1)
{
neun.setText("X");
spielfeld[2][2] = 1;
spieler = 2;
gewonnen();
}
else
{
neun.setText("O");
spielfeld[2][2] = 2;
spieler = 1;
gewonnen();
}
}
zeigeSpielfeld();
}
});
zeigeSpielfeld();
}
public void gewonnen()
{
if(spielfeld[0][0] == 1 && spielfeld[0][1] == 1 && spielfeld[0][2] == 1 ||
spielfeld[1][0] == 1 && spielfeld[1][1] == 1 && spielfeld[1][2] == 1 ||
spielfeld[2][0] == 1 && spielfeld[2][1] == 1 && spielfeld[2][2] == 1 ||
spielfeld[0][0] == 1 && spielfeld[1][0] == 1 && spielfeld[2][0] == 1 ||
spielfeld[0][1] == 1 && spielfeld[1][1] == 1 && spielfeld[2][1] == 1 ||
spielfeld[0][2] == 1 && spielfeld[1][2] == 1 && spielfeld[2][2] == 1 ||
spielfeld[0][0] == 1 && spielfeld[1][1] == 1 && spielfeld[2][2] == 1 ||
spielfeld[0][2] == 1 && spielfeld[1][1] == 1 && spielfeld[2][0] == 1)
gewonnen = true;
else if(spielfeld[0][0] == 2 && spielfeld[0][1] == 2 && spielfeld[0][2] == 2 ||
spielfeld[1][0] == 2 && spielfeld[1][1] == 2 && spielfeld[1][2] == 2 ||
spielfeld[2][0] == 2 && spielfeld[2][1] == 2 && spielfeld[2][2] == 2 ||
spielfeld[0][0] == 2 && spielfeld[1][0] == 2 && spielfeld[2][0] == 2 ||
spielfeld[0][1] == 2 && spielfeld[1][1] == 2 && spielfeld[2][1] == 2 ||
spielfeld[0][2] == 2 && spielfeld[1][2] == 2 && spielfeld[2][2] == 2 ||
spielfeld[0][0] == 2 && spielfeld[1][1] == 2 && spielfeld[2][2] == 2 ||
spielfeld[0][2] == 2 && spielfeld[1][1] == 2 && spielfeld[2][0] == 2)
gewonnen = true;
}
public void buttonLabelZurucksetzen()
{
eins.setText("");
zwei.setText("");
drei.setText("");
vier.setText("");
funf.setText("");
sechs.setText("");
sieben.setText("");
acht.setText("");
neun.setText("");
}
public void loscheSpielfeld()
{
for(int i = 0; i < 3; i++)
for(int y = 0; y < 3; y++)
spielfeld[i][y] = 0;
}
public void zeigeSpielfeld()
{
for(int i = 0; i < 3; i++)
{
for(int y = 0; y < 3; y++)
System.out.print(spielfeld[i][y]);
System.out.println();
}
}
public static void main(String[] Args)
{
GUI gui = new GUI();
}
public void erhoheString()
{
Integer a = Integer.decode(score1);
a++;
score1 = a.toString();
}
}