У меня есть процедура перемещения, которая применяет законный ход к шахматной фигуре на доске, пропуская пару: (cons source dest), поэтому (минус 1 2) берет кусок в позицию 1 из и перемещает его в положение 2.Переезд для шахматной игры
Я пытаюсь сделать процедуру, которая применяет тот же ход, что и раньше. Я попытался сделать
(перемещение (обратный ход)), который прошел бы (минус 2 1), тем самым перемещая кусок назад.
К сожалению, обратное не работает для пар. Я не могу преобразовать его в список, потому что это должно было бы изменить много кода для размещения нулевого значения в конце.
Неужели кто-нибудь может подумать? Кстати, я использую MIT Scheme.
Я не очень хорошо помню синтаксис. вы ищете что-то вроде: (defun reverse-tuple (a b) '(b a)) –
, что не будет работать очень хорошо, потому что способ, которым я получаю свою пару, - это сопоставление материала. код будет слишком запутанным, поэтому я не смог бы просто сделать это »(b a). – Art