修复 Matrix.TrySwap 错误的表达式参数
This commit is contained in:
parent
a6dbebb088
commit
a7b603740f
|
@ -50,10 +50,10 @@ func (slf *Matrix[T]) Swap(x1, y1, x2, y2 int) {
|
|||
}
|
||||
|
||||
// TrySwap 尝试交换两个位置的内容,交换后不满足表达式时进行撤销
|
||||
func (slf *Matrix[T]) TrySwap(x1, y1, x2, y2 int, expression bool) {
|
||||
func (slf *Matrix[T]) TrySwap(x1, y1, x2, y2 int, expressionHandle func(matrix *Matrix[T]) bool) {
|
||||
a, b := slf.Get(x1, y1), slf.Get(x2, y2)
|
||||
slf.m[x1][y1], slf.m[x2][y2] = b, a
|
||||
if expression {
|
||||
if !expressionHandle(slf) {
|
||||
slf.m[x1][y1], slf.m[x2][y2] = a, b
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue