1.1 Getting Started 에서는 take-move를 사용해 한 칸씩만 움직이는 wazie를 만들었습니다. Rook이나 Bishop처럼 장애물이 없을 때까지 계속 움직이는 기물도 표현 수 있습니다.
repeat(1)은 바로 앞의 식을 반복합니디. 이는 바로 앞에 있는 take-move 설명에 붙어서, "이 움직임을 한 칸이 아니라 벽이나 다른 기물을 만날 때까지 계속 반복하라"는 명령으로 바꿔줍니다.
마찬가지로 repeat(2) 는 앞 2개의 식을 반복합니다. 다만, 앞에 2개의 식이 반드시 있어야 합니다.
룩(Rook)은 상하좌우 4방향으로 "미끄러지듯" 움직입니다. '워지르'를 만들었던 4줄의 코드에 repeat(1)을 각각 추가하기만 하면 됩니다.
take-move(1, 0) repeat(1);
take-move(-1, 0) repeat(1);
take-move(0, 1) repeat(1);
take-move(0, -1) repeat(1);
take-move(1, 0) repeat(1);
take-move(1, 0)은 "오른쪽 한 칸"을 의미합니다.repeat(1)이 붙어서 "오른쪽으로 끝까지"라는 의미로 확장됩니다.repeat(1)은 (1, 0) 같은 직선 방향뿐만 아니라 모든 방향에 적용할 수 있습니다.
나이트라이더(Knightrider)는 "나이트(Knight)처럼 'L'자 방향으로, 룩(Rook)처럼 미끄러지는 변형 체스 기물입니다.
나이트의 8방향 take-move 설명에 repeat(1)을 붙여주기만 하면 됩니다.
take-move(1, 2) repeat(1);
take-move(2, 1) repeat(1);
take-move(1, -2) repeat(1);
take-move(2, -1) repeat(1);
take-move(-1, 2) repeat(1);
take-move(-2, 1) repeat(1);
take-move(-1, -2) repeat(1);
take-move(-2, -1) repeat(1);
take-move(1, 2) repeat(1);