forked from thomas-maeder/popeye
-
Notifications
You must be signed in to change notification settings - Fork 0
/
py-deut.txt
1218 lines (1054 loc) · 42.7 KB
/
py-deut.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
B E S C H R E I B U N G V O N P O P E Y E
Bemerkungen zur Verteilung von Popeye:
Popeye ist freie Software. Der Quellcode ist frei erhaeltlich. Wir
stehen auf dem Standpunkt, dass diese Software oeffentlich sein soll,
und nicht unser ureigenstes Eigentum darstellt, auch wenn wir
inzwischen einiges an Arbeit investiert haben. Diese Arbeit ist
sowieso nicht zu bezahlen, und wir investieren unsere Zeit nicht
deswegen um damit Geld zu verdienen.
Die einzige Einschraenkung besteht darin, dass Popeye vollstaendig
weitergeben wird.
Rueckmeldungen:
Fuer Fehlermeldungen und Erweiterungsvorschluege verwenden Sie bitte die
dafuer vorgesehenen Werkzeuge auf github.com .
Oeffnen Sie in Ihrem Browser
https://github.com/thomas-maeder/popeye/issues
Verwenden Sie den Link "Add new" und fuellen Sie in die Felder
"Summary" und "Description" die Informationen ein, welche Sie
uebermitteln moechten. Anschliessend senden Sie Ihre Rueckmeldung mit
"Add Artifact" ab.
Starten von Popeye:
Benennen Sie ihre ausgewaehlte ausfuehrbare Datei um in py.exe
Starten mit Eingabe des Problems am Bildschirm: py
Starten mit Eingabe des Problems aus einer Datei XX: py XX
Kommandozeilenparameter:
-maxmem
Sie koennen beispielsweise mit
-maxmem 40960 bzw. -maxmem 40M
Popeye 40960 Kilobyte (bzw. 40 Megabyte) Speicher zur
Beschleunigung des Loesungsprozesses zur Verfuegung stellen.
Popeye verwendet diesen Speicher, um die wiederholte Pruefung der
selben Zwischenstellung zu vermeiden. Mit der Angabe -maxmem 0
kann diese Optimierung ausgeschaltet werden.
-maxtime
Angabe der maximalen Anzahl Sekunden, welche Popeye fuer die
Loesung jedes Problems verwendet. Dieser Parameter ist
gleichbedeutend mit der Option maxzeit, welche innerhalb der
Problemdefinition verwendet werden kann (siehe unten).
Beispiel:
-maxtime 60
Wenn ein Problem nach einer Minute noch nicht vollstaendig
geloest wird, wird mit dem naechsten Problem (sofern
vorhanden) weitergefahren.
-regression
HAUPTSAECHLICH FUER ENTWICKLER
Unterdrueckt Popeye-Versionsinformation und Loesungszeiten in
den Ausgabedateien.
Beenden von Popeye:
CTRL + C Tasten druecken (Deutsche Tastatur: STRG + C)
Beschreibung der Eingabe-Sprache fuer Popeye:
Bei der Eingabe werden Gross/Klein-Schreibung nicht unterschieden. Jede
Eingabe fuer Popeye beginnt mit dem Schluesselwort `Anfangproblem'. Nachdem
dieses Kommando an Popeye eingegeben wurde, kann Popeye weitere Kommandos
entgegennehmen. Folgende Kommandos stehen zur Auswahl:
Bemerkung, Autor, Quelle, Titel, Protokoll,
Bedingung, Option, Forderung, SForderung, Forsyth, Steine, Zwilling
Die Reihenfolge der Kommandos spielt keine Rolle, und koennen auch mehrfach
gegeben werden. Bei den Kommandos in der zweiten Zeile wird immer das letzte
Kommando ausgefuehrt.
Jedes Kommando erwartet weitere Parameter. Beginnen wir mit den einfacheren
Kommandos:
- Bemerkung: Dieses Schluesselwort leitet eine Bemerkung ein. Es wird alles
bis zum Zeilenende ueberlesen und hat keine weitere Auswirkung.
- Autor: Hier gibt man als Parameter den Autor des Problems an. Es wird der
ganze Text bis zum Zeilenende ueber dem Diagramm in der Ausgabe
plaziert. Diese Angabe ist voellig optional, und hat keinen Einfluss
auf die anderen Eigenschaften des Programms. Wird dieses Kommando
mehrfach angegeben, so werden auch diese Zeilen zentriert und
ausgegeben.
- Quelle: Funktioniert genauso wie Autor.
- Titel: Funktioniert genauso wie Autor.
- Protokoll: Nachfolgend wird ein Dateiname erwartet. Alle weiteren Ausgaben
von Popeye werden dann in dieser Datei mitprotokolliert. Existiert die
Datei bereits, so wird an deren Ende weitergeschrieben. Die Datei wird
vorher nicht geloescht.
- Bedingung: Nach diesem Schluesselwort sind alle die Bedingungen die das
Problem erfordert anzugeben. Getrennt durch Zwischenraeume oder
Zeilenwechsel.
Folgendes ist momentan moeglich:
Circe
Madrasi
Volage
Hypervolage
BichromesSchach
MonochromesSchach
Gitterschach
KoeKo
SchwarzerRandzueger
WeisserRandzueger
Leofamily
ChinesischesSchach
PatrouilleSchach
Ohneschlag
Immunschach
KontaktGitter
Imitator
CavalierMajeur
HaanerSchach
Sentinelles
Laengstzueger (betrifft die verteidigende Seite - nicht mischen mit Schwarzer/Weisser...)
UltraSchachZwang (dito)
SchwarzerLaengstzueger
WeisserLaengstzueger
WeisserUltraSchachZwang
SchwarzerUltraSchachZwang
SchwarzerKuerzestzueger
WeisserKuerzestzueger
MagischeFelder
TibetSchach
DoppelTibetSchach
Loch (= nicht betretbares Feld)
SchwarzerSchlagzwang
WeisserSchlagzwang
TransmutierendeKoenige
SchwarzerVerfolgungszueger
WeisserVerfolgungszueger
DuellantenSchach
OhneIUW (= Bauernumwandlungen in Imitator nicht erlaubt)
VogtlaenderSchach
AntiCirce
ReversesEinsteinSchach
Degradierung
NorskSjakk
TraitorChess
AndernachSchach
SchwarzesZwangsfeld
WeissesZwangsfeld
SchwarzesKonsequentesZwangsfeld
WeissesKonsequentesZwangsfeld
Bicolores
EinsteinSchach
NeuKoeko
ReflektierendeKoenige
ChamaeleonSchach
BeamtenSchach
GlasgowSchach
AntiAndernachSchach
Isardam
Ohneschach
UWnur
ExklusivSchach
Marscirce
PhantomSchach
WeisserTransmutierenderKoenig
SchwarzerTransmutierenderKoenig
WeisserReflektierenderKoenig
SchwarzerReflektierenderKoenig
AntiEinsteinSchach
SchwarzesKoeniglichesFeld
WeissesKoeniglichesFeld
PlusSchach
BrunnerSchach
ZentralSchach
AusrottungsSchach
RepublikanerSchach
???? ActuatedRevolvingBoard
MessignySchach
Woozles
BiWoozles
Heffalumps
BiHeffalumps
UWFeldWeiss
UWFeldSchwarz
OhneWeissUW
OhneSchwarzUW
EiffelSchach
???? ActuatedRevolvingCentre
Schutzkoenige
WeisserOhneschlag
SchwarzerOhneschlag
AlphabetischesSchach
LinienChamaeleonSchach
AMU
NurPartiesatzsteine
MAFF
OWU
WeisseOszillierendeKoenige
SchwarzeOszillierendeKoenige
AntiKoenige
AntiMarsCirce
WeisserSuperTransmutierenderKoenig
SchwarzerSuperTransmutierenderKoenig
UltraPatrouille
TauschKoenige
KoenigsDynastie
SAT
StrictSAT
Take&MakeSchach
SchwarzerSynchronZueger
WeisserSynchronZueger
SchwarzerAntiSynchronZueger
WeisserAntiSynchronZueger
Masand
BGL
AnnanSchach
NormalBauern
SchwarzSchaecher
GenferSchach
VaultingKings
WeisserVaultingKing
SchwarzerVaultingKing
ProteischesSchach
Elliuortap
ChamaeleonVerfolgung
AntiKoeko
RochadeSchach
Schlagschach
Geisterschach
Fussball
WeissesAlphabetischesSchach
SchwarzesAlphabetischesSchach
KobulKoenige
SuperDeckungen
Wurmloecher
MarinesSchach
UltramarinesSchach
NachHause
AngesichtZuAngesicht
RueckenAnRuecken
WangeAnWange
Disparate
SnekSchach
SnekZirkulaerSchach
ArgentinischesSchach
VerloreneSteine
PartielleParalyse
Nach den Schluesselwoertern Imitator, MagischeFelder, Loch,
UWFeldWeiss, UWFeldSchwarz oder irgendeines
Zwangsfeldes sind die Felder einzugeben, auf denen die
Imitatoren in der Diagrammstellung stehen bzw. wo die
magischen Felder oder Loecher sind, bzw. welche Figuren
Umwandlungsfiguren bei FrischaufCirce sind, bzw. welche Felder
weisse oder schwarze Umwandlungsfelder sind.
Dem Schluesselwort UWnur muss eine Liste von durch Leerzeichen
getrennten Figurenarten folgen. Es darf nur in die angegebenen
Figurenarten umgewandelt werden.
Der Bedingung ChamaeleonCirce kann eine Liste von durch
Leerzeichen getrennten Figuren folgen. Diese definiert die
Reihenfolge der Umwandlungen vor der Wiedergeburt. (Z. B.:
"ChamaeleonCirce S L T D S" ergibt das normale
ChamaeleonCirce
"ChamaeleonCirce S D T L S" ist reverses ChamaeleonCirce.)
Auf dieselbe Weise kann bei der Bedingung ChamaeleonSchach fuer alle
Offiziere und mit der Hilfsbedingung ChamaeleonSequenz fuer die
explizit festgelegten Chamaeleons die Reihenfolge festgelegt werden
festgelegt werden.
Nach Madrasi kann wahlweise noch "RexInklusive" angegeben werden.
Nach der Isardam Bedingung kann wahlweise noch "TypB"
angegeben werden und anschliessend "RexInklusiv".
Nach der Bedingung NurPartiesatzsteine kann wahlweise
"Typ1", "Typ2" oder "Typ3" angegeben werden.
Nach der Bedingung RepublikanerSchach kann wahlweise
"Typ1" oder "Typ2" angegeben werden. Typ2 ist die Vorgabe.
Nach der Liste der magischen Felder wahlweise "Typ1" oder
"Typ2" angegeben werden. Typ1 ist die Vorgabe.
Nach der Sentinelles Bedingung kann wahlweise noch
"PionAdvers", "PionNeutre", "ParaSentinelles" oder "Berolina"
angegeben werden, sowie "MaximumWeiss", "MaximumSchwarz" oder
"MaximumTotal" gefolgt von einer Zahl.
Nach MessignySchach, (Bi)Woozles, (Bi)Heffalumps und
ProteischesSchach kann RexExklusive angegeben werden.
Nach SchwarzeOszillierendeKoenige oder
WeisseOszillierendeKoenige kann wahlweise noch "TypB" oder
"TypC" angegeben werden.
Nach Gitterschach koennen eine Reihe von Varianten angegeben
werden.
VertikalVerschieben, HorizontalVerschieben und
DiagonalVerschieben verschieben Gitter um eine Reihe und/oder
Linie. Z.B. besteht die Zelle mit dem Feld a1 aus den Feldern:
VertikalVerschieben: a1b1
HorizontalVerschieben: a1a2
DiagonalVerschieben: a1
Orthogonal gefolgt von einer Liste von Linien (links von jeder
vertikalen Gitterlinie) und Reihen (unterhalb jeder
horizontalen Gitterlinie) ohne Zwischenraeumen.
Unregelmaessig gefolgt von einer durch Leerzeichen getrennten
Liste von Feldergruppen, welche die Gitterzellen bilden. N.B. Die
groesste Gitterzelle kann weggelassen werden, weil aus den nicht
in Gruppen angegebenen Felder eine weitere Zelle gebildet wird.
Zum Beispiel kann das Standardgitter durch jede der folgende
Angaben beschrieben werden:
bedingung gitterschach
bedingung gitterschach orthogonal bdf246
bedingung gitterschach unregelmaessig a8a7b8b7 c8c7d8d7 ...
Die Angabe
bedingung gitterschach unregelmaessig
ohne Feldliste macht alle Zuege illegal.
GitterLinie gefolgt von einer Liste von Linien fuegt zusaetzliche
Linien zum Gitter hinzu. Diese Moeglichkeit sollte ausschliesslich
zur Angabe von partiellen Gitterlinien verwendet werden, welche
keine bestehende Gitterzelle vollstaendig zerschneiden (d.h. um
gewisse Zuege innerhalb einer Gitterzelle legal zu machen), da
Gitterzellen sparsamer angegeben werden koennen. Gitterlinien
werden mit 4 Zeichen angegeben, z.B. fuegt
bedingung gitter gitterlinie Ha24 Vc61
von der unteren linken Ecke des Felds a2 aus eine 4 Felder lange
horizontale und von der unteren linken Ecke von c6 aus eine 1 Feld
lange vertikale Gitterlinie zum Standardgitter hinzu.
Um GitterLinien zum leeren Brett (also ohne Standardgitter)
hinzuzufugen, lautet die Angabe
bedingung gitter unregelmaessig gitterlinie Ha24 Vc61
(N.B. Im Kontext von Gitterschach gehen Zuege in einer geraden
Linie vom Feldmittelpunkt zu Feldmittelpunkt; Figuren, welche
sich nicht auf geraden Linien bewegen, koennen sich auf
unerwartete Weise verhalten; damit ein Zug legalist, reicht es
aus, dass er das Ende einer Gitterlinie nur beruehrt - es ist
nicht notwendig, dass er eine Gitterlinie schneidet
(z.B. erlaubt Ve11 Zuege von d1 nach e2).
Nach den ValtingKings-Bedingungen kann eine durch Leerzeichen
getrennte Liste von Figurenarten angegeben werden. Ein
VaultingKing im Schach zieht zusaetzlich wie ein Stein einer
der angegebenen Arten. Wenn die Option Transmutierend
angegeben ist, zieht der Koenig ausschliesslich wie ein Stein
einer der Arten aus der Liste (aber nicht als Koenig). Wenn
keine Figurenart angegeben ist, ziehen VaultingKings im Schach
(zusaetzlich) wie Equihopper.
Nach den Schlagzwang-, Laengst- und
Kuerzestzueger-Schluesselwoertern kann mit dem Schluesselwort
"Ultra" angegeben werden, dass die jeweilige Ultra-Bedingung
gemeint ist.
Nach Circe, AntiCirce, MarsCirce, AntiMarsCirce, ImmunSchach,
PhantomSchach und GenferSchach koennen eine Reihe von Optionen angegeben
werden; die Optionen koennen vielfaeltig miteinander kombiniert werden.
Nicht alle Kombinationen sind sinnfaellig, und nicht alle Optionen fuer
alle Grund-Bedingungen.
Zudem schliessen Optionen normalerweise gegenseitig aus, welche zur
selben der folgenden 8 Gruppen gehören.
Einbezug des Koenigs:
RexInklusive (Vorgabe bei AntiCirce und MarsCirce)
RexExklusive (Vorgabe sonst)
Massgebende(r) Zug/Gangart/Partei:
LetzterZug
Clone (bestimmt auch Gangart des Wiedergeborenen)
Couscous
Spiegel (spezielle Bedeutung bei Equipollents - siehe unten)
Einschraenkung auf Gangart:
April (gefolgt von der Liste der Gangarten)
Bestimmung der Wiedergeburtsfelder:
Equipollents
Parrain (== Equipollents LetzterZug)
ContraParrain (== Equipollents Spiegel LetzterZug)
Reihe
File
Symmetrie
Diagramm
Platzwechsel
Antipoden
Super
Take&Make
Kaefig
Anpassung des Wiedergeburtsfelds:
Diametral
VertikalSpiegel
Frischauf
(Reihe)
Anpassung des Wiedergeborenen:
Chamaeleon
Turncoat
Einstein
ReversesEinstein
Verhalten bei besetztem Wiedergeburtsfeld:
Locker (Vorgabe bei Circe)
Strikt (Vorgabe sonst)
Assassin
Vulkan
Fallschirm
Selbstblock des Wiedergeborenen:
Calvet (Vorgabe)
Cheylan
Die folgenden "traditionellen" Bedinungsbezeichnungen koennen nach wie
vor verwendet werden; sie erlauben die zusaetzliche Angabe RexInklusive
bzw. RexExklusive:
traditionell: Angabe mit Option(en):
SpiegelCirce Circe Spiegel
PlatzwechselCirce Circe PWC
CouscousCirce Circe Couscous
ChamaeleonCirce Circe Chamaeleon
EquipollentsCirce Circe Equipollents
FileCirce Circe File
DiagrammCirce Circe Diagramm
CirceParrain Circe LetzterZug Equipollents
KontraParrain Circe LetzterZug Equipollents Spiegel
SymmetrieCirce Circe Symmetrie
SpiegelFileCirce Circe File Spiegel
AntipodenCirce Circe Antipoden
SpiegelCirceclone Circe Clone Spiegel
SuperCirce Circe Super
CirceClone Circe Clone
FrischaufCirce Circe Frischauf
DiametralCirce Circe Diametral
SpiegelCouscousCirce Circe Couscous Spiegel
AssassinCirce Circe Assassin
TurncoatCirce Circe Turncoat
DoppelAgentenCirce Circe Turncoat Spiegel
KaefigCirce Circe Kaefig
CirceTake&Make Circe Take&Make
VertikalesSpiegelCirce Circe VertikalSpiegel
AprilSchach Circe Super April
AntiSpiegelCirce AntiCirce Spiegel
AntiDiagrammCirce AntiCirce Diagramm
AntiFileCirce AntiCirce File
AntiSymmetrieCirce AntiCirce Symmetrie
AntiSpiegelFileCirce AntiCirce File Spiegel
AntiAntipodenCirce AntiCirce Antipoden
AntiEquipollentsCirce AntiCirce Equipollents
AntiCloneCirce AntiCirce Clone
AntiSuperCirce AntiCirce Super
MarsSpiegelCirce MarsCirce Spiegel
AntiMarsMalefiqueCirce AntiMarsCirce Spiegel
AntiMarsAntipodeanCirce AntiMarsCirce Antipoden
SpiegelImmunSchach ImmunSchach Spiegel
FileImmunSchach ImmunSchach File
DiagrammImmunSchach ImmunSchach Diagramm
SpiegelFileImmunSchach ImmunSchach File Spiegel
SymmetrieImmunSchach ImmunSchach Symmetrie
AntipodenImmunSchach ImmunSchach Antipoden
EquipollentsImmunSchach Immunschach Equipollents
- Option: Alles was zur Wirkung kommen soll ist einfach durch Zwischenraum
getrennt nach dem Schluesselwort anzugeben. Es wird folgendes erkannt:
Verfuehrung Verfuehrungen berechnen
Widerlegung Dieser Option muss eine Zahl folgen - die Anzahl der
maximal zu beruecksichtigenden Widerlegungen. (z. B.
Widerlegung 1 = es werden alle Verfuehrungen im
herkoemmlichen Sinn berechnet.
Satzspiel Satzspiel berechnen
Drohung Fuer Mehrzuegermodus: Dieser Option muss eine
Zahl folgen. Die gegnerische Partei hat sich
verteidigt, falls es keine Drohung gibt, die
kleiner oder gleich dieser (Zuege-)Zahl ist.
WeissBeginnt Weiss zieht an im Hilfsmatt (0.1.1...)
Varianten Drohungen und Varianten berechnen
Zugnummern Es werden die Zugnummern, Zuege und die Rechenzeit
bis dahin ausgegeben.
StartZugnummer Dieser Option muss die Nummer folgen,
bei der abgebrochen wurde.
OhneWk Ohne weissen Koenig
OhneSk Ohne schwarzen Koenig
Duplex Die Forderung fuer beide Seiten berechnen
OhneDrohung Varianten werden ohne Drohungen analysiert
MaxLoesungen Dieser Option muss eine Zahl folgen. Nach
erreichen von Zahl Loesungen bricht Popeye ab.
MaxFluchtFelder Fuer Mehrzuegermodus: Dieser Option muss eine
Zahl folgen. Die gegnerische Partei hat sich
verteidigt, falls die Anzahl der Fluchtfelder
fuer ihren Koenig groesser oder gleich
dieser (Zuege-)Zahl ist.
EnPassant Dieser Option folgen 3-4 Felder, welche den zuletzt
gespielten Bauernzug repraesentieren:
- Startfeld
- uebersprungene(s Feld(er)
- Zielfeld.
Diese Information wird fuer moegliche enpassant-
Schluesselzuege verwendet.
RochadenGegenseitigAusschliessend <wturmfeld><sturmfeld>
Die Rochaden der Tuerme, welche in der
Partieausgangsstellung auf den angegebenen
Feldern stehen, schliessen sich gegenseitig
aus.
Beispiel: RochadenGegenseitigAusschliessend a1h8
Fuer die Eingabe von mehreren Kombinationen
sich ausschliessender Rochaden kann die Option
mehrfach angegeben werden.
OhneBrett Es erfolgt keine Ausgabe des Schachbretts.
OhneKurzVarianten Kurzvarianten werden nicht ausgegeben.
HalbDuplex Die Forderung nur fuer die Gegenseite berechnen
NachSchluessel Die eingegebene Stellung wird als Stellung nach einem
fiktiven Schluessel aufgefasst und als solche
analysiert, also nur das Loesungsspiel berechnet.
NichtTrivial m n Eine spezielle Option zum Loesen/Kochen/Pruefen von
langen Selbst- und (Semi-)Reflexaufgaben. Die zweite
Zahl n gibt an, welche schwarzen Zuege als trivial
betrachtet werden: ein Zug, der durch ein s#n
(oder r=n etc) beantwortet werden kann. Bei langen
Aufgaben (in mehr als n Zuegen) hat Schwarz zu jedem
Zeitpunkt mindestens einen nicht trivialen Zug, d. h.
einen Zug, der nicht durch s#n beantwortet werden
kann. Die Zahl m gibt an, wieviele zusaetzliche nicht
triviale Zuege Schwarz im gesamten Loesungsverlauf
von Weiss eingeraeumt werden. Beispiel: nichttr 0 1 -
die staerkste Einschraenkung. Weiss spielt stets so,
dass Schwarz immer nur einen Zug hat, der nicht
sofort (s#1) von Weiss erledigt werden kann.
Intelligent Intelligente (schnelle) Pruefung von (Serienzug-)
Hilfsmatt/patt-Mehrzuegern.
Nach der Intelligent Option kann wahlweise noch die
maximale Anzahl von Loesungen je Mattbild angegeben
werden.
MaxZeit Dieser Option muss eine Zahl folgen. Nach
erreichen von Zahl Sekunden bricht Popeye ab.
KeineRochade Es muessen die Felder der Figuren angegeben werden,
die in der Diagrammstellung nicht mehr rochieren koennen.
QuodLibet Im s# oder r# gilt auch direktes Mattsetzen als
Loesung.
StopNachKurzLoesungen Ende der Berechnung nach Finden von
Kurzloesungen
Pieps Dieser Option kann eine Zahl folgen. Nach jeder
gefundenen Loesung gibt Popeye eine Zahl von
Piepstoenen aus.
OhneGitter (GitterSchach) Ausgabe von Gitterlinien im Diagramm
wird unterdrueckt.
ZeichneGitter (GitterSchach) Gibt ein zusaetzliches Diagramm
aus, welches die Gitterzellen verdeutlicht;
nuetzlich fuer unregelmaessige Gitter.
HalteMattsetzendenStein Loesungsvorgang abbrechen, wenn kein Stein
mehr vorhanden ist, der matt setzen koennte.
LetzterSchlag gefolgt von Farbe, Steintyp und Feld wie im Befehl
"steine"; gibt den Schlagfall im Zug an, welcher zur
Diagrammstellung gefuehrt hat.
ZielIstEnde anwendbar bei Zielen, welche nicht zur Immobilitaet
fuehren (z.B. z, x): das Spiel ist beendet, sobald
die falsche Seite das Ziel erreicht.
- Forderung: Folgende Forderungen kennt Popeye:
jede sinnvolle Kombination von
{#= } {#= }
{!= } {!= }
{00 } {00 }
{% } {% }
{~ } {~ }
{ep } {ep }
{SER- } {H } {# } {# }
{PSER-} {S } {= } {= }
{m->} + {EXACT-} + {PHSER-}+ {R } + ( + {== } + ) + {== } + n
{SEMI-} {HS} {+ } {+ }
{RECI-} {HR} {Zxy} {Zxy }
{x } {x }
{## } {## }
{##!} {##! }
{ct } {ct }
{<> } {<> }
{ctr} {ctr }
{<>r} {<>r }
{c81} {c81 }
{Kxy }
{dia } + n{.5}
{SER-} + {dia } + n
{a=>b} + n{.5}
{SER-} + {a=>b} + n
(m, n geben die Zugzahl an)
zum Beispiel:
#3 Matt in 3 Zuegen
HZg74 Hilf-Ziel-g7 in 4 Zuegen
sKa75 Selbst-Kuss des Steins auf a7 in 5 Zuegen
S+2 Selbstschach in 2 Zuegen
R==3 Reflexdoppelpatt in 3 Zuegen
HS#3 Hilfsselbstmatt in 3 Zuegen (= Hilfszwingmatt)
SER-+7 Serienzugschach in 7 Zuegen
SEMI-R+4 Semireflexschach in 4 Zuegen
x3 Schlag in 3 Zuegen
RECI-H#2 Reziprokes Hilfsmatt in 2 Zuegen (= Grazer Hilfsmatt)
RECI-H(=)#2 Reziprokes Hilfs(patt)matt in 2 Zuegen (Schwarz
setzt patt oder erlaubt Matt)
SER-%4 Serienzugsteingewinn in 4 Zuegen
H##!4 Hilfsgegenmatt in 4 Zuegen
SER-H##3 Serienzughilfsbeidmatt in 3 Zuegen
2->ser-h#4 Weiss macht 2 Zuege, dann ser-h#4
h003 Hilfs-Rochade in 3 Zuegen
dia6.5 Kuerzeste Beweispartie in 13 Halbzuegen
(nach dem 7. Zug von Weiss)
ser-dia9 Serienzug-Beweispartie in 9 Zuegen
reci-h(=)#4 Hilfsalternativpatt/matt in 4 Zuegen
ser-!=7 Serienzug-Eigenpatt in 7 Zuegen
ser-ct10 Serienzug-Rueckkehr in 10 Zuegen
h<>3 Hilfsplatzwechsel in 3 Zuegen
(2 weisse Steine wechseln den Platz in der
Diagrammstellung)
ser-sctr2 Serienzug-Selbstrueckkehr durch Wiedergeburt
in 2 Zuegen (Weiss zwingt Schwarz, einen
weissen Stein wiedergebaeren zu lassen)
ser-h<>r5 Serienzug-Hilfsplatzwechsel durch
Wiedergeburt in 5 Zuegen (Schwarz hilft Weiss,
den Platzwechsel zweier schwarze Figuren per
Widergeburt zu vervollstaendigen)
#=2 Matt oder Patt in 2 Zuegen
h~1 Alle moeglichen Hilfs-Zuege
HR#3 Hilfsreflexmatt in 3 Zuegen
pser-h#6 Paraden-Serienzughilfsmatt in 6
phser-s#6 Paraden-Serienzugselbstmatt in 6 (Paraden sind
Hilfszuege)
SEMI wirkt natuerlich nur im Zusammenhang mit Reflexforderungen.
- SForderung: Die Forderung kann auch in "strukturierter" Form
angegeben werden. In dieser Form lassen sich alle Forderungen
angeben, welche sich auch in traditioneller Form mit dem Befehl
"Forderung" angeben lassen, aber darueberhinaus viele mehr.
(Ausnahme: pser-Forderungen werden zurzeit nicht unterstuetzt)
Eine mit SForderung angegebene Forderung ist wie ein Baum
aufgebaut: das Spiel beginnt an der Wurzel, geht ueber Aeste,
welche sich gabeln koennen, und endet in einem oder mehreren
Blaettern.
Nach dem Schluesselwort SForderung wird an der Wurzel die Seite
angegeben, welche am Zug ist, dann die Aeste und Blaetter in
der im folgenden beschriebenen Sprache.
Anatomie einer SForderung
-------------------------
Beispiel: sforderung weiss 5s[#]
In dieser Forderung ist Weiss am Zug. Das Spiel besteht aus
einem Ast, welcher in ein Blatt muendet. Der Ast besteht
aus 5 *S*erienzuegen; im Blatt wird lediglich geprueft, ob
eine Mattstellung erreicht worden ist.
Die Definition eines besteht normalerweise aus:
- der maximalen Laenge in Halbzuegen (im Beispiel 5)
- dem Typ des Asts (s fuer Serie)
- Blaetter (#)
- Gabelungen (kommen im Beispiel nicht vor)
- Einschraenkungen (kommen im Beispiel nicht vor)
Das Spiel endet in einem oder mehreren Blaettern. Ihre
Definition besteht normalerweise aus dem Ziel (im Beispiel:
#), welches erreicht werden soll.
Beim Wechsel von einem Ast in einen anderen oder in ein Blatt
aendert der Anzug. Im Beispiel ist also im Blatt Schwarz am
Zug; d.h. das Blatt prueft, ob Schwarz matt ist.
Das Beispiel ist also ein Synonym fuer
forderung ser-#5
Ast-Typen
---------
Typ Notation Beispiele Synonyme als forderung
Serie s 5s[#] ser-#5
"Kampfspiel" ad 3a[+]d, 4ad[x] +2, sx2
da 3d[==]a s==2 option nachschluessel
Hilfsspiel hh 5h[=]h h=2.5
Die Buchstaben s (Serienzug), a (Angriffszug), d
(Verteidigungszug - defense) und h (Hilfszug) stehen jeweils
fuer einen Halbzug.
Eine a, h or s nachgestelle Gabelung legt fest, was mit dem
betreffenden Zug zu erreichen ist, eine d nachgstellte
Gabelung, wogegen der Zug verteidigt.
Beachte: Ein da-Ast ist loesbar, falls die Seite am Zug KEINE
Widerlegung hat.
Gabelung in einen Ast
---------------------
Eine Gabelung fuehrt zu einem verschachtelten Ast.
Beispiel Synonyme als forderung
3a[1a[#]d]d semi-r#2
4hh[1a[#]d] nicht unterstuetzt (Hilfs-Semireflexmatt in 2.5)
6s[1d[#]a] ser-s#6
Aeste mit mehreren Blaettern oder Gabelungen
--------------------------------------------
Nach jedem Halbzug kann je ein Blatt und eine Gabelung angegeben
werden.
Beispiele Synonyme als forderung
4a[#=]d[#=] s#=2 option quodlibet
3a[#][1a[#]d]d semi-r#2 option quodlibet
Logische Ausdruecke
-------------------
Auf Blaetter und Aeste koennen mit folgenden Operatoren
Ausdruecke gebildet werden:
Operator Bedeutung
! Negation
| ODER
& UND
Beispiele Bedeutung
!# die Seite am Zug ist nicht matt
!3a[#]d es gibt keine Loesung zum direkten Matt in 2 Zuegen
4ad[#] | 3h[#]h s#2 oder h#1.5
1h[#]h & 2hh[#] #1 und h#1 (d.h. reci-h#1)
Bei den binaeren Operatoren muessen beide Operanden der
gleichen der folgenden drei Gruppen angehoeren:
- Blatt # = zh1 ...
- Angriff ad hh s
- Verteidigung da
Ein Ausdruck gehoert der selben Gruppe an wie sein(e)
Operand(en) und kann somit seinerseits Operand eines Ausdrucks
sein, z.B. (als Alternative zu einer Drillingsbildung):
3a[#]d & 4hh[#] & 4ad[#]
Alle drei Teilausdruecke und somit auch die |-Ausdruecke
gehoeren zur Gruppe Angriff.
Die Operatoren werden normalerweise von links nach rechts
ausgewertet. Wenn notwendig, kann der Vorrang mit ()
festgelegt werden, z.B.:
4hh[#] & ( 4ad[#] | 4hh[=] )
Einschraenkungen
----------------
Neben Gabelungen koennen in Aesten auch Einschraenkungen
definiert werden. Einschraenkungen werden von geschweiften
Klammern ({}) umgeben.
Beispiel Synonym als forderung
3a[1a[#]d]d{!1a[#]d} r#2
Beachte: auch wenn die Einschraenkung auf das d folgt, wird
sie VOR jedem Angriffszug ueberprueft, auch vor dem ersten!
Wenn Weiss also in der Beispielforderung in der
Diagrammstellung direkt matt setzen kann, hat die Aufgabe
keine Loesung.
Die beiden Hauptunterschiede zwischen einem verschachtelten
Ast bzw. Blatt und einer Einschraenkung sind:
- der/das verschachtelte Ast/Blatt muss nur am Ende des Spiels
erfuellt sein, die Einschraenkung hingegen jedesmal bevor der
betreffende Zug gespielt wird
- die bei der Ueberpruefung einer Einschraenkung gespielten
Zuege tauchen mit zwei Ausnahmen in der Ausgabe nicht auf:
* wenn eine Einschraenkung bereits in der Diagrammstellung
nicht erfuellt ist
* wenn die Widerlegung einer Verfuehrung dazu fuehrt, dass
eine Einschraenkung nicht erfuellt ist
("Reflexverteidigung")
Aeste mit minimaler Laenge
--------------------------
Wenn fuer einen Ast neben der maximalen auch die minimale
Laenge definiert werden soll, wird die Syntax m:n
verwendet (m=minimale, n=maximale Laenge):
Beispiele Synonym als forderung
4:4hh[#] exact-h#2
3:5s[#] nicht unterstuetzt (Serienzugmatt in 3-5 Zuegen)
Spezielle Operatoren am Anfang eines Asts
-----------------------------------------
Die drei Operatoren >, / und - koennen in dieser Reihenfolge
am Anfang der Definition von Aesten vorkommen.
> am Anfang eines verschachtelten Asts beendet das Spiel im
uebergeordneten Ast in Stellungen, in denen der
verschachtelte Ast eine Loesung hat. Z.B. kann ein Problem
mit
sforderung weiss 3h[1a[x]d]h
die Loesungen
1.g3-g4 h5*g4 x
1.g3-g4 h5*g4 2.h4-h5 g4*f3 x
haben; die lange Zugfolge loest, obwohl das Ziel schon nach
ihren ersten beiden Halbzuegen erreicht ist. Wenn das Spiel mit
dem erreichten Ziel beendet sein soll, schreibt man als
sforderung weiss 3h[>1a[x]d]h.
Der Operator / am Anfang eines verschachtelten Asts bewirkt,
dass die in diesem Ast gespielten Zuege nicht in der Ausgabe
erscheinen.
Z.B. gehoert in der "CapZug"-Forderung der durch Zugzwang
erzwungene Schlagzug nicht mehr zur Loesung. Hilfs-CapZug in
2.5 schreibt sich als
sforderung schwarz - 5h[/1d[x]a{!+}]h
Der Wechsel des Zugrechts am Anfang eines Asts kann durch den
Operator - bewirkt werden.
Beispiele Synonym als forderung
- 7h[#]h h#3.5
3h[- 4hh[#]]h nicht unterstuetzt (h#4 ohne 2. weissen Zug)
Bedingtes Zugrecht
------------------
Das Zugrecht kann durch eine Anforderung A eingeschraenkt werden, indem
dem zugehoerigen Symbol (h bzw. d) das Praefix ?A? vorangestellt wird.
Das Zugrecht, welches durch ein derart dekoriertes Symbol repraesentiert
wird, wird nur gewaehrt, wenn die Anforderung zum betreffendne Zeitpunkt
erfuellt ist.
Beispiel: sforderung weiss 7h[#]?+?h (Synonym zu forderung phser-#4)
Zurzeit wird als Anforderung A nur unterstuetzt, dass die am Zug
befindliche Seite im Schach steht.
Zudem ist ?A? ist nur in zwei Arten von Aesten anwendbar:
- bei ad auf das d
- bei hh auf das zweite h, sofern die maximale Laenge des Asts nicht
durch 2 teilbar ist
Weitere Beispiele:
weiss 15a[#]?+?d (pser-#8)
weiss 15a[1d[#]a]?+?d (pser-s#8)
weiss 15a[>1a[#]d]?+?d (pser-semi-r#8)
weiss 15a[>1a[#]d]?+?d{!1a[#]d} (pser-r#8)
schwarz 15h[1a[#]d]?+?h (pser-h#8)
weiss 15h[1d[#]a]?+?h (phser-s#8)
- Forsyth: Mit diesem Kommando kann die Stellung in Forsyth Notation
angegeben werden.
Soweit sind alle Kommandos (ausser SForderung) sehr einfach. Etwas
aufwendiger ist das Kommando
- Steine: Dieses Kommando spezifiziert alle Steine die zum Problem gehoeren.
Nach dem Schluesselwort muss die Farbe des oder der folgenden
Steine(s) angegeben werden:
Weiss
Schwarz
Neutral
Anschliessend konnen optional auch noch:
Chamaeleon
Jigger
Kamikaze
Koeniglich
Paralysierend
Volage
Beamtet
Halbneutral
SprungbockFarbeWechselnd (nur bei Huepfern !)
Proteisch
Magisch
Unschlagbar
FrischAuf
angegeben werden.
Nach diesen Spezifikationen kommt die Liste der Figuren,
wie man sie gewoehnlich notiert:
Kuerzel der Gangart, gefolgt von einer Liste von Feldern, auf denen eine
solche Figur plaziert werden soll. Zu jeder Zeit ist es moeglich,
Figuren einer anderen Farbe anzugeben, einfach durch das Angeben des
entsprechenden Schluesselwortes.
Wenn ein Stein auf einem besetzen Feld plaziert wird, wird der vorherige
Stein unter dem Feld zuoberst in die Unterwelt versetzt. In den
Maerchenbedingungen Circe Vulkan, Circe Fallschirm, Geisterschach und
Spukschach werden Steine aus der Unterwelt durch Abzug vom Feld in die
reale Welt zurueckgeholt. Ansonsten ermoeglichen Steine in der Unterwelt
hoechstens die Bauernumwanldung in ihre Gangart.
Popeye unterstuetzt folgende Gangarten:
15 1,5-Springer
16 1,6-Springer Flamingo
24 2,4-Springer
25 2,5-Springer Korsar
35 3,5-Springer
36 3,6-Springer
37 3,7-Springer
ad Adler 0,1+1,1 90 Grad Huepfer
ah MAoHuepfer
al Alfil 2,2 Springer
am Amazone 0,1+1,1 Reiter + 1,2 Springer
an Antilope 3,4 Springer
ao MaoReiter
b Bauer
b1 Bouncer
b2 Turmbouncer
b3 Laeuferbouncer
bb Berolina Bauer
bh Blatthuepfer
bi Bison 1,3+2,3 Springer
bo Bob wie Hase, aber ueber vier Sprungboecke
bs Berolina Superbauer
bu Wurzel-25-Springer (Bucephale) 3,4+0,5 Springer
ca Kamel 1,3 Springer
cb Chinesischer Bauer
ch Kamelreiterhuepfer
cr Kamelreiter 1,3 Reiter
ct CAT (cavalier trojan)
cy Charybdis
d Dame 0,1+1,1 Reiter
da Dabbaba 0,2 Springer
de Delphin Grashupfer + Kaenguruh
dg Doppelgrashuepfer
dl Doppellaeuferhuepfer
dr Drache Bauer + 1,2 Springer
ds Diagonalspiralspringer
dt Doppelturmhuepfer
du Dummy
ei Eichhoernchen 0,2+1,2+2,2 Springer
ek Erlkoenig 0,1+1,1 Springer
el Elch 0,1+1,1 45 Grad Huepfer
eq Equihopper
er Erzbischof
et Elefant 0,1+1,1+1,2 Reiter
f Freund
fa Faro Argentinischer Turm
fe Fers 1,1 Springer
fr Fersreiter wie Laeufer, aber anderes Wiedergeburtsfeld
g Grashuepfer 0,1+1,1 Huepfer
g2 Grashuepfer-2
g3 Grashuepfer-3
gb Grosser Blatthuepfer
gh Gnureiterhuepfer
gi Giraffe 1,4 Springer
gl Gral Alfil + Turmhuepfer
gn Gnu 1,2+1,3 Springer
gr Gnureiter 1,2+1,3 Reiter
gu Grosser Baumhuepfer
h Heuschrecke
ha Hamster 0,1+1,1 180 Grad Huepfer
he Hase Lion Variante des Kanguruhs
hl Laeuferheuschrecke
hn Nachtreiterheuschrecke
ht Turmheuschrecke
k Koenig 0,1+1,1 Springer (koeniglich)
ka Kaenguruh wie GrasHuepfer ueber zwei
Boecke, die nicht hinter-
einander stehen muessen.
kg KontraGrashuepfer huepft auf D-Linien ueber
benachbarten Sprungbock, aber
beliebig weit.
kh Koenigshuepfer
kl Kardinal
kn Kaiserin 0,1 Reiter + 1,2 Springer