From: <kr_...@us...> - 2003-07-13 18:26:01
|
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 |