In dieser Form des Spiels Tic-Tac-Chec besteht das Ziel darin, Schachfiguren zu bewegen, um vier in einer Reihe zu erhalten. Ihr Ziel hier ist es herauszufinden, ob eine Position einen Gewinnzug hat.
Regeln
Die Regeln sind ähnlich, aber nicht identisch mit denen von Tic-Tac-Chec.
Das Brett ist 4 mal 4 Quadrate. Jeder Spieler hat einen Turm, einen Bischof, einen Ritter und eine Königin. In Ihrem Zug haben Sie zwei Möglichkeiten. Sie können eine Ihrer Figuren, die sich bereits auf dem Brett befindet, nach den Standardschachregeln bewegen. Oder Sie können ein Stück, das noch nicht auf dem Brett liegt, an einem freien Platz platzieren.
Wenn Sie eine vorhandene Figur auf die Figur eines Gegners verschieben, wird deren Figur vom Brett genommen und zu ihm zurückgebracht. Sie dürfen jedoch keine neue Figur auf die Figur eines Gegners legen.
Sobald ein Spieler alle Teile in einer Reihe (oder Spalte oder Diagonale) hat, gewinnt er.
Herausforderung
Schreiben Sie ein vollständiges Programm, das ein Board von STDIN akzeptiert und ausgibt, ob der weiße Spieler in der nächsten Runde gewinnen kann.
Eingang
Vier Zeichenfolgen mit jeweils 4 Zeichen. Jeder Charakter ist entweder ein Leerzeichen oder eine Schachfigur. Es werden nur Türme, Bischöfe, Ritter und Königinnen verwendet, von denen höchstens einer (pro Farbe) erscheinen darf. Keiner der Spieler hat bereits einen Vierer in Folge.
Sie können wählen, ob Sie die Unicode-Symbole für die Schachfiguren oder Buchstaben als Eingabe akzeptieren möchten. Wenn Sie Buchstaben auswählen, werden RBKQ
weiße und rbkq
schwarze Teile dargestellt.
Ausgabe
Wenn der weiße Spieler in der nächsten Runde gewinnen kann, geben Sie true
oder aus 1
. Ansonsten Ausgabe false
oder 0
.
Programm
Wählen Sie eine Zahl X. Ihr Programm darf höchstens X verschiedene Zeichen enthalten, und kein Zeichen darf mehr als X Mal erscheinen.
Gewinnen
Das niedrigste X gewinnt. Bei einem Unentschieden gewinnen die wenigsten Charaktere.
Beispiele
In diesen Beispielen wird davon ausgegangen, dass die Eingabe Buchstaben verwendet, um die Teile darzustellen.
rkb
RB Q
true - the white player can place the knight to complete the bottom row.
-----------------------------------
rk
RBbQ
false - the black bishop prevents the white knight from completing the row.
-----------------------------------
rk
K
RBbQ
true - the white knight can capture the black bishop and complete the row.
-----------------------------------
rkRB
Qb
K
true - the white rook can move down one to complete the diagonal.