aUCBLogo Demos and Tests / hanoi4


;Hi Andreas !
;Thank you for your response ,
;here is the demo reworked using updategraph ,
;so it will run under version 4.65
;Best Regards !
;mhelhefny
;------------------------hanoi4.lg-------------------------------------- 
to color
   
colors=[1 2 3 4 5 6 8 9 10 11 12 ]
end
 
to draw :i :d
   
make "x if :d=="a[make "x -240if :d=="b[make "x 240]
   
make "h run (word ": "h :dsetpc item :i :colors
   
pu setxy  :x-(:i*9) (25*:h)-40 pd fd :i*18 waitms 4 
   
updategraph
end
 
to hanoi :n :from :aux :to_
   
if :n== 0[stop]
   
hanoi :n:from :to_ :aux
   
move :n :from :to_
   
hanoi :n:aux  :from  :to_
end
 
to hanoi4
   
pr [type number of discs (max11?]
   
make "n first readList
   
color
   
make "ha make "hb make "hc cs ht penpaint pd setpc 0
   
setlabelsize [25 45htable hanoi :n "a "c "b
end
 
to move :n :from :to_
   
make "k run(word ": "h :to_make word "h :to_ :k+1
   
setpensize [20 20penpaint draw :n :to_ setpensize [23 23pe draw :n :from
   
make "l run(word ": "h :frommake word "h :from :l-1
end
 
to htable
   
pu setxy -360 -40 penpaint setpensize [20 20pd rt 90 fd 720
   
pu setxy -260 -80 label "A fd 240 label "B fd 240 label "C
   
for [i :n -1][make "ha :ha+draw :i "a]
end