Update of /cvsroot/htoolkit/gio/src/examples/simple
In directory sc8-pr-cvs1:/tmp/cvs-serv2993
Modified Files:
Hanoi.hs
Log Message:
bugfix
Index: Hanoi.hs
===================================================================
RCS file: /cvsroot/htoolkit/gio/src/examples/simple/Hanoi.hs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Hanoi.hs 13 Jul 2003 14:52:56 -0000 1.1
--- Hanoi.hs 13 Jul 2003 18:25:58 -0000 1.2
***************
*** 18,22 ****
speed3 = 13
speed4 = 6
! speed5 = 0
minDisks = 2
--- 18,22 ----
speed3 = 13
speed4 = 6
! speed5 = 1
minDisks = 2
***************
*** 103,107 ****
changeTowers towers@(Towers {moves=(3:2:moves),tower3=(f3:r3),tower2=t2}) =
(drawMove 3 2 f3 (length r3) (length t2),towers{moves=moves,tower3=r3,tower2=(f3:t2)})
!
drawMove :: Int -> Int -> Int -> Int -> Int -> Canvas -> IO ()
drawMove start end disk lenfr lento can = do
--- 103,107 ----
changeTowers towers@(Towers {moves=(3:2:moves),tower3=(f3:r3),tower2=t2}) =
(drawMove 3 2 f3 (length r3) (length t2),towers{moves=moves,tower3=r3,tower2=(f3:t2)})
!
drawMove :: Int -> Int -> Int -> Int -> Int -> Canvas -> IO ()
drawMove start end disk lenfr lento can = do
***************
*** 110,124 ****
where
tx = end *xOffs
! ty = 10+10*(maxDisks-lento)
fx = start*xOffs
! fy = 10+10*(maxDisks-lenfr)
w = disk *5
-- The update function: redraw the towers
! onPaint ref can _ _ = do
twrs <- readIORef ref
drawTowerPos 1 (tower1 twrs) can
drawTowerPos 2 (tower2 twrs) can
drawTowerPos 3 (tower3 twrs) can
-- Set the speed of a (possibly running) Hanoi simulation.
--- 110,127 ----
where
tx = end *xOffs
! ty = 10+10*(maxDisks-lento)
fx = start*xOffs
! fy = 10+10*(maxDisks-lenfr)
w = disk *5
-- The update function: redraw the towers
! onPaint ref can (Rect l t r b) _ = do
twrs <- readIORef ref
drawTowerPos 1 (tower1 twrs) can
drawTowerPos 2 (tower2 twrs) can
drawTowerPos 3 (tower3 twrs) can
+ drawLine (Point l y) (Point r y) can
+ where
+ y = 20+10*maxDisks
-- Set the speed of a (possibly running) Hanoi simulation.
***************
*** 158,162 ****
y = 20+10*i
drawTower _ _ [] can = return ()
!
drawName :: Int -> Canvas -> IO ()
drawName nr can
--- 161,165 ----
y = 20+10*i
drawTower _ _ [] can = return ()
!
drawName :: Int -> Canvas -> IO ()
drawName nr can
|