本ページでは、どのソースコードでどのような図が得られるかを明示しません。
想像したり実際に動作させてみたりして活用して下さい。
def fig1(n: Int, ang: Int) {
if(n>10) {
forward(n) ; left(ang)
fig1(n-1, -ang)
}
}
def fig2(n: Int, ang: Int) {
if(n>10) {
forward(n) ; left(ang)
forward(n) ; left(ang)
fig2(n-1, -ang)
}
}
def fig3(n: Int, ang: Int) {
if(n>10) {
repeat(20) {
forward(n) ; left(ang)
}
fig3(n-1, -ang)
}
}
clear
fig1(30,160) ; penUp ; moveTo(0, -100); moveTo(0,-99) ; penDown
fig2(30,91) ; penUp ; moveTo(0, -300); moveTo(0,-299) ; penDown
fig3(20,10)
def zigzag(ang:Int) {
forward(100)
left(10+ang)
zigzag(-ang)
}
clear
zigzag(150)
def zigzag(size:Int,ang:Int) {
forward(size)
left(10+ang)
zigzag(size+1,-ang)
}
clear
zigzag(10,150)
def zigzag(size:Int,ang:Int) {
if(size<1000) {
repeat(25) {
forward(size)
left(1+ang)
}
zigzag(size+1,-ang)
}
}
clear
zigzag(10,10)