megamang.lua 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365
  1. -- title: megamegamang
  2. -- author: pixelbath
  3. -- desc: in a world...where one robot, uh...thing. helps people? by shooting lots of robot enemies
  4. -- site: website link
  5. -- license: MIT License (change this to your license of choice)
  6. -- version: 0.1
  7. -- script: lua
  8. t=0
  9. x=96
  10. y=24
  11. local player = {
  12. screenx=110,
  13. screeny=80,
  14. spr=0,
  15. spr_base=256,
  16. flip=0,
  17. cnt_run=0,
  18. cnt_fire=0,
  19. frames_run={258,260,262,260},
  20. frame_slide=266,
  21. }
  22. function BOOT()
  23. player.spr=player.spr_base
  24. end
  25. function update()
  26. local is_running = false
  27. if btn(2) then
  28. player.cnt_run = player.cnt_run + 1
  29. player.flip = 1
  30. is_running = true
  31. end
  32. if btn(3) then
  33. player.cnt_run = player.cnt_run + 1
  34. player.flip = 0
  35. is_running = true
  36. end
  37. if btn(4) then
  38. player.cnt_fire = 10
  39. else
  40. player.cnt_fire = player.cnt_fire - 1
  41. end
  42. -- reset run counter if not pressing a button
  43. if not is_running then player.cnt_run = 0 end
  44. local spr_offset = 0
  45. if player.cnt_run > 0 then
  46. spr_offset = ((player.cnt_run // 6) % 4) + 1
  47. player.spr = player.frames_run[spr_offset]
  48. else
  49. player.spr = player.spr_base
  50. end
  51. if player.cnt_fire > 0 then
  52. player.spr = player.spr + 32
  53. end
  54. end
  55. function draw_player(colorkey)
  56. spr(player.spr, player.screenx, player.screeny, colorkey, 1, player.flip, 0, 2, 2)
  57. if player.cnt_fire > 8 then
  58. if player.flip == 1 then
  59. spr(270, player.screenx, player.screeny+2, colorkey, 1, player.flip)
  60. else
  61. spr(270, player.screenx+8, player.screeny+2, colorkey, 1, player.flip)
  62. end
  63. end
  64. end
  65. function TIC()
  66. update()
  67. cls(13)
  68. draw_player(5)
  69. print(player.spr)
  70. t=t+1
  71. end
  72. -- <SPRITES>
  73. -- 000:55555000555500bb55500a99555099995550b9995550b99455500b9455550099
  74. -- 001:00555555b0055555ab00555599a05555bb905555f49055554400555540055555
  75. -- 002:5555555555555000555500bb55500a99555099995550b9995550b99450000b94
  76. -- 003:5555555500555555b0055555ab00555599a05555bb905555f490555544000555
  77. -- 004:55555000555500bb55500a99555099995550b9995550b99455500b9455550099
  78. -- 005:00555555b0055555ab00555599a05555bb905555f49055554400555540055555
  79. -- 006:5555555555555000555500bb55500a99555099995550b9995550b99455000b94
  80. -- 007:5555555500555555b0055555ab00555599a05555bb905555f490555544005555
  81. -- 008:55555000555500bb50000a9950990999509909995099b99450099b945500bb99
  82. -- 009:00555555b0055555ab000055990aa055bb999055f4999055449900554bb00555
  83. -- 010:5555555555555555555555555555555555555555555000005500bbb050099abb
  84. -- 011:5555555555555555555555555555555555555555555555550555555500005555
  85. -- 012:55089000550990ab5509b9bb550b99bb550bb9aa5500b99955509b9955500b99
  86. -- 013:00555555a00555559a0055559990555599b0555599b005559b9905559b990555
  87. -- 014:555555555ab555555cb5555555b555555c5555555555bc555555abc555555b55
  88. -- 015:5ff55555fccf5555fccf55555ff5555555555555555555555555555555555555
  89. -- 016:55000bbb5509b0bb5509909955099b99550000bb555009995550999955509988
  90. -- 017:bb000555b0b90555909905559b990555b00005559a0555559900555599a05555
  91. -- 018:509bbb9950990bbb509900bb5500bb995009ab9b509999095000000955555508
  92. -- 019:40990555b0990555bbb0055500005555aa055555990555559900555599a05555
  93. -- 020:55500bbb5550b0bb5550b99955509999555099bb555099995550909955500089
  94. -- 021:b0555555b005555599055555b9055555a005555590555555900555559a055555
  95. -- 022:5009bbb9509b0bbb509900bb50000b99009abb99099999000009900055000050
  96. -- 023:40055555b9905555b990555500055555bba055559990555599905555899a0555
  97. -- 024:55500bbb555500bb5555009955550b9955550bb055009ab05509990555099805
  98. -- 025:bb005555b00555559bb005559bba055509990555099905550999a05500000055
  99. -- 026:5099999950b999bb50b994f4550b94445000994b509bbbbb00990bb909980099
  100. -- 027:99a055559b9005559b990055b999a055bb99900099b999a09bb9999090089900
  101. -- 028:555500bb555550bb5555009955550b9955500bb0555099b05550989055508880
  102. -- 029:bbb90555bb005555abba05559999055508890555089905555099055550000555
  103. -- 030:5fff5555fcccf555fcccf5555fff555555555555555555555555555555555555
  104. -- 031:55ffff555f5555f5f55ff55ff5fccf5ff5fccf5ff55ff55f5f5555f555ffff55
  105. -- 032:55555000555500bb55500999555099995550b9995550b99455500b9455509b99
  106. -- 033:00555555b0055555ab00555599905555bb905555f49055554400000540009a00
  107. -- 034:5555555555555000555500bb55500999555099995550b9995550b99450000b94
  108. -- 035:5555555500555555b0055555ab00555599905555bb905555f490555544000005
  109. -- 036:55555000555500bb55500999555099995550b9995550b99455500b9455550099
  110. -- 037:00555555b0055555ab00555599905555bb905555f49055554400000540009a00
  111. -- 038:5555555555555000555500bb55500999555099995550b9995550b99455500b94
  112. -- 039:5555555500555555b0055555ab00555599905555bb905555f490555544000005
  113. -- 040:55555000555500bb5000099950990999509909995099b99450099b945500bb99
  114. -- 041:00555555b0055555ab00555599905555bb905555f4905555440000054b009a00
  115. -- 042:55555000555500bb55500a99555099995550b9995550b99455500b9455550099
  116. -- 043:00555555b0055555ab00555599a05555bb905555349055554400555540055555
  117. -- 044:55099000550990bb5509bb99550bb999550b9bb955009bb95550b9bb55500b99
  118. -- 045:00555555b0055555ab055555990055559bb05555f490000544009a009bb999a0
  119. -- 046:5fffff55faafaaf5fafbfaf5faafaaf55fffff55555555555555555555555555
  120. -- 047:5555555555555555555555555555555555555555555555555555555555555555
  121. -- 048:5550bbbb555099bb555099995550bb9955509b9b550099005509990555099805
  122. -- 049:bbb999a0b00b990000500005bb005555bba055559990555599900555899a0555
  123. -- 050:509bbb9950990bbb509900bb5500bb995009ab9b509999095000000955555508
  124. -- 051:40009a00bbb999a0b000990000550005aa055555990555559900555599a05555
  125. -- 052:55500bbb5550b0bb5550b99955509999555099bb555099995550909955500089
  126. -- 053:bbb999a0b000990090550005b9055555a005555590555555900555559a055555
  127. -- 054:55550bb955550bbb555550bb50000b99009abb99099999000009900055000050
  128. -- 055:40009a00b99999a0b990990000050005bba055559990555599905555899a0555
  129. -- 056:55500bbb555500bb5555509955550b9955550bb055009ab05509990555099805
  130. -- 057:bbb999a0b00099009bb000059bba055509990555099905550999a05500000055
  131. -- 058:55000bbb5509b0bb5509909955099b99550000bb555009995550999955509988
  132. -- 059:bb000555b0b90555909905559b990555b00005559a0555559900555599a05555
  133. -- 060:555500bb555550bb5555009955550b9955500bb0555099b05550989055508880
  134. -- 061:bb009900bb000055abba05559999055508890555089905555099055550000555
  135. -- 062:5555555555555555555555555555555555555555555555555555555555555555
  136. -- 063:5555555555555555555555555555555555555555555555555555555555555555
  137. -- 064:5555555555555555555555555555555555555555555555555555555555555555
  138. -- 065:5555555555555555555555555555555555555555555555555555555555555555
  139. -- 066:5555555555555555555555555555555555555555555555555555555555555555
  140. -- 067:5555555555555555555555555555555555555555555555555555555555555555
  141. -- 068:5555555555555555555555555555555555555555555555555555555555555555
  142. -- 069:5555555555555555555555555555555555555555555555555555555555555555
  143. -- 070:5555555555555555555555555555555555555555555555555555555555555555
  144. -- 071:5555555555555555555555555555555555555555555555555555555555555555
  145. -- 072:5555555555555555555555555555555555555555555555555555555555555555
  146. -- 073:5555555555555555555555555555555555555555555555555555555555555555
  147. -- 074:5555555555555555555555555555555555555555555555555555555555555555
  148. -- 075:5555555555555555555555555555555555555555555555555555555555555555
  149. -- 076:5555555555555555555555555555555555555555555555555555555555555555
  150. -- 077:5555555555555555555555555555555555555555555555555555555555555555
  151. -- 078:5555555555555555555555555555555555555555555555555555555555555555
  152. -- 079:5555555555555555555555555555555555555555555555555555555555555555
  153. -- 080:5555555555555555555555555555555555555555555555555555555555555555
  154. -- 081:5555555555555555555555555555555555555555555555555555555555555555
  155. -- 082:5555555555555555555555555555555555555555555555555555555555555555
  156. -- 083:5555555555555555555555555555555555555555555555555555555555555555
  157. -- 084:5555555555555555555555555555555555555555555555555555555555555555
  158. -- 085:5555555555555555555555555555555555555555555555555555555555555555
  159. -- 086:5555555555555555555555555555555555555555555555555555555555555555
  160. -- 087:5555555555555555555555555555555555555555555555555555555555555555
  161. -- 088:5555555555555555555555555555555555555555555555555555555555555555
  162. -- 089:5555555555555555555555555555555555555555555555555555555555555555
  163. -- 090:5555555555555555555555555555555555555555555555555555555555555555
  164. -- 091:5555555555555555555555555555555555555555555555555555555555555555
  165. -- 092:5555555555555555555555555555555555555555555555555555555555555555
  166. -- 093:5555555555555555555555555555555555555555555555555555555555555555
  167. -- 094:5555555555555555555555555555555555555555555555555555555555555555
  168. -- 095:5555555555555555555555555555555555555555555555555555555555555555
  169. -- 096:5555555555555555555555555555555555555555555555555555555555555555
  170. -- 097:5555555555555555555555555555555555555555555555555555555555555555
  171. -- 098:5555555555555555555555555555555555555555555555555555555555555555
  172. -- 099:5555555555555555555555555555555555555555555555555555555555555555
  173. -- 100:5555555555555555555555555555555555555555555555555555555555555555
  174. -- 101:5555555555555555555555555555555555555555555555555555555555555555
  175. -- 102:5555555555555555555555555555555555555555555555555555555555555555
  176. -- 103:5555555555555555555555555555555555555555555555555555555555555555
  177. -- 104:5555555555555555555555555555555555555555555555555555555555555555
  178. -- 105:5555555555555555555555555555555555555555555555555555555555555555
  179. -- 106:5555555555555555555555555555555555555555555555555555555555555555
  180. -- 107:5555555555555555555555555555555555555555555555555555555555555555
  181. -- 108:5555555555555555555555555555555555555555555555555555555555555555
  182. -- 109:5555555555555555555555555555555555555555555555555555555555555555
  183. -- 110:5555555555555555555555555555555555555555555555555555555555555555
  184. -- 111:5555555555555555555555555555555555555555555555555555555555555555
  185. -- 112:5555555555555555555555555555555555555555555555555555555555555555
  186. -- 113:5555555555555555555555555555555555555555555555555555555555555555
  187. -- 114:5555555555555555555555555555555555555555555555555555555555555555
  188. -- 115:5555555555555555555555555555555555555555555555555555555555555555
  189. -- 116:5555555555555555555555555555555555555555555555555555555555555555
  190. -- 117:5555555555555555555555555555555555555555555555555555555555555555
  191. -- 118:5555555555555555555555555555555555555555555555555555555555555555
  192. -- 119:5555555555555555555555555555555555555555555555555555555555555555
  193. -- 120:5555555555555555555555555555555555555555555555555555555555555555
  194. -- 121:5555555555555555555555555555555555555555555555555555555555555555
  195. -- 122:5555555555555555555555555555555555555555555555555555555555555555
  196. -- 123:5555555555555555555555555555555555555555555555555555555555555555
  197. -- 124:5555555555555555555555555555555555555555555555555555555555555555
  198. -- 125:5555555555555555555555555555555555555555555555555555555555555555
  199. -- 126:5555555555555555555555555555555555555555555555555555555555555555
  200. -- 127:5555555555555555555555555555555555555555555555555555555555555555
  201. -- 128:5555555555555555555555555555555555555555555555555555555555555555
  202. -- 129:5555555555555555555555555555555555555555555555555555555555555555
  203. -- 130:5555555555555555555555555555555555555555555555555555555555555555
  204. -- 131:5555555555555555555555555555555555555555555555555555555555555555
  205. -- 132:5555555555555555555555555555555555555555555555555555555555555555
  206. -- 133:5555555555555555555555555555555555555555555555555555555555555555
  207. -- 134:5555555555555555555555555555555555555555555555555555555555555555
  208. -- 135:5555555555555555555555555555555555555555555555555555555555555555
  209. -- 136:5555555555555555555555555555555555555555555555555555555555555555
  210. -- 137:5555555555555555555555555555555555555555555555555555555555555555
  211. -- 138:5555555555555555555555555555555555555555555555555555555555555555
  212. -- 139:5555555555555555555555555555555555555555555555555555555555555555
  213. -- 140:5555555555555555555555555555555555555555555555555555555555555555
  214. -- 141:5555555555555555555555555555555555555555555555555555555555555555
  215. -- 142:5555555555555555555555555555555555555555555555555555555555555555
  216. -- 143:5555555555555555555555555555555555555555555555555555555555555555
  217. -- 144:5555555555555555555555555555555555555555555555555555555555555555
  218. -- 145:5555555555555555555555555555555555555555555555555555555555555555
  219. -- 146:5555555555555555555555555555555555555555555555555555555555555555
  220. -- 147:5555555555555555555555555555555555555555555555555555555555555555
  221. -- 148:5555555555555555555555555555555555555555555555555555555555555555
  222. -- 149:5555555555555555555555555555555555555555555555555555555555555555
  223. -- 150:5555555555555555555555555555555555555555555555555555555555555555
  224. -- 151:5555555555555555555555555555555555555555555555555555555555555555
  225. -- 152:5555555555555555555555555555555555555555555555555555555555555555
  226. -- 153:5555555555555555555555555555555555555555555555555555555555555555
  227. -- 154:5555555555555555555555555555555555555555555555555555555555555555
  228. -- 155:5555555555555555555555555555555555555555555555555555555555555555
  229. -- 156:5555555555555555555555555555555555555555555555555555555555555555
  230. -- 157:5555555555555555555555555555555555555555555555555555555555555555
  231. -- 158:5555555555555555555555555555555555555555555555555555555555555555
  232. -- 159:5555555555555555555555555555555555555555555555555555555555555555
  233. -- 160:5555555555555555555555555555555555555555555555555555555555555555
  234. -- 161:5555555555555555555555555555555555555555555555555555555555555555
  235. -- 162:5555555555555555555555555555555555555555555555555555555555555555
  236. -- 163:5555555555555555555555555555555555555555555555555555555555555555
  237. -- 164:5555555555555555555555555555555555555555555555555555555555555555
  238. -- 165:5555555555555555555555555555555555555555555555555555555555555555
  239. -- 166:5555555555555555555555555555555555555555555555555555555555555555
  240. -- 167:5555555555555555555555555555555555555555555555555555555555555555
  241. -- 168:5555555555555555555555555555555555555555555555555555555555555555
  242. -- 169:5555555555555555555555555555555555555555555555555555555555555555
  243. -- 170:5555555555555555555555555555555555555555555555555555555555555555
  244. -- 171:5555555555555555555555555555555555555555555555555555555555555555
  245. -- 172:5555555555555555555555555555555555555555555555555555555555555555
  246. -- 173:5555555555555555555555555555555555555555555555555555555555555555
  247. -- 174:5555555555555555555555555555555555555555555555555555555555555555
  248. -- 175:5555555555555555555555555555555555555555555555555555555555555555
  249. -- 176:5555555555555555555555555555555555555555555555555555555555555555
  250. -- 177:5555555555555555555555555555555555555555555555555555555555555555
  251. -- 178:5555555555555555555555555555555555555555555555555555555555555555
  252. -- 179:5555555555555555555555555555555555555555555555555555555555555555
  253. -- 180:5555555555555555555555555555555555555555555555555555555555555555
  254. -- 181:5555555555555555555555555555555555555555555555555555555555555555
  255. -- 182:5555555555555555555555555555555555555555555555555555555555555555
  256. -- 183:5555555555555555555555555555555555555555555555555555555555555555
  257. -- 184:5555555555555555555555555555555555555555555555555555555555555555
  258. -- 185:5555555555555555555555555555555555555555555555555555555555555555
  259. -- 186:5555555555555555555555555555555555555555555555555555555555555555
  260. -- 187:5555555555555555555555555555555555555555555555555555555555555555
  261. -- 188:5555555555555555555555555555555555555555555555555555555555555555
  262. -- 189:5555555555555555555555555555555555555555555555555555555555555555
  263. -- 190:5555555555555555555555555555555555555555555555555555555555555555
  264. -- 191:5555555555555555555555555555555555555555555555555555555555555555
  265. -- 192:5555555555555555555555555555555555555555555555555555555555555555
  266. -- 193:5555555555555555555555555555555555555555555555555555555555555555
  267. -- 194:5555555555555555555555555555555555555555555555555555555555555555
  268. -- 195:5555555555555555555555555555555555555555555555555555555555555555
  269. -- 196:5555555555555555555555555555555555555555555555555555555555555555
  270. -- 197:5555555555555555555555555555555555555555555555555555555555555555
  271. -- 198:5555555555555555555555555555555555555555555555555555555555555555
  272. -- 199:5555555555555555555555555555555555555555555555555555555555555555
  273. -- 200:5555555555555555555555555555555555555555555555555555555555555555
  274. -- 201:5555555555555555555555555555555555555555555555555555555555555555
  275. -- 202:5555555555555555555555555555555555555555555555555555555555555555
  276. -- 203:5555555555555555555555555555555555555555555555555555555555555555
  277. -- 204:5555555555555555555555555555555555555555555555555555555555555555
  278. -- 205:5555555555555555555555555555555555555555555555555555555555555555
  279. -- 206:5555555555555555555555555555555555555555555555555555555555555555
  280. -- 207:5555555555555555555555555555555555555555555555555555555555555555
  281. -- 208:5555555555555555555555555555555555555555555555555555555555555555
  282. -- 209:5555555555555555555555555555555555555555555555555555555555555555
  283. -- 210:5555555555555555555555555555555555555555555555555555555555555555
  284. -- 211:5555555555555555555555555555555555555555555555555555555555555555
  285. -- 212:5555555555555555555555555555555555555555555555555555555555555555
  286. -- 213:5555555555555555555555555555555555555555555555555555555555555555
  287. -- 214:5555555555555555555555555555555555555555555555555555555555555555
  288. -- 215:5555555555555555555555555555555555555555555555555555555555555555
  289. -- 216:5555555555555555555555555555555555555555555555555555555555555555
  290. -- 217:5555555555555555555555555555555555555555555555555555555555555555
  291. -- 218:5555555555555555555555555555555555555555555555555555555555555555
  292. -- 219:5555555555555555555555555555555555555555555555555555555555555555
  293. -- 220:5555555555555555555555555555555555555555555555555555555555555555
  294. -- 221:5555555555555555555555555555555555555555555555555555555555555555
  295. -- 222:5555555555555555555555555555555555555555555555555555555555555555
  296. -- 223:5555555555555555555555555555555555555555555555555555555555555555
  297. -- 224:5555555555555555555555555555555555555555555555555555555555555555
  298. -- 225:5555555555555555555555555555555555555555555555555555555555555555
  299. -- 226:5555555555555555555555555555555555555555555555555555555555555555
  300. -- 227:5555555555555555555555555555555555555555555555555555555555555555
  301. -- 228:5555555555555555555555555555555555555555555555555555555555555555
  302. -- 229:5555555555555555555555555555555555555555555555555555555555555555
  303. -- 230:5555555555555555555555555555555555555555555555555555555555555555
  304. -- 231:5555555555555555555555555555555555555555555555555555555555555555
  305. -- 232:5555555555555555555555555555555555555555555555555555555555555555
  306. -- 233:5555555555555555555555555555555555555555555555555555555555555555
  307. -- 234:5555555555555555555555555555555555555555555555555555555555555555
  308. -- 235:5555555555555555555555555555555555555555555555555555555555555555
  309. -- 236:5555555555555555555555555555555555555555555555555555555555555555
  310. -- 237:5555555555555555555555555555555555555555555555555555555555555555
  311. -- 238:5555555555555555555555555555555555555555555555555555555555555555
  312. -- 239:5555555555555555555555555555555555555555555555555555555555555555
  313. -- 240:5555555555555555555555555555555555555555555555555555555555555555
  314. -- 241:5555555555555555555555555555555555555555555555555555555555555555
  315. -- 242:5555555555555555555555555555555555555555555555555555555555555555
  316. -- 243:5555555555555555555555555555555555555555555555555555555555555555
  317. -- 244:5555555555555555555555555555555555555555555555555555555555555555
  318. -- 245:5555555555555555555555555555555555555555555555555555555555555555
  319. -- 246:5555555555555555555555555555555555555555555555555555555555555555
  320. -- 247:5555555555555555555555555555555555555555555555555555555555555555
  321. -- 248:5555555555555555555555555555555555555555555555555555555555555555
  322. -- 249:5555555555555555555555555555555555555555555555555555555555555555
  323. -- 250:5555555555555555555555555555555555555555555555555555555555555555
  324. -- 251:5555555555555555555555555555555555555555555555555555555555555555
  325. -- 252:5555555555555555555555555555555555555555555555555555555555555555
  326. -- 253:5555555555555555555555555555555555555555555555555555555555555555
  327. -- 254:5555555555555555555555555555555555555555555555555555555555555555
  328. -- 255:5555555555555555555555555555555555555555555555555555555555555555
  329. -- </SPRITES>
  330. -- <WAVES>
  331. -- 000:00000000ffffffff00000000ffffffff
  332. -- 001:0123456789abcdeffedcba9876543210
  333. -- 002:0123456789abcdef0123456789abcdef
  334. -- </WAVES>
  335. -- <SFX>
  336. -- 000:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000304000000000
  337. -- </SFX>
  338. -- <TRACKS>
  339. -- 000:100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  340. -- </TRACKS>
  341. -- <PALETTE>
  342. -- 000:1a1c2c5d275db13e53ef7d57ffcd75a7f07038b76425717929366f3b5dc941a6f673eff7f4f4f494b0c2566c86333c57
  343. -- </PALETTE>