mirror of
https://github.com/lov3b/Schack.git
synced 2025-01-18 21:00:11 +01:00
Nickals fix
Löste bugg där man inte kan flytta de yttersta bönderna
This commit is contained in:
parent
1696c1519b
commit
96ee14f128
@ -25,12 +25,13 @@ public class Pawn extends Piece {
|
|||||||
// Om bonden har gått en gång, får gå 1 steg, annars 2
|
// Om bonden har gått en gång, får gå 1 steg, annars 2
|
||||||
final int upTo = hasMoved ? 1 : 2;
|
final int upTo = hasMoved ? 1 : 2;
|
||||||
// Kolla om man kan gå rakt frak
|
// Kolla om man kan gå rakt frak
|
||||||
for (int pawnX = 1; pawnX <= upTo; pawnX++) {
|
for (int pawnDY = 1; pawnDY <= upTo; pawnDY++) {
|
||||||
System.out.println("this.position.x: " + this.position.x);
|
System.out.println("this.position.x: " + this.position.x);
|
||||||
System.out.println("calced y: " + (this.position.y + (this.isWhite ? -pawnX : pawnX)));
|
System.out.println("calced y: " + (this.position.y + (this.isWhite ? -pawnDY : pawnDY)));
|
||||||
Point pos = new Point(this.position.x, this.position.y + (this.isWhite ? -pawnX : pawnX));
|
Point pos = new Point(this.position.x, this.position.y + (this.isWhite ? -pawnDY : pawnDY));
|
||||||
boolean shouldBreak = checkMove(pos, movable, pieces);
|
boolean shouldBreak = checkMove(pos, movable, pieces);
|
||||||
if (shouldBreak) {
|
if (shouldBreak) {
|
||||||
|
System.out.println("should brkje!");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -47,10 +48,10 @@ public class Pawn extends Piece {
|
|||||||
|
|
||||||
// Känns som det här skulle kunnat vara i validMoves, men nu är det såhär
|
// Känns som det här skulle kunnat vara i validMoves, men nu är det såhär
|
||||||
private void checkAttack(Point pos, LinkedHashSet movable, Piece[][] pieces) {
|
private void checkAttack(Point pos, LinkedHashSet movable, Piece[][] pieces) {
|
||||||
Piece p = pieces[pos.x][pos.y];
|
|
||||||
|
|
||||||
// Ifall det är en pjäs som står här och den inte är samma färg som oss, lägg till
|
// Ifall det är en pjäs som står här och den inte är samma färg som oss, lägg till
|
||||||
try {
|
try {
|
||||||
|
Piece p = pieces[pos.x][pos.y];
|
||||||
if (p.isWhite != this.isWhite) {
|
if (p.isWhite != this.isWhite) {
|
||||||
movable.add(pos);
|
movable.add(pos);
|
||||||
}
|
}
|
||||||
@ -60,6 +61,9 @@ public class Pawn extends Piece {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean checkMove(Point pos, LinkedHashSet movable, Piece[][] pieces) {
|
protected boolean checkMove(Point pos, LinkedHashSet movable, Piece[][] pieces) {
|
||||||
|
if (pos.x < 0 || pos.x > 7 || pos.y < 0 || pos.y > 7) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
// Instead of checking index and null, try-catch
|
// Instead of checking index and null, try-catch
|
||||||
try {
|
try {
|
||||||
// Ifall vi kollar utanför brädet kommer detta att faila
|
// Ifall vi kollar utanför brädet kommer detta att faila
|
||||||
@ -82,6 +86,7 @@ public class Pawn extends Piece {
|
|||||||
movable.add(pos);
|
movable.add(pos);
|
||||||
} catch (IndexOutOfBoundsException ioobe) {
|
} catch (IndexOutOfBoundsException ioobe) {
|
||||||
// This means that the player is at the edge
|
// This means that the player is at the edge
|
||||||
|
System.out.println(pos);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// For good meassure
|
// For good meassure
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,14 @@
|
|||||||
package schack;
|
package schack;
|
||||||
|
|
||||||
import java.awt.Component;
|
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.awt.image.ImageObserver;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.LinkedHashSet;
|
import java.util.LinkedHashSet;
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
|
|
||||||
public abstract class Piece extends Component {
|
public abstract class Piece {
|
||||||
|
|
||||||
public Point position;
|
public Point position;
|
||||||
public boolean isWhite;
|
public boolean isWhite;
|
||||||
@ -44,7 +42,7 @@ public abstract class Piece extends Component {
|
|||||||
icon,
|
icon,
|
||||||
position.x * Board.SIZE_OF_TILE,
|
position.x * Board.SIZE_OF_TILE,
|
||||||
position.y * Board.SIZE_OF_TILE,
|
position.y * Board.SIZE_OF_TILE,
|
||||||
(ImageObserver) this
|
null
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user