Hallo zusammen,
wie schon mal erwähnt bin ich neu in Java. Aktuell stehe ich vor eine Aufgabe an der Uni. Wir sollen das GameOfLife programmieren....oder zumindest einen Teil davon. Aber mir fehlt irgendwie der richtige Ansatz. Ich will hier keine Lösung nur ein wenig Hilfe.
Es gibt ein zweidimensionales Array, das ich durchsuchen muss. Wenn bestimmte Vorgaben erfüllt werden, muss ich im Array etwas ändern.
Diese Bedingungen sind folgende:
Hier mal das Array:
True ist eine lebende Zelle. Wird eine lebende Zelle gefunden, muss die Umgebung überprüft werden. Je nach Ergebnis muss der Zustand ja geändert werden.
Ich will mich erst mal an der ersten Bedingung versuchen. Leider find ich gerade keinen Ansatz dafür. Eine Lösung wäre sicherlich alle mit IF-Abfragen zu machen, wobei mir das sehr unelegant vorkommt. Im Forum habe ich bereits ansätze dazu gefunden. Teilweise hab ich sie nicht verstanden und teilweise waren sie in meinen Augen nicht so gut, da Sie probleme gemacht haben wenn man an den Rand des Arrays kommt.
Hat jemand einen guten Ansatz für mich?
Danke an alle
wie schon mal erwähnt bin ich neu in Java. Aktuell stehe ich vor eine Aufgabe an der Uni. Wir sollen das GameOfLife programmieren....oder zumindest einen Teil davon. Aber mir fehlt irgendwie der richtige Ansatz. Ich will hier keine Lösung nur ein wenig Hilfe.
Es gibt ein zweidimensionales Array, das ich durchsuchen muss. Wenn bestimmte Vorgaben erfüllt werden, muss ich im Array etwas ändern.
Diese Bedingungen sind folgende:
Eine lebende Zelle lebt auch in der Folgegeneration, wenn genau zwei oder drei der acht
benachbarten Zellen in der aktuellen Generation leben.
Eine lebende Zelle stirbt in der Folgegeneration an Einsamkeit oder Überbevölkerung, wenn
in der aktuellen Generation weniger als zwei oder mehr als drei der acht Nachbarzellen
leben.
Eine tote Zelle wird in der Folgegeneration lebendig, wenn genau drei ihrer acht Nachbarn
in der aktuellen Generation lebendig sind.
Unabhängig von den obigen drei Regeln sind die Randzellen (also dienjenigen Zellen, die
nicht genau acht Nachbarn haben) immer tot.
Hier mal das Array:
True ist eine lebende Zelle. Wird eine lebende Zelle gefunden, muss die Umgebung überprüft werden. Je nach Ergebnis muss der Zustand ja geändert werden.
Java:
boolean[][] feld = {
{ false, false, false, false, false },
{ false, false, true, false, false },
{ false, false, true, false, false },
{ false, false, true, false, false },
{ false, false, false, false, false } }
Ich will mich erst mal an der ersten Bedingung versuchen. Leider find ich gerade keinen Ansatz dafür. Eine Lösung wäre sicherlich alle mit IF-Abfragen zu machen, wobei mir das sehr unelegant vorkommt. Im Forum habe ich bereits ansätze dazu gefunden. Teilweise hab ich sie nicht verstanden und teilweise waren sie in meinen Augen nicht so gut, da Sie probleme gemacht haben wenn man an den Rand des Arrays kommt.
Hat jemand einen guten Ansatz für mich?
Danke an alle
Zuletzt bearbeitet: