Hallo,
Seit einiger Zeit verwende ich GM 8.1 Standard, um z.B. biologische oder physikalische Vorgänge vereinfacht zu visualisieren. Gerade möchte ich ein kleines "Evolutionsspiel" programmieren, in welchem sich Objekte/Instanzen in einer programmierten Umwelt behaupten müssen und sich durch zufällige "Mutationen" anpassen können. Zum Einstieg möchte ich eine Programm schreiben, bei dem ein "Mutterobjekt" in bestimmten Zeitabständen bzw. unter bestimmten Unständen "Tochterobjekte" erzeugt, welche sich mehr oder weniger zufällig um das "Mutterobjekt" gruppieren und dieses begleiten (das "Mutterobjekt" bewegt sich). Wenn "Tochterobjekte" mit verschiedenen Eigenschaften (fressen, Feindabwehr etc.) erstellt werden, kann so ein zusammengesetztes "Lebewesen" sich in seiner programmierten Umgebung wie eine Amöbe bewegen und verschiedene "Lebensvorgänge" vollführen, wie fressen, Hindernisse umfließen usw. Das klappt auch ganz gut und sieht sehr interessant aus. Ich lasse die neuen Tochterinstanzen in einem zufälligen Bereich um die Mutterinstanz entstehen und dieser dann über "move_towards" im Step-event folgen. Jetzt würde ich aber gerne diese "Amöbe" sich teilen lassen, so dass immer mehr eigenständige zusammengestzte Objekte (oder besser Instanzgruppen) entstehen. Dies wollte ich durch regelmäßige Teilung des "Mutterobjektes" verwirklichen, welches dann eigene neue "Tochterobjekte" bildet (ich meine natürlich hier stets Instanzen best. Tochterobjekte). Weiß jemand, wie ich die "Tochterobjekte" auf das jeweilige neue "Mutterobjekt" prägen kann? Wie kann ich dem neu gebildeten "Tochterobjekt" die instance-ID seiner "Mutter" einprogrammieren? Ich muss der Tochterinstanz sagen welche ID sein Mutterobjekt hat. Mit var = instance_create(obj_Mutter.x,obj_Mutter.y,obj_Mutter) bin ich bisher gescheitert, bin aber denke ich auf den richtigen Weg. Ich bin sicher für viele Experten hier ist das eine Kleinigkeit.
Noch eine andere Frage: Ist es prinzipiell auch möglich, dass ein laufendes Programm selbst (nicht vom Programmierer vorher festgelegt) neue Objekte (neue Eigenschaften, eigener Namen) erstellen kann?
Ich würde mich sehr über Ratschläge freuen.
Viele Grüße und jetzt schon mal vielen Dank
Peter
Seit einiger Zeit verwende ich GM 8.1 Standard, um z.B. biologische oder physikalische Vorgänge vereinfacht zu visualisieren. Gerade möchte ich ein kleines "Evolutionsspiel" programmieren, in welchem sich Objekte/Instanzen in einer programmierten Umwelt behaupten müssen und sich durch zufällige "Mutationen" anpassen können. Zum Einstieg möchte ich eine Programm schreiben, bei dem ein "Mutterobjekt" in bestimmten Zeitabständen bzw. unter bestimmten Unständen "Tochterobjekte" erzeugt, welche sich mehr oder weniger zufällig um das "Mutterobjekt" gruppieren und dieses begleiten (das "Mutterobjekt" bewegt sich). Wenn "Tochterobjekte" mit verschiedenen Eigenschaften (fressen, Feindabwehr etc.) erstellt werden, kann so ein zusammengesetztes "Lebewesen" sich in seiner programmierten Umgebung wie eine Amöbe bewegen und verschiedene "Lebensvorgänge" vollführen, wie fressen, Hindernisse umfließen usw. Das klappt auch ganz gut und sieht sehr interessant aus. Ich lasse die neuen Tochterinstanzen in einem zufälligen Bereich um die Mutterinstanz entstehen und dieser dann über "move_towards" im Step-event folgen. Jetzt würde ich aber gerne diese "Amöbe" sich teilen lassen, so dass immer mehr eigenständige zusammengestzte Objekte (oder besser Instanzgruppen) entstehen. Dies wollte ich durch regelmäßige Teilung des "Mutterobjektes" verwirklichen, welches dann eigene neue "Tochterobjekte" bildet (ich meine natürlich hier stets Instanzen best. Tochterobjekte). Weiß jemand, wie ich die "Tochterobjekte" auf das jeweilige neue "Mutterobjekt" prägen kann? Wie kann ich dem neu gebildeten "Tochterobjekt" die instance-ID seiner "Mutter" einprogrammieren? Ich muss der Tochterinstanz sagen welche ID sein Mutterobjekt hat. Mit var = instance_create(obj_Mutter.x,obj_Mutter.y,obj_Mutter) bin ich bisher gescheitert, bin aber denke ich auf den richtigen Weg. Ich bin sicher für viele Experten hier ist das eine Kleinigkeit.
Noch eine andere Frage: Ist es prinzipiell auch möglich, dass ein laufendes Programm selbst (nicht vom Programmierer vorher festgelegt) neue Objekte (neue Eigenschaften, eigener Namen) erstellen kann?
Ich würde mich sehr über Ratschläge freuen.
Viele Grüße und jetzt schon mal vielen Dank
Peter