mirror of
https://github.com/TwoFX/Morris.git
synced 2026-02-04 04:52:52 +00:00
Fixes
This commit is contained in:
@@ -317,10 +317,6 @@ namespace Morris
|
|||||||
// Hinbewegter Stein
|
// Hinbewegter Stein
|
||||||
Board[move.To] = (Occupation)NextToMove;
|
Board[move.To] = (Occupation)NextToMove;
|
||||||
|
|
||||||
// Wiederholte Stellung
|
|
||||||
if (!playerPhase.Values.All(phase => phase == Phase.Placing) && history.Any(pastBoard => Board.SequenceEqual(pastBoard)))
|
|
||||||
Result = GameResult.Draw;
|
|
||||||
|
|
||||||
// ggf. entfernter Stein
|
// ggf. entfernter Stein
|
||||||
if (move.Remove.HasValue)
|
if (move.Remove.HasValue)
|
||||||
{
|
{
|
||||||
@@ -330,6 +326,11 @@ namespace Morris
|
|||||||
playerPhase[NextToMove.Opponent()] = Phase.Flying;
|
playerPhase[NextToMove.Opponent()] = Phase.Flying;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Wiederholte Stellung
|
||||||
|
if (!playerPhase.Values.All(phase => phase == Phase.Placing) && history.Any(pastBoard => Board.SequenceEqual(pastBoard)))
|
||||||
|
Result = GameResult.Draw;
|
||||||
|
|
||||||
|
|
||||||
// Gegner hat nur noch zwei Steine
|
// Gegner hat nur noch zwei Steine
|
||||||
if (playerPhase[NextToMove.Opponent()] != Phase.Placing && currentStones[NextToMove.Opponent()] == 2)
|
if (playerPhase[NextToMove.Opponent()] != Phase.Placing && currentStones[NextToMove.Opponent()] == 2)
|
||||||
Result = (GameResult)NextToMove;
|
Result = (GameResult)NextToMove;
|
||||||
|
|||||||
@@ -352,7 +352,10 @@ namespace Morris
|
|||||||
// Ungültiges Feld, einfach einen ungültigen Zug zurückgeben, damit GetNextMove
|
// Ungültiges Feld, einfach einen ungültigen Zug zurückgeben, damit GetNextMove
|
||||||
// erneut aufgerufen wird
|
// erneut aufgerufen wird
|
||||||
if (error)
|
if (error)
|
||||||
return null;
|
{
|
||||||
|
Dispatcher.Invoke(() => resetPositon(source));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
// Source und Destination erhalten Anfang und Ende des Drag-Events
|
// Source und Destination erhalten Anfang und Ende des Drag-Events
|
||||||
mode = Mode.Normal;
|
mode = Mode.Normal;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ namespace Morris
|
|||||||
var a = new ConsoleInteraction();
|
var a = new ConsoleInteraction();
|
||||||
var b = new RandomBot();
|
var b = new RandomBot();
|
||||||
var w = new GameWindow();
|
var w = new GameWindow();
|
||||||
var g = new Game(w, w);
|
var g = new Game(w, b);
|
||||||
g.AddObserver(a);
|
g.AddObserver(a);
|
||||||
g.AddObserver(w);
|
g.AddObserver(w);
|
||||||
Task.Run(() => g.Run(0));
|
Task.Run(() => g.Run(0));
|
||||||
|
|||||||
Reference in New Issue
Block a user