Ich bin gerade dabei, eine Zufalls-Routine zu schreiben, die mir einen Dorfplatz mit Kirche erstellt.
Klappt bisher ganz gut. Der Platz sieht immer anders aus, und die Kirche steht mal hier mal dort.
Allerdings muss ich genau ein Symbol aus der Platzfläche löschen, um die Kirche dort zu Platzzieren.
Geht aber nicht, weil Start- und Endpunkt meiner Löschlinie gleich sind.
Von daher die Frage:
Kann ich auch mit
<pre>
SYMBOL X irgendwas
</pre>
Das entspreche Symbol für "Nichts" aufrufen?
BNA - Löschen von genau einem Symbol
-
- Beiträge: 168
- Registriert: Dienstag 18. März 2003, 11:11
- Wohnort: Köln
- Kontaktdaten:
BNA - Löschen von genau einem Symbol
Ich bleib dabei - Bahn 3.83
rheinsiegbahn.de - Stadtbahn in Köln und Bonn
rheinsiegbahn.de - Stadtbahn in Köln und Bonn
-
- Beiträge: 115
- Registriert: Dienstag 28. Oktober 2003, 13:16
Re: BNA - Löschen von genau einem Symbol
Wenn die Kirche höher als ein Element ist, könntest du ja die Löschlinie von der Wunschposition ein Element nach oben zeichnen lassen. Das entstehende leere Feld würde dann durch die Kirche verdeckt.
-
- Beiträge: 2217
- Registriert: Sonntag 16. März 2003, 15:25
- Kontaktdaten:
Re: BNA - Löschen von genau einem Symbol
<p><blockquote><font size="1" face="Verdana, Arial">Quote:</font><hr>
Kann ich auch mit
<pre>
SYMBOL X irgendwas
</pre>
das entsprechende Symbol für "Nichts" aufrufen?<hr></blockquote></p>
Nein. Genaugenommen ja, mit "SYMBOL X C000". Das bringt aber nichts, weil beim BNA-Importieren nur an leere Stellen etwas geschrieben wird. Entweder die Position ist schon leer, dann muß kein Leersymbol dorthin, oder sie ist nicht leer, dann wird das Element an der Position nicht verändert.
Das Löschen ist ziemlich kompliziert und besteht nicht nur aus dem einfachen Schreiben des Leersymbols: Dabei muß überprüft werden, ob sich die Ausdehnung des Netzes verringert hat. Außerdem muß geprüft werden, was sich an der Stelle befindet, und ob das überhaupt gelöscht werden darf (z.B. Zug oder aktives Signal dürfen es nicht). Wenn es gelöscht werden darf, müssen auch die zugehörigen zusätzlichen Daten ermittelt und entfernt werden, sofern vorhanden (z.B. Linienlisten an Weichen, Abfahrtszeiten an Taktpunkten).
Edit: Allerdings führen die Funktionen LINEABS und LINEREL das Löschen aus, jedenfalls in harmlosen Fällen. Es kann aber deutlich länger dauern als das Bauen. Dazu als LINEMODE DE setzen.
Gruß
Jan B.
Kann ich auch mit
<pre>
SYMBOL X irgendwas
</pre>
das entsprechende Symbol für "Nichts" aufrufen?<hr></blockquote></p>
Nein. Genaugenommen ja, mit "SYMBOL X C000". Das bringt aber nichts, weil beim BNA-Importieren nur an leere Stellen etwas geschrieben wird. Entweder die Position ist schon leer, dann muß kein Leersymbol dorthin, oder sie ist nicht leer, dann wird das Element an der Position nicht verändert.
Das Löschen ist ziemlich kompliziert und besteht nicht nur aus dem einfachen Schreiben des Leersymbols: Dabei muß überprüft werden, ob sich die Ausdehnung des Netzes verringert hat. Außerdem muß geprüft werden, was sich an der Stelle befindet, und ob das überhaupt gelöscht werden darf (z.B. Zug oder aktives Signal dürfen es nicht). Wenn es gelöscht werden darf, müssen auch die zugehörigen zusätzlichen Daten ermittelt und entfernt werden, sofern vorhanden (z.B. Linienlisten an Weichen, Abfahrtszeiten an Taktpunkten).
Edit: Allerdings führen die Funktionen LINEABS und LINEREL das Löschen aus, jedenfalls in harmlosen Fällen. Es kann aber deutlich länger dauern als das Bauen. Dazu als LINEMODE DE setzen.
Gruß
Jan B.
Zuletzt geändert von Jan Bochmann am Samstag 4. Dezember 2004, 18:32, insgesamt 1-mal geändert.
-
- Beiträge: 168
- Registriert: Dienstag 18. März 2003, 11:11
- Wohnort: Köln
- Kontaktdaten:
Re: BNA - Löschen von genau einem Symbol
Das habe ich mir schon gedacht, da Du in der NT3-Doku schreibst, das die Anzahl der hintereinanderliegenden "Leerfelder" gespeichert wird (Wenn ich das jetzt richtig Verstanden habe).
Aber letztenendes müsste das doch wurscht sein, ob ich zwei Felder untereinander/nebeneinander lösche und durch Leer ersetze oder nur ein Feld.
Auf der anderen Seite ist es aber nur eine Frage der Optik.
Später, wenn das Projekt in ein Stadium kommen sollte, wo es wirklich ernst wird, merkt das sowieso keiner mehr
Aber letztenendes müsste das doch wurscht sein, ob ich zwei Felder untereinander/nebeneinander lösche und durch Leer ersetze oder nur ein Feld.
Auf der anderen Seite ist es aber nur eine Frage der Optik.
Später, wenn das Projekt in ein Stadium kommen sollte, wo es wirklich ernst wird, merkt das sowieso keiner mehr
Zuletzt geändert von DanielLorbach am Samstag 4. Dezember 2004, 15:24, insgesamt 1-mal geändert.
Ich bleib dabei - Bahn 3.83
rheinsiegbahn.de - Stadtbahn in Köln und Bonn
rheinsiegbahn.de - Stadtbahn in Köln und Bonn
- Sascha Claus
- Beiträge: 1917
- Registriert: Montag 17. März 2003, 20:15
- Wohnort: Leipzig bei P-Town, Nabel der Welt
Re: BNA - Löschen von genau einem Symbol
Warum baust du nicht erst die Kirche und dann den Platz drumrum?
Make America Great Again? Make Climate Greta!
Am faulsten sind die Parlamente, die am stärksten besetzt sind. —Sir Winston Leonard Spencer 'Winnie' Churchill ***
[heute 20:57:22] yenz: der sascha, siggileiin, weiss alles, man versteht ihn bloß nie
Am faulsten sind die Parlamente, die am stärksten besetzt sind. —Sir Winston Leonard Spencer 'Winnie' Churchill ***
[heute 20:57:22] yenz: der sascha, siggileiin, weiss alles, man versteht ihn bloß nie
-
- Beiträge: 168
- Registriert: Dienstag 18. März 2003, 11:11
- Wohnort: Köln
- Kontaktdaten:
Re: BNA - Löschen von genau einem Symbol
Weil ich den Platz mit der BNA-Funktion
<pre>
LINEREL dx,dy
</pre>
erstellen lasse und vorher die Breite festlege.
Ich halte das für die einfachste Lösung, da dx und dy
Zufallszahlen sind. Sonst muss ich wieder soviel Rechnen.
Als nächstes werde ich mir die Platzumgebung anschauen.
Ist es ein historisches Dorfzentrum, wurde viel Bausubtanz ausgestauscht oder wurde die Dorfmitte komplett neugebaut?
Aber wenn die Routinen wirklich zuverlässig arbeiten können wir später mal einen Thread dazu starten.
<pre>
LINEREL dx,dy
</pre>
erstellen lasse und vorher die Breite festlege.
Ich halte das für die einfachste Lösung, da dx und dy
Zufallszahlen sind. Sonst muss ich wieder soviel Rechnen.
Als nächstes werde ich mir die Platzumgebung anschauen.
Ist es ein historisches Dorfzentrum, wurde viel Bausubtanz ausgestauscht oder wurde die Dorfmitte komplett neugebaut?
Aber wenn die Routinen wirklich zuverlässig arbeiten können wir später mal einen Thread dazu starten.
Zuletzt geändert von DanielLorbach am Samstag 4. Dezember 2004, 16:51, insgesamt 1-mal geändert.
Ich bleib dabei - Bahn 3.83
rheinsiegbahn.de - Stadtbahn in Köln und Bonn
rheinsiegbahn.de - Stadtbahn in Köln und Bonn