mirror of
https://github.com/peterosterlund2/droidfish.git
synced 2025-12-12 00:52: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);
|
||||
if (selectedSquare != -1) {
|
||||
if (sq != selectedSquare) {
|
||||
if (!myColor(p)) {
|
||||
Move m = new Move(selectedSquare, sq, Piece.EMPTY);
|
||||
setSelection(sq);
|
||||
return m;
|
||||
}
|
||||
if (sq == selectedSquare)
|
||||
return null;
|
||||
if (!myColor(p)) {
|
||||
Move m = new Move(selectedSquare, sq, Piece.EMPTY);
|
||||
setSelection(sq);
|
||||
return m;
|
||||
} else {
|
||||
setSelection(sq);
|
||||
}
|
||||
setSelection(-1);
|
||||
} else {
|
||||
if (oneTouchMoves) {
|
||||
ArrayList<Move> moves = new MoveGen().pseudoLegalMoves(pos);
|
||||
|
||||
@@ -204,8 +204,11 @@ public class EditBoard extends Activity {
|
||||
piece = -(m.from + 2);
|
||||
}
|
||||
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);
|
||||
else if ((m.from < 0) && (pos.getPiece(m.to) == piece))
|
||||
pos.setPiece(m.to, oPiece);
|
||||
else
|
||||
pos.setPiece(m.to, piece);
|
||||
}
|
||||
|
||||
@@ -54,4 +54,9 @@ public class Piece {
|
||||
public static int makeBlack(int 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