home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / COMAL3-1.DMS / in.adf / Tutorial / Prg8.1 < prev    next >
Encoding:
Text File  |  1993-04-09  |  1.6 KB  |  96 lines

  1. // Program 8.1
  2.  
  3. USE CITWindow
  4. USE CITGadgets
  5. USE Turtle
  6. USE Figures
  7.  
  8. graphicscreen(0)
  9. ht
  10.  
  11. DIM TriangleGad OF ButtonGadget
  12. TriangleGad.Size(120,20)
  13. TriangleGad.Position(0,0)
  14. TriangleGad.Label("Triangle",INSIDE)
  15. ComalWindow.InsObject(TriangleGad,Error)
  16.  
  17. DIM SquareGad OF ButtonGadget
  18. SquareGad.Size(120,20)
  19. SquareGad.Position(120,0)
  20. SquareGad.Label("Square",INSIDE)
  21. ComalWindow.InsObject(SquareGad,Error)
  22.  
  23. DIM PentagonGad OF ButtonGadget
  24. PentagonGad.Size(120,20)
  25. PentagonGad.Position(240,0)
  26. PentagonGad.Label("Pentagon",INSIDE)
  27. ComalWindow.InsObject(PentagonGad,Error)
  28.  
  29. DIM HexagonGad OF ButtonGadget
  30. HexagonGad.Size(120,20)
  31. HexagonGad.Position(360,0)
  32. HexagonGad.Label("Hexagon",INSIDE)
  33. ComalWindow.InsObject(HexagonGad,Error)
  34.  
  35. DIM Close OF ButtonGadget
  36. Close.Size(138,20)
  37. Close.Position(480,0)
  38. Close.Label("STOP",INSIDE)
  39. ComalWindow.InsObject(Close,Error)
  40.  
  41. IF Error THEN
  42.   PRINT "Could not create one or more gadgets"
  43. ENDIF
  44.  
  45. viewport(0,width-1,0,height-20)
  46.  
  47. REPEAT
  48.   WAIT
  49.   clearscreen
  50.   IF TriangleGad.Pressed THEN
  51.     triangle
  52.   ELIF SquareGad.Pressed THEN
  53.     square
  54.   ELIF PentagonGad.Pressed THEN
  55.     pentagon
  56.   ELIF HexagonGad.Pressed THEN
  57.     hexagon
  58.   ENDIF
  59. UNTIL Close.Pressed
  60.  
  61. textscreen
  62.  
  63.  
  64. // ************* end of main program **********
  65.  
  66. MODULE Figures
  67.  
  68.   USE Turtle
  69.  
  70.   EXPORT triangle,square,pentagon,hexagon
  71.  
  72.   PROC triangle
  73.     Polygon(3)
  74.   ENDPROC triangle
  75.  
  76.   PROC square
  77.     Polygon(4)
  78.   ENDPROC square
  79.  
  80.   PROC pentagon
  81.     Polygon(5)
  82.   ENDPROC pentagon
  83.  
  84.   PROC hexagon
  85.     Polygon(6)
  86.   ENDPROC hexagon
  87.  
  88.   PROC Polygon(n)
  89.     LOOP n TIMES
  90.       forward(50)
  91.       right(360/n)
  92.     ENDLOOP
  93.   ENDPROC Polygon
  94.  
  95. ENDMODULE Figures
  96.