Autor |
Beitrag |
Popov
Beiträge: 1655
Erhaltene Danke: 13
WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
|
Verfasst: Fr 08.05.15 13:59
ub60 hat folgendes geschrieben : | Dabei werden allerdings die kompletten Daten direkt in der StringGrid-Eigenschaft Cells gespeichert, was natürlich Software-technisch ein "Verbrechen" ist. |
ub60, das eigentliche Problem beim Speichern der Daten in einem StringGrid ist nicht nur Designtechnisch, sondern auch, dass es bei Game of Life immer die aktuelle und nächste Generation gibt. Hat man nur 1 Array, ob als Variable oder als Komponente wie z. B. StringGrid, kann man durchaus die jeweiligen Zellen nach den GoL Regeln berechnen (also einschalten oder abschalten), das Ergebnis wird aber falsch sein. Denn während die einen Zellen schon das Ergebnis der nächsten Generation sind, sind die anderen Zellen noch bei der Berechnung.
Ein Game of Life braucht also immer zwei Arrays. Das eine mit dem aktuellen Zustand, das zweite für die nächste Generation. Mit einem StringGrid alleine geht es also nicht. Man muss in dem Fall, wie auch immer, ein weiteres Array für die nächste Generation haben. Auch wenn es nur ein temporäres Array ist.
_________________ Popov
|
|
Horst_H
Beiträge: 1653
Erhaltene Danke: 243
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Fr 08.05.15 14:29
Hallo,
man braucht nur 3 Zeilen oder Spalten als Zwischenspeicher, je nachdem ob man zeilen- oder spaltenweise vorgeht.
Die davor, die aktuelle und die dahinter.Das kann ja auch zirkulär machen.
Hier geht es ja nur um möglichst krude Arten das Feld zu generieren.
Ich bekomme bei dem Formgenerator von Delphi-Laie nur 4056 ( ja, nicht 4096 ) Fenster unter WINE.Crtl-Alt BackSpace hat mich gerettet...
Gruß Horst
|
|
ub60
Beiträge: 762
Erhaltene Danke: 127
|
Verfasst: Fr 08.05.15 14:32
Popov hat folgendes geschrieben : |
Ein Game of Life braucht also immer zwei Arrays. |
Popov, Du enttäuscht mich.
Am Anfang des Threads wärst Du mit solch einem Satz eventuell noch durchgekommen.
Jetzt muss ich Dich strengstens kritisieren. Nach den vielen Sinnlosprogrammen (und als Antwort auf meinen Beitrag) sollte der Satz jetzt heißen:
Ein Game of Life braucht also immer zwei Stringgrids.
ub60
|
|
Popov
Beiträge: 1655
Erhaltene Danke: 13
WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
|
Verfasst: Fr 08.05.15 15:07
Horst_H hat folgendes geschrieben : | man braucht nur 3 Zeilen oder Spalten als Zwischenspeicher... |
Es geht nicht um die Frage ob man es irgendwie hinkriegt. Irgendwie kann man es immer hinkriegen.
ub60 hat folgendes geschrieben : | Nach den vielen Sinnlosprogrammen... |
1. Überlas bitte mir zu entscheiden welche meine Programme sinnlos sind und welche nicht.
2. Lass bitte das billige anbiedern an die Kritiker. Von wem ich mich kritisieren lassen, entscheide immer noch ich alleine.
Zitat: | Ein Game of Life braucht also immer zwei Stringgrids. |
Das habe ich nicht behauptet. Lerne lesen und verstehen. Wenn du meine Texte in dieser Weise verdrehst, dann gehe ich davon aus, dass du es mit Absicht machst. Die Absicht hinter dieser Sinnesverdrehung ist dann wohl mich dumm aussehen zu lassen. Wundere dich dann also nicht über meine Reaktion.
Die Frage ist vielmehr ob du Game of Life überhaupt verstanden hast? Bei Game of Life gibt es immer zwei Generationen, die Jetzige und die Nächste. Aus der Aktuellen wird die Nächste berechnet. Da geht es nicht drum zellen blinken zu lassen. Es geht drum die nächste Generation zu berechnen. Und das macht man in einem zweiten Feld. Wenn du eine mathematische Formel auflöst, dann kritzelst du auch nicht alles in der gleichen Zeile hin, sondern leitest sie ab. Dafür nimmst du eine zweite Zeile.
_________________ Popov
|
|
Delphi-Laie
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Fr 08.05.15 17:04
Zuletzt bearbeitet von Delphi-Laie am Fr 08.05.15 21:08, insgesamt 1-mal bearbeitet
|
|
Popov
Beiträge: 1655
Erhaltene Danke: 13
WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
|
Verfasst: Fr 08.05.15 19:46
Delphi-Laie hat folgendes geschrieben : | Was mich nur wundert, woher Du die Zeit und den Elan nimmst, "GoL" mit allen möglichen VCL-STeuerelementen diesem Forum zu kredenzen... |
1. Die erste Version beruht im Grunde auf einer bereits vorhandenen. Nur etwas modifiziert.
2. Die Nachfolgeversionen sind modifizierte Versionen der in Nr. 1. Es war weniger Arbeit als es aussieht.
3. Auch wenn einige nicht verstanden haben um was es in Game of Life eigentlich geht, es ist eine mathematische Aufgabe. Es geht nicht drum sie irgendwie zu lösen, damit Zellen blinken, es geht um eine Berechnung. Die Ausgabe ist nur der Mittel zum Zweck, nicht der Zweck.
4. Meine Hilfe an Nini war ernst gemeint. Ich hab meine Version nicht veröffentlicht um mich zu präsentieren, sondern um einen anderen Weg zu zeigen. Die Version mit der sich Nini da herumplagt, ob mit Begeisterung oder nicht, hat einen falschen Ansatz. Ich hab mir zwar nicht alles angeschaut, aber wenn der Fehler der auf den ersten beiden Seiten gemacht wurde, nicht später beseitigt wurde, dann funktioniert das Ganze auch nicht mal richtig. Auch fehlt ein Gesamtkonzept. Was bringt es einem kleine Häppchen beizubringen, wenn derjenige nicht weiß um was es da letztendlich geht.
5. Vielleicht warte ich nur auf dem Moment wo man Nini sagt: schön, du hast viel gelernt, das kannst du alles wieder gebrauchen, aber wir machen hier einen Schnitt und fangen mit einem anderen Ansatz neu an. Das ist meine Motivation.
_________________ Popov
|
|
Delphi-Laie
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Fr 08.05.15 21:19
M.E. mußt Du Dich nicht rechtfertigen, weder irgendjemandem gegenüber noch mir. Und daß Deine Hilfsmühe, die sehr schnell sozusagen in Ungnade fiel, ehrlich gemeint war, nehme ich Dir ab, welchen Grund, daran zu zweifeln, sollte es auch geben? Ich wurde genausoschnell wie Du "externalisiert" - ein mich überraschendes und alles andere als erfreuendes Vorgehen.
Ich mache mich bei der Administration jetzt sicher wieder unbeliebt, äußere mich aber dennoch: Deine Kritik kann ich nachvollziehen und halte sie in gewisser Weise auch für berechtigt. Auf der anderen Seite hat Nini ja auch die Freiheit und bestimmt auch den Intellekt, die Notbremse zu ziehen und/oder ihren Unmut darob zu äußern, daß andere Hilfe nicht an sie herangelassen wurde. Beides geschah nicht erkennbar. Vermutlich liest sie auch in den anderen, den echten Diskussionen mit - schon zur Ablenkung, Erholung und Entspannung... Beißen wir uns also nicht am Schicksal einer uns leider nicht persönlich bekannten Chemnitzer Musterabiturientin (meine ich ebenfalls nicht ironisch) fest. Moderiert von Narses: Beiträge zusammengefasst Popov hat folgendes geschrieben : | 3. Auch wenn einige nicht verstanden haben um was es in Game of Life eigentlich geht, es ist eine mathematische Aufgabe. Es geht nicht drum sie irgendwie zu lösen, damit Zellen blinken, es geht um eine Berechnung. |
Game of life ist eigentlich eine wiederholte Ableitung. Aber näher kenne ich mich mit sog. zellulären Automaten nicht aus. Jeder Tochtergeneration liegen aber nur zahlreiche Zählungen zugrunde. Das mag man kaum als Addition, erst recht nicht als Berechnung bezeichnen.
Popov hat folgendes geschrieben : | 5. Vielleicht warte ich nur auf dem Moment wo man Nini sagt: schön, du hast viel gelernt, das kannst du alles wieder gebrauchen, aber wir machen hier einen Schnitt und fangen mit einem anderen Ansatz neu an. Das ist meine Motivation. |
Das wird spätestens jetzt, nach diesem Deinem offenen Nähkästchen, gewiß nicht mehr passieren, sofern es dafür überhaupt eine Notwendigkeit gibt.
Zuletzt bearbeitet von Delphi-Laie am Fr 08.05.15 22:08, insgesamt 2-mal bearbeitet
|
|
Popov
Beiträge: 1655
Erhaltene Danke: 13
WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
|
Verfasst: Fr 08.05.15 22:34
|
|
Narses
Beiträge: 10182
Erhaltene Danke: 1255
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Fr 08.05.15 23:29
Moin!
Popov, du bist einfach ... einzigartig, unnachahmlich, legendär! ("ich, einfach unverbesserlich") Jemanden wie dich hab ich noch nie getroffen. (Und das meine ich wirklich ernst, ich schwöar! )
Wie sehr es dich doch innerlich zerfrisst, dass Nini deine Beiträge nicht mehr lesen kann, weil sie jetzt in einem eigenen Thread stehen, da kriege ich immer ein ganz schlechtes Gewissen... ich muss mich richtig zusammen nehmen, damit ich die Threads nicht doch noch wieder merge (keine Angst, wenn's zu schlimm wird, mach ich immer schnell was anderes um mich abzulenken, ich nehm dir deinen Thread schon nicht weg )
Aber was du auf eine Weise kannst, die wirklich bewundernswert ist: diese orakelhaften Andeutungen von ominösen Fehlern, <voice tune="doomsday"> die noch ein schlimmes Ende nehmen werden, wenn man sie nicht korrigiert </voice>, aber <voice tune="disclaimer"> das weiß ich nicht so genau, weil ich zu faul war, mir alles durchzulesen </voice>, die sind schon gekonnt, gradezu kleine literarische Kunstwerke, alle Achtung.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
Für diesen Beitrag haben gedankt: Boldar
|
|
Popov
Beiträge: 1655
Erhaltene Danke: 13
WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
|
Verfasst: Sa 09.05.15 01:34
Narses, mich zerfrisst nichts. Sicherlich, bei mir ist die Eigenschaft zu helfen, wenn ich sehe, dass jemand in Not ist, kleinwenig stärker ausgeprägt als bei vielen anderen. Viele sehen jemanden in Not, gehen aber vorbei und meinen: wenn er Hilfe braucht, wird er sich schon melden. Ich dagegen biete sie oft ungefragt an. In dem Fall muss ich aber auch damit leben, dass sie gelegentlich ausgeschlagen wird.
Nini (den Name ist ja niedlich, da muss man ja helfen) als solches interessiert mich nicht wirklich. Ich kenne ihn oder sie nicht. Er oder sie hat vermutlich den Parallel-Thread bemerkt, es ist also deren Entscheidung wie es weiter geht. Jeder Mensch ist seines eigenen Glückes Schmied. Ich bin zu lange in Foren unterwegs um mich noch zu fragen wieso ein Anfänger sich lieber für den einen Weg entscheidet, statt für den anderen. Ich denke es sind pragmatische Gründe.
Ich finde es übrigens fantastisch, dass der Thread jetzt "[Tutorial] Game of Life" umbenannt ist. Man könnte meinen, dass es sich hier um ein Tutorial handelt. Aber zurück zum Thema: Game of Life als Programm sind nur paar Zeilen lang. Das hätte in zwei Wochen durch sein können. Bei der Anzeige hätte man sich dann Zeit lassen, aber die Berechnung? Sowas nennt man das Pferd von Hinten aufzäumen. Man beginnt mit der Anzeige und programmiert die Berechnung drumherum.
Und nun zu dem ominösen Fehler. Narses, ich hab dir nie irgendwelche Programmierkenntnisse abgesprochen, die sind sogar gut. Was ich gesehen habe zeugt von gutem Wissen. Aber eine Frage stelle ich dann doch: hast du das Projekt in der Form schon selbst programmiert und ein funktionsfähiges Programm erstellt oder hilfst du sozusagen aus der Hüfte heraus? Steht dahinter ein wirkliches Konzept oder nur ein grober Gedanke im Kopf? Falls du es noch nicht selbst programmiert hast, dann mach es jetzt, dann findest du den Fehler auch. Ich hab es nur deshalb bemerkt, weil ich gerade ein halbes Dutzend GoL Programme geschrieben habe.
Natürlich könnte ich einfach sagen wo der Fehler ist (siehe erster Absatz, es juckt mich zu helfen). Man hätte auch geradeaus fragen können, ich hätte meine Vermutung schon genannt. Aber ich finde das Ganze drumherum dann doch zu sehr von oben herab. Also unterdrücke ich mein Verlangen.
Es kann aber auch sein, dass ich mich täusche. Vermutlich. Wie gesagt, ich hab nicht alle Seiten gelesen. Vielleicht wurde es später bemerkt und geändert.
_________________ Popov
|
|
Delphi-Laie
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Sa 09.05.15 09:03
|
|
Narses
Beiträge: 10182
Erhaltene Danke: 1255
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Sa 09.05.15 16:56
Moin!
Popov hat folgendes geschrieben : | Natürlich könnte ich einfach sagen wo der Fehler ist |
Du musst einfach eine offensichtliche Tatsache übersehen, anders kann ich mir deine erheblichen Anstrengungen nicht erklären, mich auf einen potenziellen Fehler aufmerksam machen zu wollen: im Gegensatz zu dir kenne ich den Thread bereits (vollständig), ja, ich habe sogar Teile davon selbst geschrieben.
Jetzt, wo ich meinen taktischen Vorteil aufgegeben und dir verraten habe, dass ich bereits weiß, wie der Thread ausgeht (konkret: gab es einen Fehler? Wurde er gefunden? Konnte das Unheil durch eine Korrektur abgewendet werden? Hat der Held das Mädchen bekommen?), hoffe ich mal, dass du dieses Wissen nicht unredlich gegen dich verwendest.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
Für diesen Beitrag haben gedankt: Boldar, Mathematiker, ub60, WasWeißDennIch
|
|
Boldar
Beiträge: 1555
Erhaltene Danke: 70
Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
|
Verfasst: Sa 09.05.15 17:29
Was geht denn hier ab o.O
Für diesen Beitrag haben gedankt: Nersgatt
|
|
Narses
Beiträge: 10182
Erhaltene Danke: 1255
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Sa 09.05.15 22:32
Moin!
Boldar hat folgendes geschrieben : | Was geht denn hier ab |
Sag's mir, ich weiß es schon länger nicht mehr...
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Popov
Beiträge: 1655
Erhaltene Danke: 13
WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
|
Verfasst: So 10.05.15 00:06
Ach herrje, endlich mal wieder was los hier und schon sind sie alle am jammern.
_________________ Popov
|
|
|