cuyo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Cuyo-devel] Vorschlag: unbewegliche Variablen


From: Mark Weyer
Subject: Re: [Cuyo-devel] Vorschlag: unbewegliche Variablen
Date: Thu, 1 Dec 2005 10:21:44 +0100
User-agent: Mutt/1.5.9i

> >Oh, eine Fehlerquelle. Werde heute abend mal schauen, ob das immer noch
> >so ist, nachdem ich Koordinaten durch absolute Orte ersetzt hab, aber
> >wahrscheinlich schon...
> 
> ?? (absolute Orte = Datentyp, der alle Informationen ueber den Ort eines 
> Blops enthaelt?) (Klingt gut)

Ja. Im Gegensatz zu relativen Orten, die das ersetzen, was im Parser mal
variablen_ort hieß, und eine Klasse Ort bilden, die die C++-Variante des
Typs (ort_absolut -> ort_absolut option) sind.

Die Fehlerquelle war übrigens zur harmlosen Hälfte realisiert. Im copy-
Konstruktur wurde der Ort mitkopiert, im =-Operator nicht. Da für jede
Anwendung des copy-Konstruktors bevor was wichtiges kommt noch einmal
set_besitzer aufgerufen wird (was den Ort setzt), hat sich der bug nicht
ausgewirkt.

> Und die Variablen gar nicht in den Blob-Objekten speichern? Faend ich 
> irgendwie unschoen.

Aber es entspricht der Realität. Ortsfeste Variablen gehören eben nicht
den Blops sondern ihren Positionen im Spielfeld (sonst wären sie nicht
ortsfest). Eine andere Sicht, die Du villeicht implizit hast, wäre, daß
es zusätzlich zu den bisherigen Blops ortsfeste Blops gibt. Dann würden
die die ortsfesten Variablen haben. Außerdem könnten sie ortsfeste mal-
event-handler haben, so daß manche Dinge am Ort statt im Blop (nach
bisheriger Sichtweise) geschehen. Das ist auch ein feature, das wir
bestimmt schon oft verwendet hätten... Ich scheue mich aber ein wenig
vor dem Performanceoverhead in Leveln, die das nicht brauchen. Wie
würdest Du ihn einschätzen?

> Anderer Vorschlag: Normaler Copy-Constructor kopiert auch diese 
> Variablen nicht mit, und an der Stelle im Programm, wo die Blops wegen 
> Reihe-rueber in den Arrays senkrecht verschoben werden mit einer anderen 
> Methode diese Variablen doch noch kopieren.

Oder dann statt durch eine Methode durch den Reihe-rüber-event-handler
der ortsfesten Blops.

  Mark

P.S.: Deine Einträge im Changelog (also bei cvs commit) sind Englisch.
  Soll ich das auch so machen?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]