1.1 Getting Started 에서는 take-move를 사용해 한 칸씩만 움직이는 wazie를 만들었습니다. Rook이나 Bishop처럼 장애물이 없을 때까지 계속 움직이는 기물도 표현 수 있습니다.

repeat(1)은 바로 앞의 식을 반복합니디. 이는 바로 앞에 있는 take-move 설명에 붙어서, "이 움직임을 한 칸이 아니라 벽이나 다른 기물을 만날 때까지 계속 반복하라"는 명령으로 바꿔줍니다.

마찬가지로 repeat(2) 는 앞 2개의 식을 반복합니다. 다만, 앞에 2개의 식이 반드시 있어야 합니다.

1. 예시: 룩 (Rook)

룩(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);

2. 응용 예시: 나이트라이더 (Knightrider)

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);