Hallo zusammen!
Bin mit n paar Schulkameraden des Spiel Tic-Tac-Toe in BlueJ am programmieren und leider gibt's da jetz im Moment ein Problem: Wir bekommens nicht hin, dass nicht bei einem Tastendruck(auf "p1" q,w,e,a,s,d,<,y,x) ein Kreis erscheint und bei Tasten "p2" 1-9 Kreuze.. Im Moment wird bei 1-9 gar nix angezeigt und wenn man anschließend einen der "p1"-Buchstaben drückt, erscheinen auch nur Kreise und zwar auch an den Stellen, wo eig Kreuze "gedrückt" wurden.. Joa.. Vorerst des wichtigste Problem, bitte um eure Hilfe!
Bin mit n paar Schulkameraden des Spiel Tic-Tac-Toe in BlueJ am programmieren und leider gibt's da jetz im Moment ein Problem: Wir bekommens nicht hin, dass nicht bei einem Tastendruck(auf "p1" q,w,e,a,s,d,<,y,x) ein Kreis erscheint und bei Tasten "p2" 1-9 Kreuze.. Im Moment wird bei 1-9 gar nix angezeigt und wenn man anschließend einen der "p1"-Buchstaben drückt, erscheinen auch nur Kreise und zwar auch an den Stellen, wo eig Kreuze "gedrückt" wurden.. Joa.. Vorerst des wichtigste Problem, bitte um eure Hilfe!
Java:
public class AJBOY {
public static void main(String[] args) {
AJBOY big = new AJBOY();
}
private Frame window;
private boolean[][] fields;
public AJBOY(){
window = new Frame();
window.add(panel);
fields = new boolean[3][3]; // per default sind alle Elemente des boolean-Arrays false
window.addKeyListener(new KeyAdapter(){
public void keyReleased(KeyEvent event){
int number = event.getKeyChar()-'0';
if(number > 0 && number < 10){
fields[(number-1)%3][2-(number-1)/3] = true;
panel.repaint();
}
}
});
window.setBounds(100,100,300,300);
window.setBackground(new Color(108, 194, 247));
window.setVisible(true);
window.addKeyListener(new KeyAdapter(){
public void keyReleased(KeyEvent event){
char letter = event.getKeyChar();
if((letter == 'q'))
{
fields[0][0] = true;
panel2.repaint();
}
if((letter == 'w'))
{
fields[1][0] = true;
panel2.repaint();
}
if((letter == 'e'))
{
fields[2][0] = true;
panel2.repaint();
}
if((letter == 'a'))
{
fields[0][1] = true;
panel2.repaint();
}
if((letter == 's'))
{
fields[1][1] = true;
panel2.repaint();
}
if((letter == 'd'))
{
fields[2][1] = true;
panel2.repaint();
}
if((letter == '<'))
{
fields[0][2] = true;
panel2.repaint();
}
if((letter == 'y'))
{
fields[1][2] = true;
panel2.repaint();
}
if((letter == 'x'))
{
fields[2][2] = true;
panel2.repaint();
}
}
});
window.setBounds(100,100,300,300);
window.setVisible(true);
window.setBackground(new Color(108, 194, 247));
}
JPanel panel = new JPanel() {
public void paintComponent(Graphics g){
super.paintComponent(g);
final int fieldSize = getSize().width<getSize().height? getSize().width/3 : getSize().height/3;
g.drawLine(fieldSize, 0, fieldSize, fieldSize*3);
g.drawLine(fieldSize*2, 0, fieldSize*2, fieldSize*3);
g.drawLine(0,fieldSize,fieldSize*3,fieldSize);
g.drawLine(0,fieldSize*2,fieldSize*3,fieldSize*2);
for(int i=0;i<fields.length;++i){
for(int e=0;e<fields[i].length;++e){
if(fields[i][e]){
g.drawOval(i*fieldSize,e*fieldSize,fieldSize-1,fieldSize-1);
}
}
}
}
};
JPanel panel2 = new JPanel() {
public void paintComponent(Graphics g2){
super.paintComponent(g2);
final int fieldSize = getSize().width<getSize().height? getSize().width/3 : getSize().height/3;
g2.drawLine(fieldSize, 0, fieldSize, fieldSize*3);
g2.drawLine(fieldSize*2, 0, fieldSize*2, fieldSize*3);
g2.drawLine(0,fieldSize,fieldSize*3,fieldSize);
g2.drawLine(0,fieldSize*2,fieldSize*3,fieldSize*2);
for(int i=0;i<fields.length;++i){
for(int e=0;e<fields[i].length;++e){
if(fields[i][e]){
g2.drawLine(i*fieldSize,e*fieldSize,i*fieldSize+90,e*fieldSize+90);
g2.drawLine(i*fieldSize,e*fieldSize+90,i*fieldSize+90,e*fieldSize);
}
}
}
}
};
}