mirror of
https://github.com/lov3b/Schack.git
synced 2024-11-09 22:50:15 +01:00
Ta bort fel jag gjorde förut
This commit is contained in:
parent
e2d4037654
commit
ddbae03150
@ -75,7 +75,9 @@ public class Pawn extends PieceKnownIfMoved {
|
||||
Piece piece = pieces[pos.x][pos.y];
|
||||
// Ifall det är tomt här, gör ingenting
|
||||
if (piece != null && piece.isWhite() != this.isWhite()) {
|
||||
movable.addAll(tryToMoveAndCheckIfCheck(pieces, pos));
|
||||
if (!isInSchackHere(pieces, pos)) {
|
||||
movable.add(pos);
|
||||
}
|
||||
}
|
||||
return movable;
|
||||
}
|
||||
@ -88,7 +90,9 @@ public class Pawn extends PieceKnownIfMoved {
|
||||
|
||||
Piece pieceToCheck = pieces[pos.x][pos.y];
|
||||
if (pieceToCheck == null) {
|
||||
movable.addAll(tryToMoveAndCheckIfCheck(pieces, pos));
|
||||
if (!isInSchackHere(pieces, pos)) {
|
||||
movable.add(pos);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
@ -69,7 +69,8 @@ public abstract class Piece {
|
||||
* Ger tillbaks alla ställen pjäsen kan attackera
|
||||
*
|
||||
* @param pieces
|
||||
* @param shouldNotCareIfAttackSpaceIsEmptyOrNot Ifall man inte ska bry sig ifall
|
||||
* @param shouldNotCareIfAttackSpaceIsEmptyOrNot Ifall man inte ska bry sig
|
||||
* ifall
|
||||
* @return
|
||||
*/
|
||||
public ArrayList<Point> validAttacks(Piece[][] pieces, boolean shouldNotCareIfAttackSpaceIsEmptyOrNot) {
|
||||
@ -131,7 +132,9 @@ public abstract class Piece {
|
||||
if (!isSelected) {
|
||||
movable.add(pos);
|
||||
} else {
|
||||
movable.addAll(tryToMoveAndCheckIfCheck(pieces, pos));
|
||||
if (!isInSchackHere(pieces, pos)) {
|
||||
movable.add(pos);
|
||||
}
|
||||
}
|
||||
// Fortsätt att gå
|
||||
return false;
|
||||
@ -150,7 +153,9 @@ public abstract class Piece {
|
||||
if (!isSelected) {
|
||||
movable.add(pos);
|
||||
} else {
|
||||
movable.addAll(tryToMoveAndCheckIfCheck(pieces, pos));
|
||||
if (!isInSchackHere(pieces, pos)) {
|
||||
movable.add(pos);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
@ -165,8 +170,7 @@ public abstract class Piece {
|
||||
* @param pos
|
||||
* @return
|
||||
*/
|
||||
ArrayList<Point> tryToMoveAndCheckIfCheck(Piece[][] pieces, Point pos) {
|
||||
ArrayList<Point> movable = new ArrayList<>();
|
||||
boolean isInSchackHere(Piece[][] pieces, Point pos) {
|
||||
// Kom ihåg vart vi var
|
||||
Point previousPosition = new Point(this.position);
|
||||
|
||||
@ -185,10 +189,7 @@ public abstract class Piece {
|
||||
pieces[pos.x][pos.y] = opponentPiece;
|
||||
this.position = new Point(previousPosition);
|
||||
|
||||
if (!inSchack) {
|
||||
movable.add(pos);
|
||||
}
|
||||
return movable;
|
||||
return inSchack;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user