diff options
Diffstat (limited to 'Pieces/Queen.cs')
| -rw-r--r-- | Pieces/Queen.cs | 118 |
1 files changed, 59 insertions, 59 deletions
diff --git a/Pieces/Queen.cs b/Pieces/Queen.cs index 42998c4..6b1fb0b 100644 --- a/Pieces/Queen.cs +++ b/Pieces/Queen.cs @@ -1,59 +1,59 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using System.Runtime.InteropServices.WindowsRuntime; -using System.Text; -using System.Threading.Tasks; - -namespace Chess.Pieces -{ - class Queen : ChessPiece - { - public Queen(bool isWhite) : base(isWhite) - { - PieceImage = new Bitmap(!isWhite ? Chess.Properties.Resources.b_queen_png_shadow_256px : Chess.Properties.Resources.w_queen_png_shadow_256px); - } - - public override bool CanMoveTo(ChessBoard board, BoardTile currentTile, BoardTile destinationTile) - { - MoveCheckResult result; - - result = CanMoveDown(board, currentTile, destinationTile); - if (result == MoveCheckResult.CanMove) return true; - if (result == MoveCheckResult.CantMove) return false; - - result = CanMoveUp(board, currentTile, destinationTile); - if (result == MoveCheckResult.CanMove) return true; - if (result == MoveCheckResult.CantMove) return false; - - result = CanMoveLeft(board, currentTile, destinationTile); - if (result == MoveCheckResult.CanMove) return true; - if (result == MoveCheckResult.CantMove) return false; - - result = CanMoveRight(board, currentTile, destinationTile); - if (result == MoveCheckResult.CanMove) return true; - if (result == MoveCheckResult.CantMove) return false; - - // diagonal - - result = CanMoveDownLeft(board, currentTile, destinationTile); - if (result == MoveCheckResult.CanMove) return true; - if (result == MoveCheckResult.CantMove) return false; - - result = CanMoveDownRight(board, currentTile, destinationTile); - if (result == MoveCheckResult.CanMove) return true; - if (result == MoveCheckResult.CantMove) return false; - - result = CanMoveUpLeft(board, currentTile, destinationTile); - if (result == MoveCheckResult.CanMove) return true; - if (result == MoveCheckResult.CantMove) return false; - - result = CanMoveUpRight(board, currentTile, destinationTile); - if (result == MoveCheckResult.CanMove) return true; - if (result == MoveCheckResult.CantMove) return false; - - return false; - } - } -} +using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Chess.Pieces
+{
+ class Queen : ChessPiece
+ {
+ public Queen(bool isWhite) : base(isWhite)
+ {
+ PieceImage = new Bitmap(!isWhite ? Chess.Properties.Resources.b_queen_png_shadow_256px : Chess.Properties.Resources.w_queen_png_shadow_256px);
+ }
+
+ public override bool CanMoveTo(ChessBoard board, BoardTile currentTile, BoardTile destinationTile)
+ {
+ MoveCheckResult result;
+
+ result = CanMoveDown(board, currentTile, destinationTile);
+ if (result == MoveCheckResult.CanMove) return true;
+ if (result == MoveCheckResult.CantMove) return false;
+
+ result = CanMoveUp(board, currentTile, destinationTile);
+ if (result == MoveCheckResult.CanMove) return true;
+ if (result == MoveCheckResult.CantMove) return false;
+
+ result = CanMoveLeft(board, currentTile, destinationTile);
+ if (result == MoveCheckResult.CanMove) return true;
+ if (result == MoveCheckResult.CantMove) return false;
+
+ result = CanMoveRight(board, currentTile, destinationTile);
+ if (result == MoveCheckResult.CanMove) return true;
+ if (result == MoveCheckResult.CantMove) return false;
+
+ // diagonal
+
+ result = CanMoveDownLeft(board, currentTile, destinationTile);
+ if (result == MoveCheckResult.CanMove) return true;
+ if (result == MoveCheckResult.CantMove) return false;
+
+ result = CanMoveDownRight(board, currentTile, destinationTile);
+ if (result == MoveCheckResult.CanMove) return true;
+ if (result == MoveCheckResult.CantMove) return false;
+
+ result = CanMoveUpLeft(board, currentTile, destinationTile);
+ if (result == MoveCheckResult.CanMove) return true;
+ if (result == MoveCheckResult.CantMove) return false;
+
+ result = CanMoveUpRight(board, currentTile, destinationTile);
+ if (result == MoveCheckResult.CanMove) return true;
+ if (result == MoveCheckResult.CantMove) return false;
+
+ return false;
+ }
+ }
+}
|
