Revert "Ingen mer wrap med arraylist"

This reverts commit 15ad9de99a.
This commit is contained in:
lov3b 2022-05-14 16:37:47 +02:00
parent 15ad9de99a
commit e2d4037654
2 changed files with 11 additions and 21 deletions

View File

@ -75,10 +75,7 @@ public class Pawn extends PieceKnownIfMoved {
Piece piece = pieces[pos.x][pos.y]; Piece piece = pieces[pos.x][pos.y];
// Ifall det är tomt här, gör ingenting // Ifall det är tomt här, gör ingenting
if (piece != null && piece.isWhite() != this.isWhite()) { if (piece != null && piece.isWhite() != this.isWhite()) {
boolean isSchack = isInSchack(pos, pieces); movable.addAll(tryToMoveAndCheckIfCheck(pieces, pos));
if (isSchack) {
movable.add(pos);
}
} }
return movable; return movable;
} }
@ -91,10 +88,7 @@ public class Pawn extends PieceKnownIfMoved {
Piece pieceToCheck = pieces[pos.x][pos.y]; Piece pieceToCheck = pieces[pos.x][pos.y];
if (pieceToCheck == null) { if (pieceToCheck == null) {
boolean isSchack = isInSchack(pos, pieces); movable.addAll(tryToMoveAndCheckIfCheck(pieces, pos));
if (isSchack) {
movable.add(pos);
}
return false; return false;
} }
return true; return true;

View File

@ -69,8 +69,7 @@ public abstract class Piece {
* Ger tillbaks alla ställen pjäsen kan attackera * Ger tillbaks alla ställen pjäsen kan attackera
* *
* @param pieces * @param pieces
* @param shouldNotCareIfAttackSpaceIsEmptyOrNot Ifall man inte ska bry sig * @param shouldNotCareIfAttackSpaceIsEmptyOrNot Ifall man inte ska bry sig ifall
* ifall
* @return * @return
*/ */
public ArrayList<Point> validAttacks(Piece[][] pieces, boolean shouldNotCareIfAttackSpaceIsEmptyOrNot) { public ArrayList<Point> validAttacks(Piece[][] pieces, boolean shouldNotCareIfAttackSpaceIsEmptyOrNot) {
@ -132,11 +131,7 @@ public abstract class Piece {
if (!isSelected) { if (!isSelected) {
movable.add(pos); movable.add(pos);
} else { } else {
boolean isSchack = isInSchack(pos, pieces); movable.addAll(tryToMoveAndCheckIfCheck(pieces, pos));
if (isSchack) {
movable.add(pos);
}
} }
// Fortsätt att // Fortsätt att
return false; return false;
@ -155,10 +150,7 @@ public abstract class Piece {
if (!isSelected) { if (!isSelected) {
movable.add(pos); movable.add(pos);
} else { } else {
boolean isSchack = isInSchack(pos, pieces); movable.addAll(tryToMoveAndCheckIfCheck(pieces, pos));
if (isSchack) {
movable.add(pos);
}
} }
} }
return true; return true;
@ -173,7 +165,8 @@ public abstract class Piece {
* @param pos * @param pos
* @return * @return
*/ */
boolean isSchackHere(Piece[][] pieces, Point pos) { ArrayList<Point> tryToMoveAndCheckIfCheck(Piece[][] pieces, Point pos) {
ArrayList<Point> movable = new ArrayList<>();
// Kom ihåg vart vi var // Kom ihåg vart vi var
Point previousPosition = new Point(this.position); Point previousPosition = new Point(this.position);
@ -191,8 +184,11 @@ public abstract class Piece {
pieces[previousPosition.x][previousPosition.y] = this; pieces[previousPosition.x][previousPosition.y] = this;
pieces[pos.x][pos.y] = opponentPiece; pieces[pos.x][pos.y] = opponentPiece;
this.position = new Point(previousPosition); this.position = new Point(previousPosition);
return inSchack;
if (!inSchack) {
movable.add(pos);
}
return movable;
} }
/** /**