Entwickler-Ecke
Freeware Projekte - Ein weiteres Game of Life
Chrischuh - So 13.06.10 15:38
Titel: Ein weiteres Game of Life
Moin,
hier ein kleiner Game of Life Clon.
Features:
Start/Stop
Laden/Speichern
Einstellbare Map größe. (Einziges Limit die Pc leistung)
Gitter ein/aus
Zoomen
Zellen-Zählen
einzelne Generation
Als Beispiel ist die Gleiter-Kanone dabei.
Viel Spaß^^
Chrischuh
Edit: Für alle die Game of Life nicht kennen:
http://de.wikipedia.org/wiki/Conways_Spiel_des_Lebens
ALF - So 13.06.10 15:51
Darf ich fragen, was Dein Programm nach dem Starten und im Stopmodus soviel Prozessorleistung zieht!
35% bei 3kernel ist doch schon deftig :gruebel:
Eigentlich dürfte ja zu diesem Zeitpunkt nichts mehr passieren?
Das gleiche ist auch wenn nichts mehr passiert, ich nicht stoppe läuft der Zähler weiter!
Ansonsten farblich Effekte währen auch schön.
Gruss Alf
Chrischuh - So 13.06.10 16:02
Hast recht, das ist komisch, warscheinlich weil onIdle die ganze Zeit aktiviert wird und dann doch nix macht. Kann man das einstellen das onidle nicht aktiviert wird?
Farben vllt später.
Danke, werd mich drum kümmern.
//Edit:
Jetzt ist wieder alles mit dem Timer, also nurnoch Cpu Auslastung wenns wirklich nötig ist.
ALF - So 13.06.10 16:27
Ich befürchte mehr, das Du in Deinem Prog, irgend eine Schleife drin hast(zum berechen z.B. oder ähnliches) die schon läuft.
Denn beim Starten des Spiels gibt es ja kaum Leistungveränderung!
Wenn auf der Map nichts mehr passiert zählt der Zähler Generationen trotzdem weiter!?
Hast also noch ein bischen was zu tun :wink:
edit: version 0.4 na chick, kaum noch last :wink:
Gruss ALf
Chrischuh - So 13.06.10 16:39
So, nun stoppt er, sobald es zwischen 2 Generation keine änderung gab.
Ich hoffe nun ist das schleifenproblem gelöst^^
ALF - So 13.06.10 16:47
leider stoppt es nicht!
mach mal ne map grösse=100 und setze Zellen als Kreise Quadrate und starte!
Zum schluss flackern irgenwelche Punkte, das Prog stop nicht und der Zähler läuft weiter!
Gruss Alf
Chrischuh - So 13.06.10 16:55
Aber gehört das nicht so bei GameofLife?
Wenn da was Blink und du nichtmehr weitergucken möchst, dann drück auf Stop :)
Weil das Blinken wird ja immernoch berechnet.
ALF - So 13.06.10 17:02
Oh sorry :oops: Das Game kenn ich noch nicht mal, spiele ich kaum irgend welche Spiele!
Gruss Alf
Delphi-Laie - So 13.06.10 17:16
Wird „neue Map“ (warum ein Anglizismus, der zudem nicht einmal weiblich ist!?) angeklickt, bevor man eine (nichtnegative integre) Größe eingab (also leeres Editfeld), gibt es eine Fehlermeldung. Das gleiche gilt, wenn man eine nichtintegre oder negative integre Größe zuvor eingab. Diese Fehleingabe könnte abgefangen werden.
Ansonsten: Positiver erster Eindruck!
Jakob_Ullmann - So 13.06.10 17:19
Was ist denn die Gleiter-Kanone?
Screenshot wäre nicht schlecht. :wink:
Delphi-Laie - So 13.06.10 17:29
Jakob_Ullmann hat folgendes geschrieben : |
Was ist denn die Gleiter-Kanone? |
Eine Zellansammlung, die periodisch sog. Gleiter produziert und verschickt. Gleiter sind sich fortgewegende Zellansammlungen.
Chrischuh - So 13.06.10 17:35
Neue Map ist jetzt Neue Welt :D
Der Fehler wird nun abgefangen.
Und das Design ist nun etwas bunter.
Edit: Fehlermeldung kommt doch noch bei negativen Zahlen, ist gleich auch weg.
ALF - So 13.06.10 17:38
Chrischuh hat folgendes geschrieben : |
Weil das Blinken wird ja immernoch berechnet. |
Habs verstanden 8) Könnte man auch als Zellinzucht verstehen!
spass
Mit den Farben meinte ich die neuen Generationen die entstehen!?
ansonsten natürlich guter Ansatz :!:
Gruss Alf
Chrischuh - So 13.06.10 17:51
Habe noch ein Paar geschwindigkeitsbremsen entfernt. Die Gleiterkanone schießt wieder flüssig^^
Chrischuh - So 13.06.10 22:13
Jetzt kann man auch mal andere Regeln verwenden, einfach die Regeler verschieben.
Wenn man zum Beipiel bei allen Geraden Sterben und bei allen ungeraden Leben einstellt, und dann folgende strucktur Zeichnet:
X X
XXX
X X
dann enstehen auch coole Muster^^
Flamefire - So 13.06.10 23:10
Ganz gut. Aber warum gibt es verschiedene Farben? Macht bisher keinen Sinn außer Augenkrebs ^^
Was ich noch empfehlen würde: Optimiere es weiter. z.b. dein genanntes H laggt bei 100*100 auf nem C2D 3,5Ghz
Also:
Prozedur optimierung
Multithreading (Du hast ein quadratisches Feld, jede 2er Potenz als Anzahl der Threads macht sich gut. Optimal ist die Anzahl der Prozessoren)
Hugo343 - Mo 14.06.10 10:29
Also ich finde das Spiel janz jut, aber die Farben sind schon ziemlich schrill... Wer wollte da verschiedene Farben für die Zellen, das ist doch nur umso verwirrender. Trotzdem cooles Projekt, bin auch schon am bauen eines eigenen vielleicht kriege ich ja noch ein genauso gutes hin. :wink:
Delphi-Laie - Mo 14.06.10 12:21
Flamefire hat folgendes geschrieben : |
Du hast ein quadratisches Feld, jede 2er Potenz als Anzahl der Threads macht sich gut. Optimal ist die Anzahl der Prozessoren) |
Das bedeutet also, daß das Betriebsprogramm die Threads auf die Prozessoren bzw. Prozessorkerne verteilen kann?
Bei Prozessen war mir das klar, bei Threads (die ja dem gleichen Prozeß angehören) hingegen unbekannt. Für die Suche oder einen neuen Diskussionsstart war es mir aber wiederum nicht wichtig genug.
Flamefire - Mo 14.06.10 15:23
Jeder Prozess hat min. 1 Thread. Jeder Thread ist (mehr oder weniger) eigenständig und wird vom Betriebssystem (-SYSTEM!) auf die Prozessoren (bzw Kerne) verteilt. Da ist es egal, zu welchem Prozess der gehört. Einem Prozess kann keine CPU-Zeit zugeweisen werden, nur einem Thread(="Arbeitseinheit").
Chrischuh - Di 15.06.10 19:25
ich glaub das mit diesen threads lass ich weg^^ zu komplex:D
So die Farben sind jetzt wieder "Normal"
und es wird mit einem leeren 30*30 Feld gestartet.
Jetzt muss ich nurnoch Hugo343's Geschwindigkeit toppen, iwie...
Chrischuh
Flamefire - Di 15.06.10 19:47
Mach beides. Also Threads und bessere Datenstrukturen. Hilft sehr beim Lernen.
Und gerade das ist ein dankbares Bsp für Threads. Auf nem DualCore ein Speedup von ~2
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!