Autor |
Beitrag |
Chrischuh
      
Beiträge: 124
Erhaltene Danke: 1
Win 7
Turbo Delphi
|
Verfasst: So 13.06.10 15:38
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: de.wikipedia.org/wik...ays_Spiel_des_Lebens
Einloggen, um Attachments anzusehen!
Zuletzt bearbeitet von Chrischuh am Di 15.06.10 19:22, insgesamt 11-mal bearbeitet
Für diesen Beitrag haben gedankt: Delphi-Laie
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: 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
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
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
Chrischuh 
      
Beiträge: 124
Erhaltene Danke: 1
Win 7
Turbo Delphi
|
Verfasst: 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
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: 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
edit: version 0.4 na chick, kaum noch last
Gruss ALf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
Chrischuh 
      
Beiträge: 124
Erhaltene Danke: 1
Win 7
Turbo Delphi
|
Verfasst: 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
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: 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
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
Chrischuh 
      
Beiträge: 124
Erhaltene Danke: 1
Win 7
Turbo Delphi
|
Verfasst: 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
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: So 13.06.10 17:02
Oh sorry  Das Game kenn ich noch nicht mal, spiele ich kaum irgend welche Spiele!
Gruss Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
Chrischuh 
      
Beiträge: 124
Erhaltene Danke: 1
Win 7
Turbo Delphi
|
Verfasst: So 13.06.10 17:10
Ein richtiges Spiel ist es eig nicht
de.wikipedia.org/wik...ays_Spiel_des_Lebens
Danke für deine Vorschläge, hast sehr geholfen
Chrischuh
|
|
Delphi-Laie
      
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: 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
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: So 13.06.10 17:19
Was ist denn die Gleiter-Kanone?
Screenshot wäre nicht schlecht. 
|
|
Delphi-Laie
      
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: 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 
      
Beiträge: 124
Erhaltene Danke: 1
Win 7
Turbo Delphi
|
Verfasst: So 13.06.10 17:35
Neue Map ist jetzt Neue Welt
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
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: So 13.06.10 17:38
Chrischuh hat folgendes geschrieben : | Weil das Blinken wird ja immernoch berechnet. |
Habs verstanden  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
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
Chrischuh 
      
Beiträge: 124
Erhaltene Danke: 1
Win 7
Turbo Delphi
|
Verfasst: So 13.06.10 17:51
Habe noch ein Paar geschwindigkeitsbremsen entfernt. Die Gleiterkanone schießt wieder flüssig^^
|
|
Chrischuh 
      
Beiträge: 124
Erhaltene Danke: 1
Win 7
Turbo Delphi
|
Verfasst: 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
      
Beiträge: 1207
Erhaltene Danke: 31
Win 10
Delphi 2009 Pro, C++ (Visual Studio)
|
Verfasst: 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
      
Beiträge: 114
Erhaltene Danke: 2
Windows 7
Turbo Delphi, Dev C++
|
Verfasst: 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. 
|
|
Delphi-Laie
      
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: 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
      
Beiträge: 1207
Erhaltene Danke: 31
Win 10
Delphi 2009 Pro, C++ (Visual Studio)
|
Verfasst: 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").
|
|