home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / amos / amoslist-0295.lzh / AMOSLIST / Ghost.AMOS / Ghost.amosSourceCode < prev    next >
Encoding:
AMOS Source Code  |  1995-03-01  |  1.6 KB  |  73 lines

  1. Screen Open 0,640,400,4,Hires+Laced : Flash Off : Curs Off : Cls 0
  2. Get Bob Palette 
  3.  
  4. ' 0 = x
  5. ' 1 = y
  6. ' 2 = dx 
  7. ' 3 = dy 
  8. ' 4 = weight (gravity addition)
  9. ' 5 = image
  10.  
  11. Double Buffer 
  12.  
  13. NOO=6
  14. Dim OBJ#(10,5)
  15.  
  16. OBJ#(1,0)=319
  17. OBJ#(1,1)=200
  18. OBJ#(1,2)=0
  19. OBJ#(1,3)=0
  20. OBJ#(1,4)=1
  21. OBJ#(1,5)=1
  22.  
  23. For T=2 To 10
  24. OBJ#(T,0)=Rnd(500)+10
  25. OBJ#(T,1)=Rnd(300)+1
  26. OBJ#(T,2)=5-(Rnd(10))
  27. OBJ#(T,3)=-(Rnd(3))
  28. OBJ#(T,4)=0.3
  29. OBJ#(T,5)=Rnd(2)+3
  30. Next 
  31.  
  32.  
  33. MAIN:
  34. For T=1 To NOO
  35.  
  36. ' Add speeds to location 
  37.  OBJ#(T,0)=OBJ#(T,0)+OBJ#(T,2)
  38.  OBJ#(T,1)=OBJ#(T,1)+OBJ#(T,3)
  39.  
  40. ' Check for collisions 
  41.  If Bob Col(T)<>0 Then OBJ#(T,2)=5-Rnd(10) : OBJ#(T,3)=-OBJ#(T,3)*3 : OBJ#(T,0)=OBJ#(T,0)+OBJ#(T,2) : OBJ#(T,1)=OBJ#(T,1)+OBJ#(T,3)
  42.  
  43. ' Check for screen edge collisions 
  44. If OBJ#(T,0)<0 Then OBJ#(T,0)=0 : OBJ#(T,2)=-(OBJ#(T,2)-2)
  45. If OBJ#(T,1)<0 Then OBJ#(T,1)=0 : OBJ#(T,3)=0
  46. If OBJ#(T,0)>600 Then OBJ#(T,0)=600 : OBJ#(T,2)=-(OBJ#(T,2)-2)
  47. If OBJ#(T,1)>350 Then OBJ#(T,1)=350 : OBJ#(T,3)=-(OBJ#(T,3)-2)
  48.  
  49. ' Add gravity to Y speed 
  50.  OBJ#(T,3)=OBJ#(T,3)+OBJ#(T,4)
  51.  
  52. ' Slow down X speed
  53.   If OBJ#(T,2)>0 Then OBJ#(T,2)=OBJ#(T,2)-0.125
  54.   If OBJ#(T,2)<0 Then OBJ#(T,2)=OBJ#(T,2)+0.125
  55.   If Abs(OBJ#(T,2))<1 Then OBJ#(T,2)=0
  56.  
  57. ' Make sure speeds aren't over 5 
  58. If OBJ#(T,2)<-5 Then OBJ#(T,2)=-5
  59. If OBJ#(T,2)>5 Then OBJ#(T,2)=5
  60. If OBJ#(T,3)<-5 Then OBJ#(T,3)=-5
  61. If OBJ#(T,3)>5 Then OBJ#(T,3)=5
  62.  
  63. Bob T,OBJ#(T,0),OBJ#(T,1),OBJ#(T,5)
  64. Next 
  65.  
  66. ' Get input for object 1 (player)
  67. J=Joy(1)
  68. If(J and 1)=1 Then OBJ#(1,3)=OBJ#(1,3)-1.5
  69. If(J and 2)=2 Then OBJ#(1,3)=OBJ#(1,3)+OBJ#(1,4)
  70. If(J and 4)=4 Then OBJ#(1,2)=OBJ#(1,2)-2 : OBJ#(1,5)=1
  71. If(J and 8)=8 Then OBJ#(1,2)=OBJ#(1,2)+2 : OBJ#(1,5)=2
  72.  
  73. If Inkey$="" Then Goto MAIN