Hi,
ich habe einen zweidimensionalen Array und möchte diesen zeichenen. Er soll den Array durchgehen und dann für die bestimmten Symbole andere Symbole in das Textfield schreiben, sodass ein Spielbrett rauskommt. Leider habe ich den Fehler drin, dass er jedesmal das textfield löscht und das nächste Symbol einträgt. Wie kann ich es erreichen, dass es erst alle Symbole auswertet, in das Textfeld schreibt, sodass mein Spielbrett rauskommt.
Das Spielbrett soll so aussehen.
XX***
XX***
*******
***0***
*******
XX***
XX***
Ich weiß wie man es die Dosbox schreibt aber nicht wie ich es in einen textfield macht.
ich habe einen zweidimensionalen Array und möchte diesen zeichenen. Er soll den Array durchgehen und dann für die bestimmten Symbole andere Symbole in das Textfield schreiben, sodass ein Spielbrett rauskommt. Leider habe ich den Fehler drin, dass er jedesmal das textfield löscht und das nächste Symbol einträgt. Wie kann ich es erreichen, dass es erst alle Symbole auswertet, in das Textfeld schreibt, sodass mein Spielbrett rauskommt.
Das Spielbrett soll so aussehen.
XX***
XX***
*******
***0***
*******
XX***
XX***
Ich weiß wie man es die Dosbox schreibt aber nicht wie ich es in einen textfield macht.
Code:
import java.awt.*;
import java.awt.event.*;
public class oberflaeche_solitaer extends Frame {
// Anfang Variablen
private TextArea brett = new TextArea("", 1, 1, TextArea.SCROLLBARS_NONE);
private Button start_button= new Button();
private static int start[][] = {
{ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },
{ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },
{ 8, 8, 8, 8, 0, 0, 0, 8, 8, 8, 8 },
{ 8, 8, 8, 8, 0, 0, 0, 8, 8, 8, 8 },
{ 8, 8, 0, 0, 0, 0, 0, 0, 0, 8, 8 },
{ 8, 8, 0, 0, 0, 1, 0, 0, 0, 8, 8 },
{ 8, 8, 0, 0, 0, 0, 0, 0, 0, 8, 8 },
{ 8, 8, 8, 8, 0, 0, 0, 8, 8, 8, 8 },
{ 8, 8, 8, 8, 0, 0, 0, 8, 8, 8, 8 },
{ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },
{ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 }
};
private final static int end[][] = {
{ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },
{ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },
{ 8, 8, 8, 8, 1, 1, 1, 8, 8, 8, 8 },
{ 8, 8, 8, 8, 1, 1, 1, 8, 8, 8, 8 },
{ 8, 8, 1, 1, 1, 1, 1, 1, 1, 8, 8 },
{ 8, 8, 1, 1, 1, 0, 1, 1, 1, 8, 8 },
{ 8, 8, 1, 1, 1, 1, 1, 1, 1, 8, 8 },
{ 8, 8, 8, 8, 1, 1, 1, 8, 8, 8, 8 },
{ 8, 8, 8, 8, 1, 1, 1, 8, 8, 8, 8 },
{ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },
{ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 }
};
private static int equal = 0;
private static void printBoard() { // Zeichnung des Brettes wird erstellt
for (int y = 2; y < 9; y++) {
for (int x = 2; x < 9; x++) {
switch (start[y][x]) {
case 8:
brett.setText(" ");
break;
case 1:
brett.setText("*");
break;
case 0:
brett.setText("O");
break;
}
}
brett.setText();
}
brett.setText();
}
// Ende Variablen
public oberflaeche_solitaer(String title) {
// Frame-Initialisierung
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) { System.exit(0); }
});
int frameWidth = 300;
int frameHeight = 300;
setSize(frameWidth, frameHeight);
Panel cp = new Panel(null);
add(cp);
// Anfang Komponenten
brett.setBounds(24, 16, 193, 145);
brett.setText("(Strings)");
cp.add(brett);
start_button.setBounds(24, 176, 105, 25);
start_button.setLabel("Start");
cp.add(start_button);
start_button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
button1ActionPerformed(evt);
}
});
// Ende Komponenten
setResizable(false);
setVisible(true);
}
// Anfang Ereignisprozeduren
public void button1ActionPerformed(ActionEvent evt) {
printBoard();
}
// Ende Ereignisprozeduren
public static void main(String[] args) {
new oberflaeche_solitaer("oberflaeche_solitaer");
for (int x = 2; x < 9; x++) {
for (int y = 2; y < 9; y++) {
if (start[y][x] == end[y][x])
equal++;
}
}
/*if (!check()) {
System.out.println("keine Lösung gefunden");
System.out.println();
} */
}
}