Andre
The Shocker
Tach zusammen
Ich hab als Aufgabe das Game of Life ( http://www.ibiblio.org/lifepatterns/ ) zu erstellen allerdings als wirklich ziemlich abgespeckte Version d.h. die Felder werden gezeichnet ... naja zu meinem Problem. da ich die pausen zwischen den einzelnen spielzügen bis jetzt immer mit einem
gemacht hab ich aber ein start und stop butten hab kann ich nicht während das Programm läuft auf stop klicken um damit er halt aufhört weiter zu berechnen ... meine Frage ist nun: ob es eine möglich kein bzw. einen Befehl gibt der eine pause macht aber nicht direkt alles sperrt? ... habs auch schon mit einer for schleife versucht die bis 65000 hoch zählt aber ich seh an der Schnelligkeit nicht wirklich ein unterschied als wenn ich es einfach so durchlaufen lasse.
hier mal nen kleiner ausschnitt aus meinem Code wo ich die einzelnen spielzüge nach dem klick auf den startButton verarbeite :
der stop Button:
Ps.: Fals ihr noch mehr von dem Code sehen wollt einfach sagen
Ich hab als Aufgabe das Game of Life ( http://www.ibiblio.org/lifepatterns/ ) zu erstellen allerdings als wirklich ziemlich abgespeckte Version d.h. die Felder werden gezeichnet ... naja zu meinem Problem. da ich die pausen zwischen den einzelnen spielzügen bis jetzt immer mit einem
Code:
Thread.sleep(Integer.parseInt(speed.getText()));
hier mal nen kleiner ausschnitt aus meinem Code wo ich die einzelnen spielzüge nach dem klick auf den startButton verarbeite :
Code:
...
SpieldesLebens spiel = new SpieldesLebens();
spiel.bestueckeSpielfeld(Integer.parseInt(lebewesen.getText()), Integer.parseInt(goesse.getText()));
String spielfeld = spiel.ausgeben();
text.setText(spielfeld);
// for (anz_jahre = 0; anz_jahre >= 0; anz_jahre++) {
do {
spiel.spielzug();
text.setText(spielfeld);
String spielfeld1 = spiel.ausgeben();
StringBuffer anzeige = new StringBuffer();
anzeige.append(spielfeld1);
setzeInhalt(anzeige.toString());
labeljahre.setText("" + anz_jahre);
try {
Thread.sleep(Integer.parseInt(speed.getText()));
} catch (InterruptedException exception) {
// ...
}
//zählt wieviele jahre schon gegangen sind
anz_jahre++;
} while (!stop);
// System.out.println("ActionEvent:" + e.getActionCommand());
}
Code:
ActionListener stopbuttonListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
stop = true;
}
};
Ps.: Fals ihr noch mehr von dem Code sehen wollt einfach sagen