mirror of
https://github.com/peterosterlund2/droidfish.git
synced 2025-12-12 17:12:40 +01:00
DroidFish: Improved tapping behavior.
This commit is contained in:
@@ -601,14 +601,15 @@ public class ChessBoard extends View {
|
|||||||
|
|
||||||
int p = pos.getPiece(sq);
|
int p = pos.getPiece(sq);
|
||||||
if (selectedSquare != -1) {
|
if (selectedSquare != -1) {
|
||||||
if (sq != selectedSquare) {
|
if (sq == selectedSquare)
|
||||||
if (!myColor(p)) {
|
return null;
|
||||||
Move m = new Move(selectedSquare, sq, Piece.EMPTY);
|
if (!myColor(p)) {
|
||||||
setSelection(sq);
|
Move m = new Move(selectedSquare, sq, Piece.EMPTY);
|
||||||
return m;
|
setSelection(sq);
|
||||||
}
|
return m;
|
||||||
|
} else {
|
||||||
|
setSelection(sq);
|
||||||
}
|
}
|
||||||
setSelection(-1);
|
|
||||||
} else {
|
} else {
|
||||||
if (oneTouchMoves) {
|
if (oneTouchMoves) {
|
||||||
ArrayList<Move> moves = new MoveGen().pseudoLegalMoves(pos);
|
ArrayList<Move> moves = new MoveGen().pseudoLegalMoves(pos);
|
||||||
|
|||||||
@@ -204,8 +204,11 @@ public class EditBoard extends Activity {
|
|||||||
piece = -(m.from + 2);
|
piece = -(m.from + 2);
|
||||||
}
|
}
|
||||||
if (m.to >= 0) {
|
if (m.to >= 0) {
|
||||||
if ((m.from < 0) && (pos.getPiece(m.to) == piece))
|
int oPiece = Piece.swapColor(piece);
|
||||||
|
if ((m.from < 0) && (pos.getPiece(m.to) == oPiece))
|
||||||
pos.setPiece(m.to, Piece.EMPTY);
|
pos.setPiece(m.to, Piece.EMPTY);
|
||||||
|
else if ((m.from < 0) && (pos.getPiece(m.to) == piece))
|
||||||
|
pos.setPiece(m.to, oPiece);
|
||||||
else
|
else
|
||||||
pos.setPiece(m.to, piece);
|
pos.setPiece(m.to, piece);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,4 +54,9 @@ public class Piece {
|
|||||||
public static int makeBlack(int pType) {
|
public static int makeBlack(int pType) {
|
||||||
return ((pType >= WKING) && (pType <= WPAWN)) ? pType + (BKING - WKING) : pType;
|
return ((pType >= WKING) && (pType <= WPAWN)) ? pType + (BKING - WKING) : pType;
|
||||||
}
|
}
|
||||||
|
public static int swapColor(int pType) {
|
||||||
|
if (pType == EMPTY)
|
||||||
|
return EMPTY;
|
||||||
|
return isWhite(pType) ? pType + (BKING - WKING) : pType - (BKING - WKING);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user