mirror of
https://github.com/peterosterlund2/droidfish.git
synced 2025-02-07 04:39:13 +01:00
DroidFish: Improved tapping behavior.
This commit is contained in:
parent
10c80e802c
commit
ddf86c3ad7
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user