Wie wird mit PGN-Mehrdeutigkeiten umgegangen?

14

Wie wird beim Schreiben der PGN mit Mehrdeutigkeiten umgegangen, wenn sich mehr als ein Teil desselben Typs auf dasselbe Quadrat bewegen kann?

NN - NN

Hinweis: Es ist weiß, sich zu bewegen, mit einem en passant erobernden Quadrat auf g6.

Was würde passieren, wenn :

  1. der oberste Turm bewegt sich zu b7?
  2. bewegt sich einer der unteren Türme nach b7?
  3. der linke Bauer nimmt xg5?
  4. der Bauer unten rechts nimmt xg5?
  5. der obere rechte Bauer nimmt xg6von en passant_?
  6. geht der linke ritter nach oben c3?
  7. geht einer der untersten ritter zu c3?

Bearbeiten (Bonusfrage):

  • Was würde passieren, wenn eine Königin gehen möchte g7?
ajax333221
quelle
2
Schwarz sollte wohl zurücktreten! :)
AndyM
1
Übrigens kann sich die Position legal nicht in Weiß bewegen, da Schwarz in Schach ist.
ETD

Antworten:

10

Aus der Spezifikation :

Ein einfacher SAN-Zug (Standard Algebraic Notation) besteht aus der Auflistung des Buchstaben der beweglichen Figur (bei Bauern weggelassen), gefolgt vom Zielfeld. Erfassungsbewegungen werden durch den Kleinbuchstaben "x" unmittelbar vor dem Zielfeld gekennzeichnet. pawn erfasst den Dateibuchstaben des Ursprungsquadrats des einfangenden Bauern unmittelbar vor dem Zeichen "x".

Und

Im Falle von Mehrdeutigkeiten (mehrere Teile desselben Typs bewegen sich auf dasselbe Feld) wird der erste geeignete Unterscheidungsschritt der drei folgenden Schritte ausgeführt:

Erstens, wenn die sich bewegenden Teile durch ihre Ursprungsdateien unterschieden werden können, wird der Ursprungsdateibuchstabe des sich bewegenden Teils unmittelbar nach dem sich bewegenden Teilebuchstaben eingefügt.

Zweitens wird (wenn der erste Schritt fehlschlägt), wenn die sich bewegenden Teile durch ihre Ursprungsränge unterschieden werden können, die Ursprungsrangziffer des sich bewegenden Teils unmittelbar nach dem Buchstaben des sich bewegenden Teils eingefügt.

Drittens (wenn sowohl der erste als auch der zweite Schritt fehlschlagen) wird die zweistellige Quadratkoordinate des Ursprungsquadrats des sich bewegenden Teils unmittelbar nach dem Buchstaben des sich bewegenden Teils eingefügt.

1: Rbb7

2: Rab7oderRcb7

3: fxg5

4: hxg5

5: hxg6

6: Nac3

7: Nbc3oderNdc3

Beachten Sie, dass die Spezifikation einfach so geschrieben ist. En passant Captures sollten kein Randfall sein, aber es ist unwahrscheinlich, dass sie 100% der Zeit korrekt implementiert werden. Sie müssen Ihren Replayer testen, um festzustellen, ob er diese Fälle korrekt behandelt oder nicht.

Jonathan Garber
quelle
ist das 5in ...xg5nötig? Bauern erfassen nur auf eine Weise, es sollte kein Problem mit nur ...xg bearbeiten geben: Ich habe gerade einen großen Schach-Viewer / 5
-Player
Es ist. Ich habe den entsprechenden Abschnitt hinzugefügt. Es gibt keine Ausnahmen von der Regel in der Spezifikation, und es ist sowieso besser, ein "hartes" Ziel zu haben. Denken Sie auch hier daran, dass dies nicht von allen Wiedergabegeräten korrekt implementiert wird.
Jonathan Garber
Es stimmt, das Seltsame ist, dass in der Spezifikation nur steht: "Bauer fängt den Dateibuchstaben des Ursprungsquadrats des einfangenden Bauern unmittelbar vor dem Zeichen" x "ein." , sagt nie etwas über Rang
Ajax333221
Na ja, hmm, du hast recht. Ich denke, wir können mit Sicherheit davon ausgehen, dass dies der richtige Weg zur Disambiguierung ist, aber er ist nicht in der Spezifikation enthalten. Zugegeben, eine uneindeutige und vorübergehende Erfassung ist an sich schon ein Vorteil. Unabhängig davon ist eine Auflistung des Ziels in allen Fällen von der Spezifikation erforderlich.
Jonathan Garber
1
Eine weitere zufällige Note, in # 5, wäre die richtige PGN 1. hxg6. Sie können auch hinzufügen e.p., um zu erstellen, 1. hxg6 e.p.wenn Sie angeben möchten, dass das Capture en passant ist. Aber alle Bauernfänge sind Ursprungsdatei, "x", Zielquadrat.
Andrew
4

Wir müssen den ersten Schritt ausführen, der die Mehrdeutigkeit beseitigt:

  1. Verwenden Sie den Anfangsbuchstaben (wenn die Mehrdeutigkeit nicht beseitigt wurde, siehe Nr. 2).
  2. Verwenden Sie die ursprüngliche Rangnummer (wenn die Mehrdeutigkeit nicht beseitigt wurde, siehe # 3).
  3. Verwenden Sie sowohl die Datei als auch den Rang aus dem Ausgangsquadrat.

1) Rbb7(weil # 1 )
2) Rab7oder Rcb7(beide weil # 1 )
3) fxg5(keine Disambiguierung erforderlich)
4) hxg5(keine Disambiguierung erforderlich)
5) hxg6(keine Disambiguierung erforderlich)
6) Nac3(weil # 1 )
7) Nbc3oder Ndc3(beide weil # 1 )

Nun zum Bonus-Beispiel:

Bildbeschreibung hier eingeben

bei g8 queen zu g7 : Qgg7(weil # 1 )
bei h7 queen zu g7 : Q7g7(weil # 2 )
bei h8 queen zu g7 : Qh8g7(weil # 3 )

ajax333221
quelle
3
NN - NN

Was würde passieren wenn:

1. bewegt sich der oberste Turm nach b7?

Rbb7

2. einer der unteren Türme zieht nach b7?

Rab7 oder Rcb7

3. Der linke Bauer nimmt xg5?

fxg5

4. Der Bauer unten rechts nimmt xg5?

hxg5

5. Der Bauer oben rechts nimmt xg6 von en passant?

hxg6!

6. Der Springer oben links geht nach c3?

Nac3

7. einer der untersten ritter geht nach c3?

Nbc3 oder Ndc3

bonus Was würde passieren, wenn eine Königin zu g7 gehen möchte?

Wenn alles andere fehlschlägt, seien Sie explizit. Qh8g7oderh8g7

Travis J
quelle