import stanford.karel.*; public class zhang_ai_pao extends SuperKarel { public void run(){ for (int i=0;i<7;i++){ jumpWall(); } } //主干:跳墙。跳i次结束。 private void jumpWall(){ moveToWall(); upWall(); moveToWall(); turnLeft(); } //定义跳墙jumpWall的method。注意最后一刻是面向下一堵墙的方向。 private void moveToWall(){ while (frontIsClear()){ move(); } } //分解走到墙的步骤 private void upWall(){ while (frontIsBlocked()){ turnLeft(); move(); turnRight(); } move(); turnRight(); } //分解上墙顶的步骤。注意最后一刻是面向下的方向 } 最开始在for循环体中含有moveToWall和jumpWall,导致跳一次墙就停止了。把for做清爽,只含有jumpWall就OK了