Befehlswiederholung

Lemuria ist das neue Hauptspiel, eine vollständige Neuentwicklung.
Antworten
Benutzeravatar
Thalian
Administrator
Beiträge: 652
Registriert: Mo 5. Jan 2015, 14:25
Kontaktdaten:

Befehlswiederholung

Beitrag von Thalian » So 14. Nov 2021, 11:29

Hallo zusammen,

vielleicht habt Ihr schon den Befehl VORLAGE bzw. DEFAULT verwendet. Damit kann man Befehle für nachfolgende Runden vorab setzen. Die Befehle tauchen dann in der Befehlsvorlage (Datei *.orders.txt) auf und auch Magellan enthält diese Befehle dann schon. Somit kann man längere Befehlsfolgen planen.

Kurzer Abriss der Syntax:

- VORLAGE GIB xx Alles => wird zu GIB xx Alles in der Befehlsvorlage (Ausführung in der nächsten Runde)
- VORLAGE VORLAGE MACHE Holz => wird zu VORLAGE MACHE Holz (Ausführung in der übernächsten Runde)

...usw. - die VORLAGE-Kette wird mit jeder Runde kürzer, somit kann man beliebig viele Runden vorausplanen.

Ich möchte das Konzept verbessern und dabei vielleicht auch das Wiederhole-Feature von Fantasya umsetzen (@-Präfix vor Befehlen). Meine Idee dabei ist, VORLAGE auszubauen, um den Befehl als universelle Funktion für Zukunftsbefehle und Befehlswiederholungen verwenden zu können:

1. VORLAGE * MACHE Holz
Es wird MACHE Holz ausgeführt und VORLAGE * MACHE Holz erscheint wieder in der Befehlsvorlage.Das wäre die unbedingte Wiederholung wie mit @ in Fantasya.

2. VORLAGE n MACHE Holz
n soll dabei eine positive Zahl > 0 sein. Der Befehl MACHE Holz wird in n Runden ausgeführt. Das ist also die Kurzform der VORLAGE-Kette, und n wird in jeder Runde runtergezählt. Bei n = 0 wird MACHE Holz ausgeführt und VORLAGE gelöscht.

3. VORLAGE n/m MACHE Holz
n und m sind positive Zahlen > 0. Wie VORLAGE n, es wird also jede Runde n heruntergezählt und bei n = 0 ausgeführt. VORLAGE wird aber dann nicht gelöscht, sondern erneut gesetzt als VORLAGE m/m MACHE Holz - die Zahl m gibt also ein Rundenintervall an. So wird eine Befehlswiederholung alle m Runden möglich.
Kurzes Beispiel: VORLAGE 2/3 MACHE Holz => VORLAGE 1/3 MACHE Holz => Ausführung MACHE Holz, VORLAGE 3/3 MACHE Holz => ...

Was haltet ihr von dieser Idee?

Rothar
Lichtelf
Beiträge: 309
Registriert: So 8. Feb 2015, 21:09
Wohnort: Wien

Re: Befehlswiederholung

Beitrag von Rothar » So 14. Nov 2021, 19:52

Hi,

in Rorqual gab es dazu ein System, das ich für sehr ausgereift halte:

Befehle, die erst in der nächsten Befehlsvorlage stehen sollten, wurden mit +1 geschrieben z.B. +1 GIB xy 10 Holz. Im Prinzip wie VORLAGE nur kürzer. Man konnte auch mehrere Runden im Voraus planen, also in 3 Runden lautete das Präfix +3 und das Auswertungsprogramm hat automatisch jede Runde 1 runtergezählt. (aus +3 wurde +2 ... bei +1 wurde der Befehl in der nächsten Runde ohne Präfix geschrieben und damit aktiviert)

Für sich wiederholende Befehlsabfolgen, wie man sie z.B. für das Zentralisieren von Ressourcen braucht, gab es das Präfix =1
Befehle mit =1 wurden im gleichen Zug ausgeführt und als +1 =1 wieder in die Vorlage geschrieben.
z.B.
=1 Nach nw
+1 =1 nach so
hat folgende Effekte
1) Die Einheit reist nach NW.
2) In der Befehlsvorlage der nächsten Runde steht:
+1 =1 nach nw
=1 nach so

Die Befehle mit dem Präfix @ gab es als Dauerbefehle auch. Ist hauptsächlich nur für Kurze Befehle (also meistens GIB-Befehle) interessant. Dafür gibt es auf Fantasya auch den Liefere Befehl, wobei mir das kürzere @ besser gefällt.

Benutzeravatar
Thalian
Administrator
Beiträge: 652
Registriert: Mo 5. Jan 2015, 14:25
Kontaktdaten:

Re: Befehlswiederholung

Beitrag von Thalian » Fr 19. Nov 2021, 14:24

Ja, das klingt ziemlich ähnlich wie mein Vorschlag. Wir könnten @ zum Alias für VORLAGE machen, dann hätten wir auch eine sehr kurze Syntax:

@ BEFEHL oder @ * BEFEHL => Wiederholung wie in Fantasya
@ 2 BEFEHL => Ausführung nächste Runde
@ 2/3 BEFEHL => Ausführung nächste Runde, Wiederholung alle 3 Runden

Die Syntax mit Schrägstrich 2/3 gefällt mir besser als ein +2 =3 (warum nicht =2 +3 ?), aber man könnte auch beide Schreibweisen oder sogar alle drei umsetzen.

Rothar
Lichtelf
Beiträge: 309
Registriert: So 8. Feb 2015, 21:09
Wohnort: Wien

Re: Befehlswiederholung

Beitrag von Rothar » So 21. Nov 2021, 11:54

Mit welcher Syntax das Thema gelöst wird, ist mir ziemlich gleich. Ich kann mich da Deinem Vorschlag vorbehaltlos anschließen.
Eine kurze Schreibweise ist sicher vorteilhaft.

Benutzeravatar
Thalian
Administrator
Beiträge: 652
Registriert: Mo 5. Jan 2015, 14:25
Kontaktdaten:

Re: Befehlswiederholung

Beitrag von Thalian » Mi 24. Nov 2021, 18:54

Ab sofort unterstützt Lemuria die @- und Rorqual-Syntax für Wiederholungen sowie die oben beschriebenen Erweiterungen. Beispiele sind im Wiki zu finden.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast