home *** CD-ROM | disk | FTP | other *** search
- // Program 8.1
-
- USE CITWindow
- USE CITGadgets
- USE Turtle
- USE Figures
-
- graphicscreen(0)
- ht
-
- DIM TriangleGad OF ButtonGadget
- TriangleGad.Size(120,20)
- TriangleGad.Position(0,0)
- TriangleGad.Label("Triangle",INSIDE)
- ComalWindow.InsObject(TriangleGad,Error)
-
- DIM SquareGad OF ButtonGadget
- SquareGad.Size(120,20)
- SquareGad.Position(120,0)
- SquareGad.Label("Square",INSIDE)
- ComalWindow.InsObject(SquareGad,Error)
-
- DIM PentagonGad OF ButtonGadget
- PentagonGad.Size(120,20)
- PentagonGad.Position(240,0)
- PentagonGad.Label("Pentagon",INSIDE)
- ComalWindow.InsObject(PentagonGad,Error)
-
- DIM HexagonGad OF ButtonGadget
- HexagonGad.Size(120,20)
- HexagonGad.Position(360,0)
- HexagonGad.Label("Hexagon",INSIDE)
- ComalWindow.InsObject(HexagonGad,Error)
-
- DIM Close OF ButtonGadget
- Close.Size(138,20)
- Close.Position(480,0)
- Close.Label("STOP",INSIDE)
- ComalWindow.InsObject(Close,Error)
-
- IF Error THEN
- PRINT "Could not create one or more gadgets"
- ENDIF
-
- viewport(0,width-1,0,height-20)
-
- REPEAT
- WAIT
- clearscreen
- IF TriangleGad.Pressed THEN
- triangle
- ELIF SquareGad.Pressed THEN
- square
- ELIF PentagonGad.Pressed THEN
- pentagon
- ELIF HexagonGad.Pressed THEN
- hexagon
- ENDIF
- UNTIL Close.Pressed
-
- textscreen
-
-
- // ************* end of main program **********
-
- MODULE Figures
-
- USE Turtle
-
- EXPORT triangle,square,pentagon,hexagon
-
- PROC triangle
- Polygon(3)
- ENDPROC triangle
-
- PROC square
- Polygon(4)
- ENDPROC square
-
- PROC pentagon
- Polygon(5)
- ENDPROC pentagon
-
- PROC hexagon
- Polygon(6)
- ENDPROC hexagon
-
- PROC Polygon(n)
- LOOP n TIMES
- forward(50)
- right(360/n)
- ENDLOOP
- ENDPROC Polygon
-
- ENDMODULE Figures
-