home *** CD-ROM | disk | FTP | other *** search
/ Amiga Computing 66 / ac066b.adf / AMOS.DMS / AMOS.adf / amos_3d_demos / Mad_Robot.AMOS / Mad_Robot.amosSourceCode
AMOS Source Code  |  1991-07-30  |  3KB  |  115 lines

  1. '
  2. '              The Mad Robot Demo  
  3. '
  4. '                By Nick Harper  
  5. '
  6. ' (c) Copyright Europress / VooDoo Software 1991 
  7. '
  8. '
  9. '
  10. Curs Off : Flash Off 
  11. Screen Open 0,320,200,16,Lowres
  12. Cls 0
  13.  Extension_4_0024 
  14.  Extension_4_0054 200
  15.  Extension_4_04D6 ":AMOS_3d_demos/objects"
  16.  Extension_4_0016 "torso"
  17.  Extension_4_0016 "leg"
  18.  Extension_4_0016 "arm"
  19.  Extension_4_0016 "head"
  20.  Extension_4_0016 "stool"
  21.  Extension_4_0016 "animcube"
  22. Fade 1 : Wait 20
  23.  Extension_4_0036 1,"torso",0,900,5000,0,0,0
  24.  Extension_4_0036 2,"leg",-200,700,5000,0,0,0
  25.  Extension_4_0036 3,"leg",200,700,5000,0,0,0
  26.  Extension_4_0036 4,"arm",-300,1200,5000,0,0,-5000
  27.  Extension_4_0036 5,"arm",330,1350,5000,0,0,0
  28.  Extension_4_0036 6,"head",0,1400,5000,0,0,0
  29.  Extension_4_0036 7,"stool",1000,-300,4500,0,0,0
  30.  Extension_4_0036 8,"stool",-700,-300,6500,0,0,0
  31.  Extension_4_00EC 0,1500,1000,500
  32.  Extension_4_01F8 0,1
  33. Double Buffer : Autoback 0
  34.  Extension_4_053C 
  35.  Extension_4_0318 
  36. Screen Swap 
  37. Hide On 
  38. Fade 1,$F38,$FFF,,,,,,,$FB9,$7F,$F,$BF,$A00,$500
  39. HEAD=160
  40. LLEG=200 : LLEGS=0
  41. RLEG=-250 : RLEGS=1
  42. USX=150 : USZ=150
  43. BOUNCE=200
  44. Set Rainbow 0,0,250,"(15,1,2)","(6,1,2)","(9,1,2)"
  45. Rainbow 0,0,156,94
  46. BODY=0 : BODYI=1
  47. Do 
  48.     Extension_4_01F8 0,1
  49.    Gosub SHIFTEM
  50.     Extension_4_053C 
  51.     Extension_4_0318 
  52.    Screen Swap 
  53.    Wait Vbl 
  54.    Gosub LEFT_ARM
  55.    Gosub RIGHT_ARM
  56.    Gosub LEFT_LEG
  57.    Gosub RIGHT_LEG
  58.    Gosub HEAD
  59.    Gosub BODY
  60.    If BNC=1 Then Gosub BOUNCES
  61. Loop 
  62. HEAD:
  63.  Extension_4_00D4 6,0,HEAD,0
  64.  Extension_4_018C 6,0,0,1927
  65. HEAD=HEAD-20
  66. If HEAD>-161 Then Return 
  67. HEAD=160
  68. ANG= Extension_4_01E4(6)
  69. If Abs(ANG)<2000 Then Extension_4_01A6 6,0,0,0
  70. Return 
  71. LEFT_ARM:
  72.  Extension_4_018C 5,0,2000,0
  73.  Extension_4_029C 5,4,0,HEAD,0,1
  74.  Extension_4_00D4 5,0,-HEAD,0
  75. Return 
  76. RIGHT_ARM:
  77.  Extension_4_018C 4,3854,0,0
  78. ANG= Extension_4_01E4(4)
  79. If Abs(ANG)<2000 Then Extension_4_01A6 4,0,0,0
  80. Return 
  81. LEFT_LEG:
  82. If LLEGS=0 Then Extension_4_00D4 3,0,LLEG,0
  83. If LLEGS=0 Then Extension_4_029C 3,4,0,-LLEG,0,1
  84. If LLEGS=0 Then LLEG=LLEG-50
  85. If LLEG=-250 and LLEGS=1 Then BNC=1 : Boom 
  86. If LLEG=-250 Then Inc LLEGS
  87. If LLEGS=9 Then LLEGS=0 : LLEG=200
  88. Return 
  89. RIGHT_LEG:
  90. If RLEGS=0 Then Extension_4_00D4 2,0,RLEG,0
  91. If RLEGS=0 Then Extension_4_029C 2,4,0,-RLEG,0,1
  92. If RLEGS=0 Then RLEG=RLEG-50
  93. If RLEG=-250 and RLEGS=1 Then BNC=1 : Boom 
  94. If RLEG=-250 Then Inc RLEGS
  95. If RLEGS=9 Then RLEGS=0 : RLEG=200
  96. Return 
  97. SHIFTEM:
  98.  Extension_4_00D4 0,USX,0,USZ
  99. If Extension_4_0114(0)- Extension_4_0114(1)>4000 Then Add USX,-10
  100. If Extension_4_0114(1)- Extension_4_0114(0)>4000 Then Add USX,10
  101. If Extension_4_013C(0)- Extension_4_013C(1)>4000 Then Add USZ,-10
  102. If Extension_4_013C(1)- Extension_4_013C(0)>4000 Then Add USZ,10
  103. Return 
  104. BOUNCES:
  105.  Extension_4_00D4 7,0,BOUNCE,0
  106.  Extension_4_00D4 8,0,BOUNCE,0
  107. Add BOUNCE,-100
  108. If BOUNCE=-300 Then BOUNCE=200 : BNC=0
  109. Return 
  110. BODY:
  111.  Extension_4_051E "animcube",0,BODY To 1,0,0,2
  112. Add BODY,BODYI
  113. If BODY=3 Then BODYI=-1
  114. If BODY=0 Then BODYI=1
  115. Return