Advertisement
Guest User

Chad Lansdell - Lab 6 / Key World

a guest
Apr 19th, 2014
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.99 KB | None | 0 0
  1. //Description of Game:
  2. // In this game, the player takes control over an alligator filled with rage that people have invaded his swamp.
  3.  
  4. //Description of Mechanics:
  5. //Description of Collectible Coin Mechanic 1: I used the collectible coin feature in the form of the alligator eating people. For every person he eats he gains in his score!
  6. //Description of Key/Door Mechanic 2: I placed a key in the form of an "S" symbol which represents strength. The alligator collects this key to have enough strength to open the door @ 14, 14.
  7. //Description of Hidden Passage Mechanic: There is a secret and hidden bead which the player can stumble over which will open up a hidden cover full of people hiding! The hidden bead is located @ 9, 17
  8.  
  9. // game.js for Perlenspiel 3.1.1
  10. // Modifications by Mark Diehr: mdiehr@fullsail.com
  11. // Perlenspiel is a scheme by Professor Moriarty (bmoriarty@wpi.edu).
  12. // Perlenspiel is Copyright © 2009-14 Worcester Polytechnic Institute.
  13. // This file is part of Perlenspiel.
  14.  
  15. // Please fill out these comments with the appropriate information.
  16. // Project Title: Lab 6 - Key World
  17. // Author: Chad Lansdell
  18. // Date: April 17, 2014
  19.  
  20. /* Project notes:
  21. You can include project notes, messages, instructions, and TODOs here if you wish.
  22.  
  23. */
  24.  
  25. // Put your global variables after this line
  26. var px = 2;
  27. var py = 2;
  28. var width = 20;
  29. var height = 20;
  30. var PlayerInventory = {
  31. coins: 0,
  32. keys: 0,
  33. }
  34.  
  35. // Put your function definitions after this line
  36.  
  37. // Creates Coin Location
  38.  
  39. function PlaceCoin(x, y) {
  40. PS.glyph(x, y, "☺");
  41. PS.data(x, y, "coin")
  42. }
  43.  
  44. function PlaceKey(x, y) {
  45. PS.glyph(x, y, "K");
  46. PS.data(x, y, "key")
  47. }
  48.  
  49. function DrawPlayer() {
  50. PS.glyph(px, py, "<");
  51. }
  52.  
  53. function MakeWall(x, y) {
  54. PS.color(x, y, 0x59c3e2)
  55. PS.data(x, y, "wall")
  56. }
  57.  
  58. function MakeFloor(x, y) {
  59. PS.color(x, y, 0xcdedf6)
  60. PS.data(x, y, 0)
  61. }
  62.  
  63. function Erase(x, y) {
  64. PS.color(x, y, PS.COLOR_WHITE);
  65. PS.glyph(x, y, 0);
  66. PS.data(x, y, 0);
  67. }
  68.  
  69. function Erasepath(x, y) {
  70. PS.color(6, 12, 0xcdedf6);
  71. PS.glyph(6, 12, 0);
  72. PS.data(6, 12, 0);
  73. PS.color(6, 13, 0xcdedf6);
  74. PS.glyph(6, 13, 0);
  75. PS.data(6, 13, 0);
  76. }
  77. // Inventory
  78.  
  79. function DrawInventory() {
  80. PS.statusText("Gatorage!: People Eaten: " + PlayerInventory.coins + "\n" + " | Strength Found:" + PlayerInventory.keys)
  81. }
  82.  
  83. function Setup() {
  84. PS.color(PS.ALL, PS.ALL, 0x169aff);
  85. PS.glyph(PS.ALL, PS.ALL, 0);
  86. PS.glyph(px, py, 0);
  87. }
  88.  
  89.  
  90. // PS.init( system, options )
  91. // Initializes the game
  92. PS.init = function (system, options) {
  93. "use strict";
  94.  
  95. // Use PS.gridSize( x, y ) to set the grid to
  96. // the initial dimensions you want (32 x 32 maximum)
  97. // Do this FIRST to avoid problems!
  98. // Otherwise you will get the default 8x8 grid
  99.  
  100. PS.gridSize(width, height); // replace with your own x/y values
  101.  
  102. // Change all beads borders to zero width
  103. PS.border(PS.ALL, PS.ALL, 0);
  104.  
  105. // Background Color
  106. PS.gridColor(0xBCED91);
  107.  
  108. PS.debug ("1) Use W, A, S, D Keys for Directional Control" + "\n" + "2) Find Strength Key to crash open the dam door!" + "\n" + "3) Find spot that allows access to cove hidden of people")
  109.  
  110. // Add any other initialization code you need here
  111.  
  112. // Draw Intentory
  113. DrawInventory();
  114.  
  115. // Preload Audio
  116. PS.audioLoad("fx_wilhelm");
  117. PS.audioLoad("fx_tada");
  118. PS.audioLoad("fx_bang");
  119. PS.audioLoad("fx_powerup8");
  120. PS.audioLoad("fx_pop");
  121.  
  122.  
  123.  
  124. // Outer Wall
  125. PS.color( 0, PS.ALL, 0x59c3e2);
  126. PS.color( PS.ALL, 19, 0x59c3e2);
  127. PS.color( 19, PS.ALL, 0x59c3e2);
  128. PS.color( PS.ALL, 0, 0x59c3e2);
  129.  
  130.  
  131. // First Wall
  132. PS.color( 1, 2, 0x7bd894);
  133. PS.data( 1, 2, "wall");
  134. PS.color( 1, 1, 0x7bd894);
  135. PS.data( 1, 1, "wall");
  136. PS.color( 2, 1, 0x7bd894);
  137. PS.data( 2, 1, "wall");
  138. PS.color( 3, 1, 0x7bd894);
  139. PS.data( 3, 1, "wall");
  140. PS.color( 5, 1, 0x7bd894);
  141. PS.data( 5, 1, "wall");
  142. PS.color( 4, 1, 0x7bd894);
  143. PS.data( 4, 1, "wall");
  144. PS.color( 6, 1, 0x7bd894);
  145. PS.data( 6, 1, "wall");
  146. PS.color( 7, 1, 0x7bd894);
  147. PS.data( 7, 1, "wall");
  148. PS.color( 7, 2, 0x7bd894);
  149. PS.data( 7, 2, "wall");
  150. PS.color( 7, 4, 0x7bd894);
  151. PS.data( 7, 4, "wall");
  152. PS.color( 7, 5, 0x7bd894);
  153. PS.data( 7, 5, "wall");
  154. PS.color( 6, 5, 0x7bd894);
  155. PS.data( 6, 5, "wall");
  156. PS.color( 5, 5, 0x7bd894);
  157. PS.data( 5, 5, "wall");
  158. PS.color( 4, 5, 0x7bd894);
  159. PS.data( 4, 5, "wall");
  160. PS.color( 1, 3, 0x7bd894);
  161. PS.data( 1, 3, "wall");
  162. PS.color( 1, 4, 0x7bd894);
  163. PS.data( 1, 4, "wall");
  164. PS.color( 1, 5, 0x7bd894);
  165. PS.data( 1, 5, "wall");
  166. PS.color( 3, 5, 0x7bd894);
  167. PS.data( 3, 5, "wall");
  168. PS.color( 1, 6, 0x7bd894);
  169. PS.data( 1, 6, "wall");
  170. PS.color( 1, 7, 0x7bd894);
  171. PS.data( 1, 7, "wall");
  172. PS.color( 1, 8, 0x7bd894);
  173. PS.data( 1, 8, "wall");
  174. PS.color( 1, 9, 0x7bd894);
  175. PS.data( 1, 9, "wall");
  176. PS.color( 2, 9, 0x7bd894);
  177. PS.data( 2, 9, "wall");
  178. PS.color( 3, 9, 0x7bd894);
  179. PS.data( 3, 9, "wall");
  180. PS.color( 4, 9, 0x7bd894);
  181. PS.data( 4, 9, "wall");
  182. PS.color( 3, 6, 0x7bd894);
  183. PS.data( 3, 6, "wall");
  184. PS.color( 3, 7, 0x7bd894);
  185. PS.data( 3, 7, "wall");
  186. PS.color( 4, 7, 0x7bd894);
  187. PS.data( 4, 7, "wall");
  188. PS.color( 5, 7, 0x7bd894);
  189. PS.data( 5, 7, "wall");
  190. PS.color( 6, 7, 0x7bd894);
  191. PS.data( 6, 7, "wall");
  192. PS.color( 5, 9, 0x7bd894);
  193. PS.data( 5, 9, "wall");
  194. PS.color( 6, 9, 0x7bd894);
  195. PS.data( 6, 9, "wall");
  196. PS.color( 7, 9, 0x7bd894);
  197. PS.data( 7, 9, "wall");
  198. PS.color( 7, 7, 0x7bd894);
  199. PS.data( 7, 7, "wall");
  200. PS.color( 7, 8, 0x7bd894);
  201. PS.data( 7, 8, "wall");
  202. PS.color( 8, 4, 0x7bd894);
  203. PS.data( 8, 4, "wall");
  204. PS.color( 8, 2, 0x7bd894);
  205. PS.data( 8, 2, "wall");
  206. PS.color( 9, 4, 0x7bd894);
  207. PS.data( 9, 4, "wall");
  208. PS.color( 9, 5, 0x7bd894);
  209. PS.data( 9, 5, "wall");
  210. PS.color( 9, 6, 0x7bd894);
  211. PS.data( 9, 6, "wall");
  212. PS.color( 9, 7, 0x7bd894);
  213. PS.data( 9, 7, "wall");
  214. PS.color( 9, 8, 0x7bd894);
  215. PS.data( 9, 8, "wall");
  216. PS.color( 9, 9, 0x7bd894);
  217. PS.data( 9, 9, "wall");
  218. PS.color( 9, 10, 0x7bd894);
  219. PS.data( 9, 10, "wall");
  220. PS.color( 9, 11, 0x7bd894);
  221. PS.data( 9, 11, "wall");
  222. PS.color( 8, 11, 0x7bd894);
  223. PS.data( 8, 11, "wall");
  224. PS.color( 7, 11, 0x7bd894);
  225. PS.data( 7, 11, "wall");
  226. PS.color( 6, 11, 0x7bd894);
  227. PS.data( 6, 11, "wall");
  228. PS.color( 5, 11, 0x7bd894);
  229. PS.data( 5, 11, "wall");
  230. PS.color( 4, 11, 0x7bd894);
  231. PS.data( 4, 11, "wall");
  232. PS.color( 4, 12, 0x7bd894);
  233. PS.data( 4, 12, "wall");
  234. PS.color( 4, 13, 0x7bd894);
  235. PS.data( 4, 13, "wall");
  236. PS.color( 4, 14, 0x7bd894);
  237. PS.data( 4, 14, "wall");
  238. PS.color( 4, 15, 0x7bd894);
  239. PS.data( 4, 15, "wall");
  240. PS.color( 3, 15, 0x7bd894);
  241. PS.data( 3, 15, "wall");
  242. PS.color( 2, 15, 0x7bd894);
  243. PS.data( 2, 15, "wall");
  244. PS.color( 1, 15, 0x7bd894);
  245. PS.data( 1, 15, "wall");
  246. PS.color( 1, 16, 0x7bd894);
  247. PS.data( 1, 16, "wall");
  248. PS.color( 1, 17, 0x7bd894);
  249. PS.data( 1, 17, "wall");
  250. PS.color( 1, 18, 0x7bd894);
  251. PS.data( 1, 18, "wall");
  252. PS.color( 2, 18, 0x7bd894);
  253. PS.data( 2, 18, "wall");
  254. PS.color( 3, 18, 0x7bd894);
  255. PS.data( 3, 18, "wall");
  256. PS.color( 3, 17, 0x7bd894);
  257. PS.data( 3, 17, "wall");
  258. PS.color( 4, 17, 0x7bd894);
  259. PS.data( 4, 17, "wall");
  260. PS.color( 5, 17, 0x7bd894);
  261. PS.data( 5, 17, "wall");
  262. PS.color( 6, 17, 0x7bd894);
  263. PS.data( 6, 17, "wall");
  264. PS.color( 6, 16, 0x7bd894);
  265. PS.data( 6, 16, "wall");
  266. PS.color( 6, 15, 0x7bd894);
  267. PS.data( 6, 15, "wall");
  268. PS.color( 6, 14, 0x7bd894);
  269. PS.data( 6, 14, "wall");
  270. PS.color( 7, 14, 0x7bd894);
  271. PS.data( 7, 14, "wall");
  272. PS.color( 8, 14, 0x7bd894);
  273. PS.data( 8, 14, "wall");
  274. PS.color( 8, 15, 0x7bd894);
  275. PS.data( 8, 15, "wall");
  276. PS.color( 8, 16, 0x7bd894);
  277. PS.data( 8, 16, "wall");
  278. PS.color( 8, 17, 0x7bd894);
  279. PS.data( 8, 17, "wall");
  280. PS.color( 8, 18, 0x7bd894);
  281. PS.data( 8, 18, "wall");
  282. PS.color( 9, 18, 0x7bd894);
  283. PS.data( 9, 18, "wall");
  284. PS.color( 10, 18, 0x7bd894);
  285. PS.data( 10, 18, "wall");
  286. PS.color( 10, 17, 0x7bd894);
  287. PS.data( 10, 17, "wall");
  288. PS.color( 10, 16, 0x7bd894);
  289. PS.data( 10, 16, "wall");
  290. PS.color( 10, 15, 0x7bd894);
  291. PS.data( 10, 15, "wall");
  292. PS.color( 10, 14, 0x7bd894);
  293. PS.data( 10, 14, "wall");
  294. PS.color( 11, 14, 0x7bd894);
  295. PS.data( 11, 14, "wall");
  296. PS.color( 12, 14, 0x7bd894);
  297. PS.data( 12, 14, "wall");
  298. PS.color( 13, 14, 0x7bd894);
  299. PS.data( 13, 14, "wall");
  300. PS.color( 13, 15, 0x7bd894);
  301. PS.data( 13, 15, "wall");
  302. PS.color( 13, 16, 0x7bd894);
  303. PS.data( 13, 16, "wall");
  304. PS.color( 12, 16, 0x7bd894);
  305. PS.data( 12, 16, "wall");
  306. PS.color( 12, 17, 0x7bd894);
  307. PS.data( 12, 17, "wall");
  308. PS.color( 12, 18, 0x7bd894);
  309. PS.data( 12, 18, "wall");
  310. PS.color( 15, 14, 0x7bd894);
  311. PS.data( 15, 14, "wall");
  312. PS.color( 13, 18, 0x7bd894);
  313. PS.data( 13, 18, "wall");
  314. PS.color( 14, 18, 0x7bd894);
  315. PS.data( 14, 18, "wall");
  316. PS.color( 15, 18, 0x7bd894);
  317. PS.data( 15, 18, "wall");
  318. PS.color( 16, 18, 0x7bd894);
  319. PS.data( 16, 18, "wall");
  320. PS.color( 17, 18, 0x7bd894);
  321. PS.data( 17, 18, "wall");
  322. PS.color( 18, 18, 0x7bd894);
  323. PS.data( 18, 18, "wall");
  324. PS.color( 18, 17, 0x7bd894);
  325. PS.data( 18, 17, "wall");
  326. PS.color( 18, 16, 0x7bd894);
  327. PS.data( 18, 16, "wall");
  328. PS.color( 18, 15, 0x7bd894);
  329. PS.data( 18, 15, "wall");
  330. PS.color( 17, 15, 0x7bd894);
  331. PS.data( 17, 15, "wall");
  332. PS.color( 16, 15, 0x7bd894);
  333. PS.data( 16, 15, "wall");
  334. PS.color( 15, 15, 0x7bd894);
  335. PS.data( 15, 15, "wall");
  336. PS.color( 9, 2, 0x7bd894);
  337. PS.data( 9, 2, "wall");
  338. PS.color( 10, 2, 0x7bd894);
  339. PS.data( 10, 2, "wall");
  340. PS.color( 10, 1, 0x7bd894);
  341. PS.data( 10, 1, "wall");
  342. PS.color( 11, 1, 0x7bd894);
  343. PS.data( 11, 1, "wall");
  344. PS.color( 12, 1, 0x7bd894);
  345. PS.data( 12, 1, "wall");
  346. PS.color( 13, 1, 0x7bd894);
  347. PS.data( 13, 1, "wall");
  348. PS.color( 13, 2, 0x7bd894);
  349. PS.data( 13, 2, "wall");
  350. PS.color( 13, 4, 0x7bd894);
  351. PS.data( 13, 4, "wall");
  352. PS.color( 13, 3, 0x7bd894);
  353. PS.data( 13, 3, "wall");
  354. PS.color( 13, 5, 0x7bd894);
  355. PS.data( 13, 5, "wall");
  356. PS.color( 13, 6, 0x7bd894);
  357. PS.data( 13, 6, "wall");
  358. PS.color( 13, 7, 0x7bd894);
  359. PS.data( 13, 7, "wall");
  360. PS.color( 12, 7, 0x7bd894);
  361. PS.data( 12, 7, "wall");
  362. PS.color( 12, 8, 0x7bd894);
  363. PS.data( 12, 8, "wall");
  364. PS.color( 12, 9, 0x7bd894);
  365. PS.data( 12, 9, "wall");
  366. PS.color( 12, 10, 0x7bd894);
  367. PS.data( 12, 10, "wall");
  368. PS.color( 13, 10, 0x7bd894);
  369. PS.data( 13, 10, "wall");
  370. PS.color( 14, 10, 0x7bd894);
  371. PS.data( 14, 10, "wall");
  372. PS.color( 14, 9, 0x7bd894);
  373. PS.data( 14, 9, "wall");
  374. PS.color( 15, 9, 0x7bd894);
  375. PS.data( 15, 9, "wall");
  376. PS.color( 15, 8, 0x7bd894);
  377. PS.data( 15, 8, "wall");
  378. PS.color( 15, 7, 0x7bd894);
  379. PS.data( 15, 7, "wall");
  380. PS.color( 15, 6, 0x7bd894);
  381. PS.data( 15, 6, "wall");
  382. PS.color( 15, 5, 0x7bd894);
  383. PS.data( 15, 5, "wall");
  384. PS.color( 15, 13, 0x7bd894);
  385. PS.data( 15, 13, "wall");
  386. PS.color( 16, 13, 0x7bd894);
  387. PS.data( 16, 13, "wall");
  388. PS.color( 17, 13, 0x7bd894);
  389. PS.data( 17, 13, "wall");
  390. PS.color( 18, 13, 0x7bd894);
  391. PS.data( 18, 13, "wall");
  392. PS.color( 18, 12, 0x7bd894);
  393. PS.data( 18, 12, "wall");
  394. PS.color( 18, 10, 0x7bd894);
  395. PS.data( 18, 10, "wall");
  396. PS.color( 18, 11, 0x7bd894);
  397. PS.data( 18, 11, "wall");
  398. PS.color( 18, 9, 0x7bd894);
  399. PS.data( 18, 9, "wall");
  400. PS.color( 18, 8, 0x7bd894);
  401. PS.data( 18, 8, "wall");
  402. PS.color( 18, 7, 0x7bd894);
  403. PS.data( 18, 7, "wall");
  404. PS.color( 18, 6, 0x7bd894);
  405. PS.data( 18, 6, "wall");
  406. PS.color( 15, 4, 0x7bd894);
  407. PS.data( 15, 4, "wall");
  408. PS.color( 18, 5, 0x7bd894);
  409. PS.data( 18, 5, "wall");
  410. PS.color( 18, 4, 0x7bd894);
  411. PS.data( 18, 4, "wall");
  412. PS.color( 15, 1, 0x7bd894);
  413. PS.data( 15, 1, "wall");
  414. PS.color( 15, 2, 0x7bd894);
  415. PS.data( 15, 2, "wall");
  416. PS.color( 15, 3, 0x7bd894);
  417. PS.data( 15, 3, "wall");
  418. PS.color( 18, 3, 0x7bd894);
  419. PS.data( 18, 3, "wall");
  420. PS.color( 18, 2, 0x7bd894);
  421. PS.data( 18, 2, "wall");
  422. PS.color( 18, 1, 0x7bd894);
  423. PS.data( 18, 1, "wall");
  424. PS.color( 17, 1, 0x7bd894);
  425. PS.data( 17, 1, "wall");
  426. PS.color( 16, 1, 0x7bd894);
  427. PS.data( 16, 1, "wall");
  428.  
  429. // Place Coins
  430. PlaceCoin( 13, 17);
  431. PlaceCoin( 14, 17);
  432. PlaceCoin( 14, 16);
  433. PlaceCoin( 15, 16);
  434. PlaceCoin( 16, 16);
  435. PlaceCoin( 17, 16);
  436. PlaceCoin( 17, 17);
  437. PlaceCoin( 16, 17);
  438. PlaceCoin( 15, 17);
  439.  
  440. PlaceCoin( 2, 4);
  441. PlaceCoin( 5, 2);
  442. PlaceCoin( 9, 3);
  443. PlaceCoin( 11, 5);
  444. PlaceCoin( 10, 8);
  445. PlaceCoin( 11, 11);
  446. PlaceCoin( 8, 13);
  447. PlaceCoin( 5, 12);
  448. PlaceCoin( 9, 15);
  449. PlaceCoin( 15, 12);
  450. PlaceCoin( 17, 9);
  451. PlaceCoin( 16, 5);
  452. PlaceCoin( 5, 13);
  453. PlaceCoin( 5, 14);
  454. PlaceCoin( 5, 15);
  455. PlaceCoin( 5, 16);
  456. PlaceCoin( 3, 16);
  457. PlaceCoin( 2, 16);
  458. PlaceCoin( 2, 17);
  459.  
  460.  
  461.  
  462. //Shadow BG
  463. PS.color( 8, 1, 0x2a9045);
  464. PS.color( 9, 1, 0x2a9045);
  465. PS.color( 14, 1, 0x2a9045);
  466. PS.color( 14, 2, 0x2a9045);
  467. PS.color( 14, 3, 0x2a9045);
  468. PS.color( 14, 4, 0x2a9045);
  469. PS.color( 14, 5, 0x2a9045);
  470. PS.color( 14, 6, 0x2a9045);
  471. PS.color( 14, 7, 0x2a9045);
  472. PS.color( 14, 8, 0x2a9045);
  473. PS.color( 13, 8, 0x2a9045);
  474. PS.color( 13, 9, 0x2a9045);
  475. PS.color( 8, 5, 0x2a9045);
  476. PS.color( 8, 6, 0x2a9045);
  477. PS.color( 7, 6, 0x2a9045);
  478. PS.color( 6, 6, 0x2a9045);
  479. PS.color( 5, 6, 0x2a9045);
  480. PS.color( 4, 6, 0x2a9045);
  481. PS.color( 8, 7, 0x2a9045);
  482. PS.color( 8, 8, 0x2a9045);
  483. PS.color( 8, 9, 0x2a9045);
  484. PS.color( 8, 9, 0x2a9045);
  485. PS.color( 8, 10, 0x2a9045);
  486. PS.color( 7, 10, 0x2a9045);
  487. PS.color( 6, 10, 0x2a9045);
  488. PS.color( 5, 10, 0x2a9045);
  489. PS.color( 4, 10, 0x2a9045);
  490. PS.color( 3, 10, 0x2a9045);
  491. PS.color( 2, 10, 0x2a9045);
  492. PS.color( 1, 10, 0x2a9045);
  493. PS.color( 1, 11, 0x2a9045);
  494. PS.color( 2, 11, 0x2a9045);
  495. PS.color( 3, 11, 0x2a9045);
  496. PS.color( 3, 12, 0x2a9045);
  497. PS.color( 2, 12, 0x2a9045);
  498. PS.color( 1, 12, 0x2a9045);
  499. PS.color( 1, 13, 0x2a9045);
  500. PS.color( 2, 13, 0x2a9045);
  501. PS.color( 3, 13, 0x2a9045);
  502. PS.color( 3, 14, 0x2a9045);
  503. PS.color( 2, 14, 0x2a9045);
  504. PS.color( 1, 14, 0x2a9045);
  505. PS.color( 4, 18, 0x2a9045);
  506. PS.color( 5, 18, 0x2a9045);
  507. PS.color( 6, 18, 0x2a9045);
  508. PS.color( 7, 18, 0x2a9045);
  509. PS.color( 7, 17, 0x2a9045);
  510. PS.color( 7, 16, 0x2a9045);
  511. PS.color( 7, 15, 0x2a9045);
  512. PS.color( 11, 18, 0x2a9045);
  513. PS.color( 11, 17, 0x2a9045);
  514. PS.color( 11, 16, 0x2a9045);
  515. PS.color( 11, 15, 0x2a9045);
  516. PS.color( 12, 15, 0x2a9045);
  517. PS.color( 16, 14, 0x2a9045);
  518. PS.color( 17, 14, 0x2a9045);
  519. PS.color( 18, 14, 0x2a9045);
  520.  
  521. // Water BG
  522.  
  523. PS.color( 6, 2, 0xcdedf6);
  524. PS.color( 5, 2, 0xcdedf6);
  525. PS.color( 4, 2, 0xcdedf6);
  526. PS.color( 3, 2, 0xcdedf6);
  527. PS.color( 2, 2, 0xcdedf6);
  528. PS.color( 2, 3, 0xcdedf6);
  529. PS.color( 2, 4, 0xcdedf6);
  530. PS.color( 2, 5, 0xcdedf6);
  531. PS.color( 2, 6, 0xcdedf6);
  532. PS.color( 2, 7, 0xcdedf6);
  533. PS.color( 2, 8, 0xcdedf6);
  534. PS.color( 3, 8, 0xcdedf6);
  535. PS.color( 4, 8, 0xcdedf6);
  536. PS.color( 5, 8, 0xcdedf6);
  537. PS.color( 6, 8, 0xcdedf6);
  538. PS.color( 3, 4, 0xcdedf6);
  539. PS.color( 3, 3, 0xcdedf6);
  540. PS.color( 4, 3, 0xcdedf6);
  541. PS.color( 4, 4, 0xcdedf6);
  542. PS.color( 5, 4, 0xcdedf6);
  543. PS.color( 5, 3, 0xcdedf6);
  544. PS.color( 6, 3, 0xcdedf6);
  545. PS.color( 6, 4, 0xcdedf6);
  546. PS.color( 7, 3, 0xcdedf6);
  547. PS.color( 8, 3, 0xcdedf6);
  548. PS.color( 9, 3, 0xcdedf6);
  549. PS.color( 10, 3, 0xcdedf6);
  550. PS.color( 11, 2, 0xcdedf6);
  551. PS.color( 12, 2, 0xcdedf6);
  552. PS.color( 12, 3, 0xcdedf6);
  553. PS.color( 11, 3, 0xcdedf6);
  554. PS.color( 10, 4, 0xcdedf6);
  555. PS.color( 11, 4, 0xcdedf6);
  556. PS.color( 12, 4, 0xcdedf6);
  557. PS.color( 12, 5, 0xcdedf6);
  558. PS.color( 11, 5, 0xcdedf6);
  559. PS.color( 10, 5, 0xcdedf6);
  560. PS.color( 10, 6, 0xcdedf6);
  561. PS.color( 11, 6, 0xcdedf6);
  562. PS.color( 12, 6, 0xcdedf6);
  563. PS.color( 11, 7, 0xcdedf6);
  564. PS.color( 10, 7, 0xcdedf6);
  565. PS.color( 10, 8, 0xcdedf6);
  566. PS.color( 11, 8, 0xcdedf6);
  567. PS.color( 11, 9, 0xcdedf6);
  568. PS.color( 10, 9, 0xcdedf6);
  569. PS.color( 10, 10, 0xcdedf6);
  570. PS.color( 11, 10, 0xcdedf6);
  571. PS.color( 10, 11, 0xcdedf6);
  572. PS.color( 10, 12, 0xcdedf6);
  573. PS.color( 10, 13, 0xcdedf6);
  574. PS.color( 9, 13, 0xcdedf6);
  575. PS.color( 9, 14, 0xcdedf6);
  576. PS.color( 9, 15, 0xcdedf6);
  577. PS.color( 9, 16, 0xcdedf6);
  578. PS.color( 9, 17, 0xcdedf6);
  579. PS.color( 9, 12, 0xcdedf6);
  580. PS.color( 8, 12, 0xcdedf6);
  581. PS.color( 7, 12, 0xcdedf6);
  582. PS.color( 6, 12, 0xcdedf6);
  583. PS.color( 6, 12, 0xcdedf6);
  584. PS.color( 5, 12, 0xcdedf6);
  585. PS.color( 5, 13, 0xcdedf6);
  586. PS.color( 6, 13, 0xcdedf6);
  587. PS.color( 7, 13, 0xcdedf6);
  588. PS.color( 8, 13, 0xcdedf6);
  589. PS.color( 5, 14, 0xcdedf6);
  590. PS.color( 5, 15, 0xcdedf6);
  591. PS.color( 5, 16, 0xcdedf6);
  592. PS.color( 4, 16, 0xcdedf6);
  593. PS.color( 3, 16, 0xcdedf6);
  594. PS.color( 2, 16, 0xcdedf6);
  595. PS.color( 2, 17, 0xcdedf6);
  596. PS.color( 11, 11, 0xcdedf6);
  597. PS.color( 11, 12, 0xcdedf6);
  598. PS.color( 11, 13, 0xcdedf6);
  599. PS.color( 12, 13, 0xcdedf6);
  600. PS.color( 12, 12, 0xcdedf6);
  601. PS.color( 12, 11, 0xcdedf6);
  602. PS.color( 13, 11, 0xcdedf6);
  603. PS.color( 14, 11, 0xcdedf6);
  604. PS.color( 13, 12, 0xcdedf6);
  605. PS.color( 14, 12, 0xcdedf6);
  606. PS.color( 13, 13, 0xcdedf6);
  607. PS.color( 14, 13, 0xcdedf6);
  608. PS.color( 14, 14, 0xcdedf6);
  609. PS.color( 14, 15, 0xcdedf6);
  610. PS.color( 14, 16, 0xcdedf6);
  611. PS.color( 13, 17, 0xcdedf6);
  612. PS.color( 14, 17, 0xcdedf6);
  613. PS.color( 15, 17, 0xcdedf6);
  614. PS.color( 16, 17, 0xcdedf6);
  615. PS.color( 17, 17, 0xcdedf6);
  616. PS.color( 17, 16, 0xcdedf6);
  617. PS.color( 16, 16, 0xcdedf6);
  618. PS.color( 15, 16, 0xcdedf6);
  619. PS.color( 15, 12, 0xcdedf6);
  620. PS.color( 15, 11, 0xcdedf6);
  621. PS.color( 15, 10, 0xcdedf6);
  622. PS.color( 16, 10, 0xcdedf6);
  623. PS.color( 16, 12, 0xcdedf6);
  624. PS.color( 16, 11, 0xcdedf6);
  625. PS.color( 17, 12, 0xcdedf6);
  626. PS.color( 17, 11, 0xcdedf6);
  627. PS.color( 17, 10, 0xcdedf6);
  628. PS.color( 17, 9, 0xcdedf6);
  629. PS.color( 16, 9, 0xcdedf6);
  630. PS.color( 16, 8, 0xcdedf6);
  631. PS.color( 17, 8, 0xcdedf6);
  632. PS.color( 17, 7, 0xcdedf6);
  633. PS.color( 16, 7, 0xcdedf6);
  634. PS.color( 16, 6, 0xcdedf6);
  635. PS.color( 17, 6, 0xcdedf6);
  636. PS.color( 17, 5, 0xcdedf6);
  637. PS.color( 16, 5, 0xcdedf6);
  638. PS.color( 16, 4, 0xcdedf6);
  639. PS.color( 17, 4, 0xcdedf6);
  640. PS.color( 17, 3, 0xcdedf6);
  641. PS.color( 16, 3, 0xcdedf6);
  642. PS.color( 16, 2, 0xcdedf6);
  643. PS.color( 17, 2, 0xcdedf6);
  644.  
  645. //Door Dam
  646. PS.data(14, 14, "door");
  647. PS.color( 14, 14, 0x6B4226);
  648.  
  649. //Strength
  650. PS.glyph( 17, 2, "S");
  651. PS.data(17, 2, "key");
  652.  
  653.  
  654. //Hidden
  655. PS.data(9, 17, "passageopen");
  656.  
  657. //Secret Passage
  658. PS.color(6,12, 0x54632C);
  659. PS.data(6, 12, "passage");
  660. PS.color(6,13, 0x54632C);
  661. PS.data(6, 13, "passage");
  662.  
  663. DrawPlayer()
  664. };
  665.  
  666.  
  667. // PS.touch ( x, y, data, options )
  668. // Called when the mouse button is clicked on a bead, or when a bead is touched
  669. PS.touch = function (x, y, data, options) {
  670. "use strict";
  671.  
  672. // Uncomment the following line to inspect parameters
  673. //PS.debug( "PS.touch() @ " + x + ", " + y + "\n" );
  674.  
  675. // Add code here for mouse clicks/touches over a bead
  676.  
  677. };
  678.  
  679. // PS.release ( x, y, data, options )
  680. // Called when the mouse button is released over a bead, or when a touch is lifted off a bead
  681. PS.release = function (x, y, data, options) {
  682. "use strict";
  683.  
  684. // Uncomment the following line to inspect parameters
  685. // PS.debug( "PS.release() @ " + x + ", " + y + "\n" );
  686.  
  687. // Add code here for when the mouse button/touch is released over a bead
  688. };
  689.  
  690. // PS.enter ( x, y, button, data, options )
  691. // Called when the mouse/touch enters a bead
  692. PS.enter = function (x, y, data, options) {
  693. "use strict";
  694.  
  695. // Uncomment the following line to inspect parameters
  696. // PS.debug( "PS.enter() @ " + x + ", " + y + "\n" );
  697.  
  698. // Add code here for when the mouse cursor/touch enters a bead
  699.  
  700. };
  701.  
  702. // PS.exit ( x, y, data, options )
  703. // Called when the mouse cursor/touch exits a bead
  704. PS.exit = function (x, y, data, options) {
  705. "use strict";
  706.  
  707. // Uncomment the following line to inspect parameters
  708. // PS.debug( "PS.exit() @ " + x + ", " + y + "\n" );
  709.  
  710. // Add code here for when the mouse cursor/touch exits a bead
  711. };
  712.  
  713. // PS.exitGrid ( options )
  714. // Called when the mouse cursor/touch exits the grid perimeter
  715. PS.exitGrid = function (options) {
  716. "use strict";
  717.  
  718. // Uncomment the following line to verify operation
  719. // PS.debug( "PS.exitGrid() called\n" );
  720.  
  721. // Add code here for when the mouse cursor/touch moves off the grid
  722. };
  723.  
  724. // PS.keyDown ( key, shift, ctrl, options )
  725. // Called when a key on the keyboard is pressed
  726. PS.keyDown = function (key, shift, ctrl, options) {
  727. "use strict";
  728.  
  729. // Uncomment the following line to inspect parameters
  730. // PS.debug( "PS.keyDown(): key = " + key + ", shift = " + shift + ", ctrl = " + ctrl + "\n" );
  731.  
  732. // Add code here for when a key is pressed
  733. };
  734.  
  735. // PS.keyUp ( key, shift, ctrl, options )
  736. // Called when a key on the keyboard is released
  737. PS.keyUp = function (key, shift, ctrl, options) {
  738. "use strict";
  739.  
  740. // Uncomment the following line to inspect parameters
  741. // PS.debug( "PS.keyUp(): key = " + key + ", shift = " + shift + ", ctrl = " + ctrl + "\n" );
  742.  
  743. // Add code here for when a key is released
  744. // Erase the player from where they are before they move
  745. Erase(px, py);
  746. // Make Floor!
  747. MakeFloor(px, py);
  748. var oldX = px;
  749. var oldY = py;
  750. if (key == PS.KEY_ARROW_RIGHT) px++;
  751. if (key == PS.KEY_ARROW_LEFT) px--;
  752. if (key == PS.KEY_ARROW_DOWN) py++;
  753. if (key == PS.KEY_ARROW_UP) py--;
  754. // Restart
  755. if (key == PS.KEY_PAD_1) {
  756. px = 2, py = 2
  757. PS.init();
  758. PlayerInventory.keys = 0;
  759. PlayerInventory.coins = 0;
  760. PS.debug("\n\n\n\n\n\n\n\n\n");
  761. DrawInventory();
  762. }
  763. var data = PS.data(px, py);
  764. if (data == "wall") {
  765. px = oldX;
  766. py = oldY;
  767. }
  768. if (data == "passage") {
  769. px = oldX;
  770. py = oldY;
  771. PS.audioPlay("fx_pop");
  772. }
  773. if (data == "door") {
  774. px = oldX;
  775. py = oldY;
  776. PS.audioPlay("fx_bang");
  777. }
  778. if (data == "coin") {
  779. PlayerInventory.coins += 1;
  780. DrawInventory();
  781. PS.audioPlay("fx_wilhelm");
  782. }
  783. if (data == "key") {
  784. PlayerInventory.keys += 1;
  785. DrawInventory();
  786. PS.audioPlay("fx_powerup8");
  787. }
  788. if (data == "passageopen") {
  789. Erasepath();
  790. }
  791. if ((data == "door") && (PlayerInventory.keys == 1)) {
  792. PS.data(14, 14, "secret")
  793. PS.color(14, 14, 0xcdedf6);
  794. PlayerInventory.keys -= 1;
  795. }
  796. // Draw player at their location
  797. DrawPlayer();
  798. // Game Over
  799. if (PlayerInventory.coins == 28) {
  800. PS.statusText("Game Won! Press Num 1 Key to restart!")
  801. PS.audioPlay("fx_tada");
  802. }
  803. };
  804. // PS.input ( sensors, options )
  805. // Called when an input device event (other than mouse/touch/keyboard) is detected
  806. PS.input = function (sensors, options) {
  807. "use strict";
  808.  
  809. // Uncomment the following block to inspect parameters
  810. /*
  811. PS.debug( "PS.input() called\n" );
  812. var device = sensors.wheel; // check for scroll wheel
  813. if ( device )
  814. {
  815. PS.debug( "sensors.wheel = " + device + "\n" );
  816. }
  817. */
  818.  
  819. // Add code here for when an input event is detected
  820. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement