diff --git a/src/ui/flutter/lib/game/battle.dart b/src/ui/flutter/lib/game/battle.dart index 5b187368..ebdff92d 100644 --- a/src/ui/flutter/lib/game/battle.dart +++ b/src/ui/flutter/lib/game/battle.dart @@ -104,6 +104,24 @@ class Battle { //Audios.playTone('click.mp3'); } + bool move(int from, int to) { + // + position.move(from, to); + + _blurIndex = from; + _focusIndex = to; + + /* + if (ChessRules.checked(position)) { + //Audios.playTone('check.mp3'); + } else { + //Audios.playTone(captured != Piece.Empty ? 'capture.mp3' : 'move.mp3'); + } + */ + + return true; + } + bool regret({steps = 2}) { // // 轮到自己走棋的时候,才能悔棋 diff --git a/src/ui/flutter/lib/mill/position.dart b/src/ui/flutter/lib/mill/position.dart index 5c55e521..cbc36b08 100644 --- a/src/ui/flutter/lib/mill/position.dart +++ b/src/ui/flutter/lib/mill/position.dart @@ -194,8 +194,8 @@ class Position { } bool movePiece(int fromSq, int toSq) { - if (selectPieceSQ(fromSq)) { - return putPieceSQ(toSq); + if (selectPiece(fromSq)) { + return putPiece(toSq); } return false; @@ -670,7 +670,8 @@ class Position { rule50++; board[s] = _grid[squareToIndex[s]] = board[currentSquare]; - board[currentSquare] = _grid[squareToIndex[s]] = Piece.noPiece; + board[currentSquare] = + _grid[squareToIndex[currentSquare]] = Piece.noPiece; currentSquare = s; int n = addMills(currentSquare);