Autor Beitrag
Popov Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Fr 08.05.15 13:59 
user profile iconub60 hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1652
Erhaltene Danke: 243

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: 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 user profile iconDelphi-Laie nur 4056 ( ja, nicht 4096 ) Fenster unter WINE.Crtl-Alt BackSpace hat mich gerettet...

Gruß Horst
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 762
Erhaltene Danke: 127



BeitragVerfasst: Fr 08.05.15 14:32 
user profile iconPopov hat folgendes geschrieben Zum zitierten Posting springen:

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. :twisted:

ub60
Popov Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Fr 08.05.15 15:07 
user profile iconHorst_H hat folgendes geschrieben Zum zitierten Posting springen:
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.

user profile iconub60 hat folgendes geschrieben Zum zitierten Posting springen:
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. :twisted:

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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: Fr 08.05.15 17:04 
user profile iconPopov hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconDelphi-Laie hat folgendes geschrieben Zum zitierten Posting springen:
Probieren wir es aus, lieber popov


Dein Wunsch ist mir Befehl. Hier Game of Life mit Dialogfenstern.

Kurzanleitung: Programm starten, Dialogfenster bauen sich auf. Mit Mausklick auf die einzelnen Dialogfenster kann man die Farbe des Fensters setzten. Mit dem Main-Formular dann den Ablauf starten.


Popov, magst Du vielleicht das Gefühl haben, daß manche hier auf Dir umherhacken oder Dich nicht ganz ernst nehmen: Ich bin jedenfalls schwer begeistert, und das meine ich nicht ironisch!

Was mich nur wundert, woher Du die Zeit und den Elan nimmst, "GoL" mit allen möglichen VCL-Steuerelementen diesem Forum zu kredenzen...


Zuletzt bearbeitet von Delphi-Laie am Fr 08.05.15 21:08, insgesamt 1-mal bearbeitet
Popov Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Fr 08.05.15 19:46 
user profile iconDelphi-Laie hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: 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 user profile iconNarses: Beiträge zusammengefasst

user profile iconPopov hat folgendes geschrieben Zum zitierten Posting springen:
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.

user profile iconPopov hat folgendes geschrieben Zum zitierten Posting springen:
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 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Fr 08.05.15 22:34 
user profile iconDelphi-Laie hat folgendes geschrieben Zum zitierten Posting springen:
Game of life ist eigentlich eine wiederholte Ableitung.

Egal was es auch ist, es ist kein Gefrikel.

user profile iconDelphi-Laie hat folgendes geschrieben Zum zitierten Posting springen:
Das wir spätestens jetzt, nach diesem Deinem offenen Nähkästchen, gewiß nicht mehr passieren, sofern es dafür überhaupt eine Notwendigkeit gibt.

Ich werde es überleben. Ich kenne die Frau Anja Müller aus München nicht, ich kenne auch Nini nicht. Ob Frau Anja Müller aus München 1 Euro fehlt um die S-Bahn nachhause zu nehmen oder Nini ein zusammengebasteltes Game of Life bekommt, beides ist nichts über das ich mir wirklich Gedanken mache.

user profile iconDelphi-Laie hat folgendes geschrieben Zum zitierten Posting springen:
sofern es dafür überhaupt eine Notwendigkeit gibt.

Wie ich schon geschrieben habe, wenn der Fehler von den ersten Seiten nicht später korrigiert wurde, sollte das Ganze nicht richtig funktionieren. Und dann muss man es zu laufen kriegen.

_________________
Popov
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 08.05.15 23:29 
Moin!

Popov, du bist einfach ... einzigartig, unnachahmlich, legendär! :nixweiss: ("ich, einfach unverbesserlich") Jemanden wie dich hab ich noch nie getroffen. ;) (Und das meine ich wirklich ernst, ich schwöar! :shock:)

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 :zustimm:)

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. :beer:

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 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: Sa 09.05.15 09:03 
user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:
, damit ich die Threads nicht doch noch wieder merge :?


Dazu stehen Dir in meinem Sortierkino diverse Mergingalgorithmen (in diversen Mergesorts) zur Verfügung - bitte sei nicht zimplerlich und bediene Dich! ;-)
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Sa 09.05.15 16:56 
Moin!

user profile iconPopov hat folgendes geschrieben Zum zitierten Posting springen:
Natürlich könnte ich einfach sagen wo der Fehler ist
Du musst einfach eine offensichtliche Tatsache übersehen, :nixweiss: 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. :les: :think:

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. :flehan:

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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: Sa 09.05.15 17:29 
Was geht denn hier ab o.O

Für diesen Beitrag haben gedankt: Nersgatt
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Sa 09.05.15 22:32 
Moin!

user profile iconBoldar hat folgendes geschrieben Zum zitierten Posting springen:
Was geht denn hier ab
:nixweiss: 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 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: So 10.05.15 00:06 
Ach herr­je, endlich mal wieder was los hier und schon sind sie alle am jammern.

_________________
Popov