home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / COMAL3-1.DMS / in.adf / Demos / GelObjDemo < prev    next >
Encoding:
Text File  |  1993-03-30  |  2.2 KB  |  103 lines

  1. // This program demonstrates the Gel objects.
  2. //
  3. // A Sprite and a Bob is treated as objects with certain
  4. // member functions such as Create, Delete and Move.
  5. //
  6. // The immage data is placed in DATA statements in a user
  7. // defined object that inherits properties (in several steps)
  8. // from other Gel objects.
  9.  
  10. USE GelObject
  11.  
  12. DIM MySprite1 OF VirtualSprite
  13. DIM MyBob1 OF Bob
  14. DIM MySprite2 OF VirtualSprite
  15. DIM MyBob2 OF Bob
  16.  
  17. MySprite1.Create
  18. MySprite1.Draw(100,50)
  19. MyBob1.Create
  20. MyBob1.Draw(110,150)
  21. MySprite2.Create
  22. MySprite2.Draw(500,50)
  23. MyBob2.Create
  24. MyBob2.Draw(490,150)
  25.  
  26. t$:=INKEY$(2)
  27.  
  28. LOOP 100 TIMES
  29.   MySprite1.Move(4,1)
  30.   MyBob1.Move(4,-1)
  31.   MySprite2.Move(-4,1)
  32.   MyBob2.Move(-4,-1)
  33. ENDLOOP
  34.  
  35. t$:=INKEY$(5)
  36.  
  37. MySprite1.Delete
  38. MyBob1.Delete
  39. MySprite2.Delete
  40. MyBob2.Delete
  41.  
  42.  
  43. STRUC VirtualSprite
  44.   INHERIT VSpriteObject
  45.  
  46.   PROC Create
  47.     Init
  48.   ENDPROC Create
  49.  
  50.   // Colors
  51.   DATA $0F00,$00F0,$000F
  52.  
  53.   // Sprite data
  54.   DATA 12                                   // number of lines
  55.   DATA %1111111111111111,%1111111111111111  // 1. line
  56.   DATA %1111111111111111,%1100000000000011
  57.   DATA %1111111111111111,%1100000000000011
  58.   DATA %1111000000001111,%1100111111110011
  59.   DATA %1111000000001111,%1100111111110011
  60.   DATA %1111000000001111,%1100110011110011
  61.   DATA %1111000000001111,%1100110011110011
  62.   DATA %1111000000001111,%1100111111110011
  63.   DATA %1111000000001111,%1100111111110011
  64.   DATA %1111111111111111,%1100000000000011
  65.   DATA %1111111111111111,%1100000000000011
  66.   DATA %1111111111111111,%1111111111111111  // 12. line
  67.  
  68. ENDSTRUC VirtualSprite
  69.  
  70. STRUC Bob
  71.   INHERIT BobObject
  72.  
  73.   PROC Create
  74.     Init
  75.   ENDPROC Create
  76.  
  77.   // Bob data
  78.   DATA 1,9     // Words per line and number of lines
  79.  
  80.   // Plane 0
  81.   DATA %0000111111000011   // 1. line
  82.   DATA %0011111111110011
  83.   DATA %0011000011000011
  84.   DATA %0000000000000000
  85.   DATA %0000000000000000
  86.   DATA %0000000000000000
  87.   DATA %1100000000110011
  88.   DATA %1111111111000000
  89.   DATA %0011111100000011   // 9. line
  90.  
  91.   // Plane 1
  92.   DATA %0000000000000000   // 1. line
  93.   DATA %0000000000000000
  94.   DATA %0000000000000000
  95.   DATA %0011110000000011
  96.   DATA %0011111111000011
  97.   DATA %0000001111000011
  98.   DATA %1100000000110011
  99.   DATA %1111111111000000
  100.   DATA %0011111100000011   // 9. line
  101.  
  102. ENDSTRUC Bob
  103.