-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsuper_momo_moon_L4.html
540 lines (508 loc) · 97.9 KB
/
super_momo_moon_L4.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
<!DOCTYPE html>
<html>
<head>
<title>Momo's Adventure!</title>
<style>
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
padding-top: 100px; /* Location of the box */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}
/* Modal Content */
.w3-modal-content {
background-color: #fefefe;
text-align: center;
margin: auto;
padding: 10px;
border: 0px solid #888;
border-radius: 20px;
width: 80%;
}
/* The Close Button */
.close {
color: #aaaaaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: #000;
text-decoration: none;
cursor: pointer;
}
h1 {
animation-name: example;
animation-duration: 4s;
animation-iteration-count:infinite;
}
@keyframes example {
0% {color:red;}
25% {color:yellow;}
50% {color:blue;}
75% {color:green;}
100% {color:red;}
}
@keyframes this_win_anime {
0% {opacity: 1;src : url(graphics/momo_grassr.2.png);}
25% {opacity: 1; src : url(graphics/momo_grassr.2.pg);}
50% {opacity: 1; src : url(graphics/momo_grassr.3.png);}
75% {opacity: 1; src : url(graphics/momo_grassr.3.png);}
100% {opacity: 1; src : url(graphics/momo_grassr.1.svg);}
}
#win_anime {
width: 200px;
height: 200px;
animation: this_win_anime;
animation-duration: .5s;
animation-iteration-count:infinite;
}
</style>
</head>
<body>
<audio id="bg_audio_src" autoplay loop>
<source src="sound/moonlevel_music.mp3" type="audio/mp3">
</audio>
<canvas id="game" width="1080" height="675"></canvas>
<div id="myModal_win" class="modal">
<!-- Modal content -->
<div class="w3-modal-content w3-animate-zoom" id="modal-win">
<header class="w3-container w3-black" style="background-color: black">
<h1>Way to go Momo!</h1>
</header>
<div class="w3-container" >
<img id="win_anime" width="400px" height="400px" src="graphics/momo_face_grin.png">
</div>
<footer class="w3-container" style="background-color: black">
<h2 style="color: white">Click Me to Keep Going</h2>
</footer>
</div>
</div>
<div id="myModal_lose_capture" class="modal">
<!-- Modal content -->
<div class="w3-modal-content w3-animate-zoom" id="modal-lose">
<header class="w3-container w3-black" style="background-color: yellow">
<h2 style="color:black">You Are Captured!</h2>
</header>
<div class="w3-container" >
<img id="win_anime" width="400px" height="400px" src="graphics/momo_face_cry.png">
</div>
<footer class="w3-container" style="background-color: yellow">
<h2 style="color:black">Click Me and Run Fast</h2>
</footer>
</div>
</div>
<div id="myModal_lose_red" class="modal">
<!-- Modal content -->
<div class="w3-modal-content w3-animate-zoom" id="modal-lose">
<header class="w3-container w3-black" style="background-color: red">
<h2 style="color:black">Ouch! Toasted Zebra</h2>
</header>
<div class="w3-container" >
<img id="win_anime" width="400px" height="400px" src="graphics/momo_face_toasty.png">
</div>
<footer class="w3-container" style="background-color: red">
<h2 style="color:black">Click Me and Stay Cool</h2>
</footer>
</div>
</div>
<script type="text/javascript">
var canvas = document.getElementById("game");
var ctx = canvas.getContext("2d");
var modal = document.getElementById("myModal_win");
var modal_lose_capture = document.getElementById("myModal_lose_capture");
var modal_lose_red = document.getElementById("myModal_lose_red");
var bg_audio_source = document.getElementById("bg_audio_src");
var game = {
timer: null,
finished: false,
controls: {
left: false,
right: false,
up: false,
down: false,
mapping: {
65: "left",
37: "left",
68: "right",
39: "right",
87: "up",
32: "up",
38: "up",
83: "down",
40: "down"
},
buttonPress: function(keyInfo) {
this[this.mapping[keyInfo.keyCode]] = true;
},
buttonRelease: function(keyInfo) {
this[this.mapping[keyInfo.keyCode]] = false;
},
connect: function() {
window.addEventListener("keydown", function(keyInfo) {
game.controls.buttonPress(event);
}, false);
window.addEventListener("keyup", function(keyInfo) {
game.controls.buttonRelease(event);
}, false);
}
},
sounds: {
enabled: true,
jump: function() {
this.play("trotting.m4a");
},
backgroundMusic: function() {
/*this.play("Momosadventuresoundtrack - 5_1_21, 4.13 PM.mp3");
*/
},
win_fx : function() {
this.play("Win1.m4a");
},
lose_fx : function() {
this.play("lose_fx.m4a");
},
play: function(filename) {
if (this.enabled) {
new Audio("sound/" + filename).play();
}
}
},
loop: function() {
if (this.finished) {
return;
}
world.tick();
player.tick();
world.draw();
player.draw();
this.timer = window.setTimeout("game.loop()", 1000 / 60);
},
start: function() {
this.controls.connect();
this.sounds.backgroundMusic();
this.loop();
},
stop: function(reason) {
this.finished = true;
window.clearTimeout(this.timer);
if (reason == "win") {
bg_audio_source.muted = true;
modal.style.display = "block";
this.sounds.win_fx();
// When the user clicks on <span> (x), close the modal
modal.onclick = function() {
window.location="super_momo_rubycave_L5.html";
}
}
if (reason == "lose") {
bg_audio_source.muted = true;
modal_lose_red.style.display = "block";
this.sounds.lose_fx();
//alert("You are caught! Better luck next time.");
modal_lose_red.onclick = function() {
location.reload();
}
}
if (reason == "caught") {
bg_audio_source.muted = true;
modal_lose_capture.style.display = "block";
this.sounds.lose_fx();
//alert("You are caught! Better luck next time.");
modal_lose_capture.onclick = function() {
location.reload();
}
}
}
};
var world = {
height:675 ,
width: 1080,
gravity: 2,
distanceTravelled: 0,
level: null,
collisionMap: null,
tickCount: 0,
enemies: [],
loadLevel: function() {
this.level = new Image();
this.level.src = "color_map_5_moon_675_5123_w_base.png";
var collisionMapImage = new Image();
collisionMapImage.onload = function(loadEvent) {
var hiddenCanvas = document.createElement("CANVAS");
hiddenCanvas.setAttribute("width", this.width);
hiddenCanvas.setAttribute("height", this.height);
world.collisionMap = hiddenCanvas.getContext("2d");
world.collisionMap.drawImage(this, 0, 0);
};
collisionMapImage.src = "data:image/png;base64,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ZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDQuNC4wLUV4aXYyIj4KIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgIHhtbG5zOkdJTVA9Imh0dHA6Ly93d3cuZ2ltcC5vcmcveG1wLyIKICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICB4bXBNTTpEb2N1bWVudElEPSJnaW1wOmRvY2lkOmdpbXA6YzE0NGI1MTEtNTViMS00Mjg0LWEwNjMtMGIyZTE0ZmM5MGU4IgogICB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmE2NDdmNWJiLTc5ZDgtNDQ2OS1hYTJmLTM4M2Y3MjQ0MjYyMCIKICAgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmYyYzg3OTE2LWQwNzktNDFmMi05YWZkLTc1ZjU1NzFlMzI3ZiIKICAgZGM6Rm9ybWF0PSJpbWFnZS9wbmciCiAgIEdJTVA6QVBJPSIyLjAiCiAgIEdJTVA6UGxhdGZvcm09IldpbmRvd3MiCiAgIEdJTVA6VGltZVN0YW1wPSIxNjIzNTIxNDEyOTQ2NzY4IgogICBHSU1QOlZlcnNpb249IjIuMTAuMjQiCiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdG9yVG9vbD0iR0lNUCAyLjEwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YjhiNGY3MjctNmRhMy00MjNlLTk1OTMtMDVjNzY4Y2U2YWVhIgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKFdpbmRvd3MpIgogICAgICBzdEV2dDp3aGVuPSIyMDIxLTA1LTI1VDIwOjIxOjE2Ii8+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjE0MTJjZDNlLWQ1ZGItNGQ4ZC04YjM2LTc5Njk3MThjMmZjNSIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChXaW5kb3dzKSIKICAgICAgc3RFdnQ6d2hlbj0iMjAyMS0wNi0xMlQxMzoxMDoxMiIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz6W7cTuAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5QYMEgoMozC5NgAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAACAASURBVHja7N1tkJ1lYT7w63nO2d2czSabZEkggYTwnkRAAlHGBQrWFnxBbUUdax1rq8N0OrbTb+34IR/oZ6e2DmrrS+uMWqu1ioqoI1rHEhWWlwQJBEMSAgSBkOwmZDf7dp7/B2ir/hGTsC9Pdn+/b5l5zn2fue57T/bsOddzF5lVn/70p//oj/6o1WqFeaiqcvRoHnssDz6YrVtzzz257baMjf3KNUWRN74xl12WV74y69dnzZp0d6cohAcAAAAAAAAAAADAbJqcTLudqkqSokhZptGQCgAAnMRGR/PFL+Zv/iZPPSUMaqUpAmbH+Hgefzzf+15uvz3335/t21/8sqrKrbfm1ltzwQW56KK89rW59tqsWZPOThECAAAAAAAAAAAAMNOGhzM0lAMHcvBghoYyOpokrVZ6e7NsWZYuTW9vFiyQEwAAnHyKIkXxwu1+oE40gZkNhw9nYCBf/WpuuSV79x7TQ3bsyI4dueOObNuWt70tl1+exYsdDgwAAAAAAABJUlWpqrTbL/zz+e8olKVgAAAAYMpMTmZwMLt25YEHcv/9+fGPs29fxsdfeD/eaKTZzNq1ec1rcuGF2bAhZ52VRYucEgwAACeTokiz6VM2akgTmBk3OJhvfSuf+Uxuv/24H/vkk/mnf8oDD+TP/ixvfnNOOUWcAAAAAAAAzF9VlaNHc/hwBgczNJShoUxMJEl3dxYvzrJlWbQoPT3p6BAVAAAAvKw34IcPZ9u2fOc7ueuu/OAHGRt78SsffTQ//GGWLcsVV+Tyy3PttdmwIQsXihAAAE4amsDUc2OKgBk1OJivfz0f/WjuvvvEB7njjhw6lPHx3HBD+vqECgAAAAAAwLzTbmdwMLt3Z/v2/OxnueuuDA5mdDTtdqoqnZ3p6Mg55+Syy3LhhTn//JxxRhYsSFFIDgAAAI7P5GT27s13v5uvfvWlOsC/7MCBfOMb+d73MjCQP/zDvO51WblSlwAAAE4CRZFGw2dq1JAmMDPo0KF885v5yEdy770va5yqyrZt+Yd/SFnmhhuydKloAQAAAAAAmC+eP4Zo69Z8//v56U9z222/8cp77smXv5xzzskVV+SKK3LNNVm7Np2dIgQAAIBjNTmZ++/P5z+fT386Bw8e32NHRvK1r+Xuu7NrV971rpx/vjIwAACcBDSBqefGnN3p3/rWt1500UUdHR1WYu4bH8+WLfnoR/OTn0zNgM88k2efzdq1OfPMNHXaAQAAAAAAmAcmJ7N7d265JZ/8ZD772Tz88G9/yMGD2bo1d92VAwfS0ZHly9NqCRIAAACO6W34tm35+Mfzmc/k8OETHOTQodx/f6oqa9dm2TKNAgAAqLWqyu7due22DA0Jg1rRBGamXgT37MlnPpMvf3kqh33ssXR25hWvSF+fv4wAAAAAAAAwx01MZNu2fOpT+bu/y8MPp90+jsceOZK7785DD6WzM6efnp4en68BAADAS2m38+CD+cQn8rnPZXj4ZQ01MpIdO5Lk7LOzdKm35AAAUGt79uRb38rgoCSolVIEzIQjR/Ld7+brX5/6kb/xjdx6aw4dkjEAAAAAAABz2cRE7rknH/1obr45Y2MnOMg99+TDH86//Vt+8QuJAgAAwG9UVXn88XzhC/n0p19uDfh5Bw7kn/85X/lKnn46VSVgAACoqaJIqXFJHdmXTL+qyt69ue22PPHE1A/+7LP55jeza5c/iwAAAAAAADBnTU5m27Z8/OP53OcyPv6yhnrkkdx88wtlYB+xAQAAwIsaGcl//3c++9mX+zb8lw0N5QtfyMDAVI4JAABMuUYjRSEG6kYTmOk3Pp4HHsjDD0/X+Hv25P77MzoqaQAAAAAAAOagqsqePfnc5/L5z2diYgoG3L07H/tYvvOdHD4sXQAAAHgRDz2U//zPPPXUFA+7Y0e+8pXs2iVgAACor6LQBKaGNIGZfgcP5r77smPHdI2/Z0/uvTfPPitpAAAAAAAA5qDnnsvtt+djH5vKI4MeeSRf/GIefDDttoABAADgVxw+nDvuyFe+ksnJKR55dDT/8i+5886MjIgZAABqqqpSVWKgbjSBmX7792fr1umd4v77p/6+awAAAAAAADDrqirbtuVrX8vo6BSPfMcdueWWPPmkjAEAAOBX3onv25ctW6Zxih//OM88I2kAAKjvmwKoH01gplm7nV/8IrfeOr2z3H579u2b+luvAQAAAAAAwOwaHMwPfpDbbpv6kQ8fzic+kW3bpvKoYQAAADjZjY/n4Yfz/e9P4xRbtmT3bt96BQCAmirLlEqX1G9jioDpNT6egwdnYqKDBzM2Jm8AAAAAAADmjqrKnj35yU+ma/yDB3PnnTl0SNIAAADwgrGx7Ngxvd99ffrpPPJIJiaEDQAAwDHSBGaaTUzMXBPY3coBAAAAAACYS44ezYMP5tZbp3GKO+/ME0+kqoQNAAAASfLcc9m+fXq/kvr00/n5zzMyImwAAACOkSYw06yq0m7PxETtti8oAAAAAAAAMKccOZIHHpjeKfbuzaOP+qANAAAAXnD4cA4dmt4p2u0MDubIEWEDAEAdlWUaDTFQu40pAgAAAAAAAIDaqaoMDeWee6Z3lgceyO7dGRuTNwAAAKSqcvhwnntu2icaGpqJWQAAgBNQlimVLqnfxhQB06vZTG/vTEzU25uODnkDAAAAAAAwR1RVDh3K0NC0z3LgQIaH5Q0AAABJ0m6n3Z4jswAAACegqlJVYqBuNIGZZh0dWbJkJiZaujSdnfIGAAAAAABgjnj+TOCjR6d9ooMHNYEBAAAAAAAgSYrCmcDUkE3JNGs0ctppufLK6Z1l06acdlqaTXkDAAAAAAAwd0xOzsQBQRMTjiECAACAF3R3p7t72mfp6ZmJWQAAgBNQlmk0xEDtNqYImHbLl2fTpumd4tJLc9ppkgYAAAAAAAAAAADgBBVFFi2aiY7uokVZuFDeAAAAHCNNYKZfX18uuSSrV0/X+KedlksuyfLlkgYAAAAAAGDuKIp0d6ezc9onWrQoXV3yBgAAgCRZvDhr107vCWC9vVmzRhMYAADqq6pkQN1oAjP9urpy4YU5//zpGv/MM3PxxWm1JA0AAAAAAMDcURRZvHgmOrq9vTNx2BEAAACcFLq68opXTG8TuK8v552XZlPYAABQU0UhA+pGE5gZee07++xcfXUWLJiWwa+5Juefn9JmBgAAAAAAYA4piixdmrPPnt5ZTj01q1a56y4AAAC8oLMzF1yQ/v5pnOKVr8w552gCAwBATRWFJjA1pDzJjFi8OG95S97ylqkf+c1vzg03ZNkyGQMAAAAAADDXLFyYjRund4qzz85ZZ7nrLgAAALygLLNmTa68chqn6O/PypWqBQAAUFNVlXZbDNTu3aoImAmNRs4/P29/ey66aCqHveCC3HBD1q9PoyFjAAAAAAAA5pqFC7NhQzZsmMYpNmzImjW+fAwAAAD/55RTcsUVufjiaRm8vz+veU16e8UMAAA1VZbuoksdN6YImCGtVq6+Ou99b9aunZoBV63KH/9xfu/30tMjXQAAAAAAAOagZjPnnZcrrpjGKV796ixfrgkMAAAA/6csc9llefe7s2jRFI+8enXe+95ceKF34gAAUOt3BM2mGKjdxhQBM2f58rzrXfnzP88ZZ7zcoU49NTfemPe8JytXyhUAAAAAAIA5a9WqXHllVq+elsF/93ezaVO6u8UMAAAAv6KvL9dem2uvneJhr70211yTxYsFDAAA9VUU7t1DDWkCM7Ovg2eckfe8J3/5l3nFK058nPPOy1/8Rf7kT7J2rRdWAAAAAAAA5rLOzlx1Vd72tqkf+YIL8r735fzzfeIGAAAAv64ss3593ve+XHVVyqn4unWjkde/Pu95T846yztxAACotaKYmncBMKUcVM2MW7Uq731vTj89//Ef+da3MjZ2fK+kb3hD3v72/P7v5/TT/SkEAAAAAACAOe75m+1ef33uuitbtkzlsG94Q666Kj09MgYAAIAXsWBBrr46o6NJ8qMfvdzRrrsuf/VXufzydHaKFgAAaq3RSFPpktqxKZlxRZFTT80f/EHWrcuGDbnlljz9dJ555rc8qq8vK1bkjW/MO96RDRvS06MGDAAAAAAAwLzQ0ZFXvSof+EAGB7N9+xQMWJa5/vq885054wzpAgAAwG+0aFGuvTZVlUYjd9yR8fETGaSrK697XT74wfzO76TVEioAANRdWabREAN1ownMbCiKLFyYSy7J6tW57rrcd1/uvTcPPJC77nqRizduzIUXZuPGXHJJ1q/P8uVeTAEAAAAAAJhfenvzpjdlZCT/+I/ZseNlDVUUeetb88EPZuNGtzMHAACA32LRorz+9Vm6NF/6Um67LY89dnwPP++8XH993v72bNyoBgwAACeHokhZioG68ckus6fRyIoV6evLpZfmqafy5JN5/PEMDubAgVRViiJLl2bJkpx+elatyqmnprtbBxgAAAAAAIB5avnyvOMdSfKxj2X79lTViQzSaORNb8oHP5grrkhXl1ABAADgt+vpyVVXZe3aXHpp/vVf8/DDGRrK5ORLPaTZzJIlufjivO99ufrqrFyZjg5BAgDASeD5GrAKG/WjCcxsazTS05OenpxzTsbHMzqasbEXmsCdnenq8rcPAAAAAAAASFFk+fK8853p68sXv5gf/jAHDx7fCOvW5Y1vzDvekY0b1YABAADgOHR25pxzcsopueyy3Htv7r47O3Zky5aMjf36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wSuvvHJDO27atKlUKhkHAAAAAAAAQFZ4OpQssRIvdI3MBm4HBgZMBwCArpEk8eCD8Z/+UyxdGn/+5/Hee5GmN3yERx6J//yf47d+K+69140eAAAAADIig9/G3m630xu9/wYAAAAAAFng/jZZIgkMXUMSGAAA5keSxP33x+/9Xnzuc/H978c//VPMzl7vvkuXxje/Gf/u38Uv/VKsXq2XAAAAAGRHPp8vFAqZKqmvry/xVXoAAAAAAHQdN7fJGElg6BqLFy/OZmGZjSgDAMAnSpJYsyZ+7ddi48b4V/8q9u6N3btjdPTTdrnvvvi3/zZKpfjlX44HH4y+Pl0EAAAAIFPy+XyxWMxUPZLAAAAAAAB0nySJXC56RC/JEJcjdI3ly5dns7Bly5aZDgAAXamvLx55JB54IL72tfj3/z4OHYr9++PixahUotGIiCgUoliMdevi538+fu7nYuPGWL8+ikXf9AYAAABABhUKhYGBgSRJ0jTNQj19fX0DAwPmAgAAAABA90mSyOe1geyQBIausW7dumwWtmbNGtMBAKBbJUn098fGjXH//fHLvxyzszE1FdPTUatFRPT1xZIlsXRpDA5Gf38UChoGAAAAQDYlSdLT09Pf35/L5VqtVhZK6uvrKxaL1gQGAAAAAKArub9NlkgCQ9dYt25dX19f7UogIUP/UUvWrl1rOgAAdL3e3ujtjaVL4+6749olU5LErRwAAAAAukI+n+/v78/n8xlJAi9atEgSGAAAAACArpTLWROYbF2SWgDdYu3atV/4wheyVtWyZctWr15tOgAA3D6SJHK5/+8fzykCAAAA0CXy+fzixYt7e3szUs/AwECxWDQXAAAAAAC6Ty4XhYI2kKFLUgugW6xbt+53fud3slbV448/bk1gAAAAAAAAgI7r6elZunTpkiVLslBMkiQrVqzo7++3JjAAAAAAAN3nyroykBkuR+ga991333e/+93XX399/fr12anqq1/96j333GM6AAAAAAAAAJ1VKBRWrVq1atWqLBTT09OzZs2apUuXSgIDAAAAANB9JIHJGJcjAAAAAAAAAEDXKxQKK1asuOuuu3IZeDhp+fLld9111+DgoLkAAAAAANB98vkoFLSB7Ojp7Omr1er4+Hir1erp6TEMAABukaGhoU2bNmWhDLMAAAAAAOAWyefzK1as2LBhw9KlSycmJjpb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";
},
getFloorBelowY: function(x, y) {
for (var tempY = y; tempY <= world.height; tempY++) {
if (this.isSolidSurface(x, tempY)) {
return tempY;
}
}
return 0;
},
isSolidSurface: function(x, y) {
//console.log("#");
return this.getPixelType(x, y) == "#";
},
getPixelType: function(x, y) {
if (!this.collisionMap) {
//console.log(".");
return ".";
}
var rawData = this.collisionMap.getImageData(x, y, 1, 1).data;
console.log(rawData);
var mask = rawData[0] + " " + rawData[1] + " " + rawData[2] + " " + rawData[3];
if (mask == "255 0 0 255") return "pit";
if (mask == "0 255 0 255") return "exit";
if (mask == "255 255 255 255") return ".";
if (mask == "0 0 0 255") return "#";
},
tick: function() {
if (!this.level) {
this.loadLevel();
this.enemies.push(new enemy(200, 500));
this.enemies.push(new enemy(1000, 100));
this.enemies.push(new enemy(2000, 100));
this.enemies.push(new enemy(3000, 100));
this.enemies.push(new enemy(4000, 100));
this.enemies.push(new enemy(5000, 100));
this.enemies.push(new enemy(5000, 100));
this.enemies.push(new enemy(2600, 100));
this.enemies.push(new enemy(3700, 100));
this.enemies.push(new enemy(4800, 100));
this.enemies.push(new enemy(5000, 100));
this.enemies.push(new enemy(5000, 100));
this.enemies.push(new enemy(4200, 200));
this.enemies.push(new enemy(4300, 400));
this.enemies.push(new enemy(4500, 500));
}
this.distanceTravelled += player.character.speed;
this.tickCount++;
this.activateEnemies();
},
activateEnemies: function() {
for (var i = 0; i < this.enemies.length; i++) {
this.enemies[i].tick();
}
},
levelEndOffset: function() {
return this.level.width - this.width;
},
atLevelEnd: function() {
return this.distanceTravelled >= this.levelEndOffset();
},
draw: function() {
var drawAtX = this.distanceTravelled * -1;
drawAtX = drawAtX > 0 ? 0 : drawAtX;
drawAtX = this.atLevelEnd() ? this.levelEndOffset() * -1 : drawAtX;
ctx.drawImage(this.level, drawAtX, 0);
for (var i = 0; i < this.enemies.length; i++) {
this.enemies[i].draw();
}
}
};
var player = {
character: new character(60, 100, 40, 40, new animation("graphics/momo_snowr", 2), new animation("graphics/momo_snowl", 2)),
tick: function() {
var currentLocation = world.getPixelType(this.character.leadingEdge(), this.character.y+this.character.height);
if (currentLocation == "exit" || currentLocation == "pit") {
var state = currentLocation == "exit" ? "win" : "lose";
game.stop(state);
return;
}
this.processControls();
this.character.tick();
},
processControls: function() {
if (game.controls.right) {
this.character.speed = 4;
}
if (game.controls.left) {
this.character.speed = -4;
}
if (!game.controls.left && !game.controls.right) {
this.character.speed = 0;
}if (game.controls.up && this.character.standingOnAPlatform()) {
this.character.downwardForce = -2;
game.sounds.jump();
}
},
draw: function() {
this.character.draw();
}
};
function character(x, y, width, height, runningSprite, reverseSprite) {
this.x = x;
this.y = y;
this.height = height;
this.width = width;
this.speed = 0;
this.downwardForce = 0;
this.jumpHeight = 0;
this.runningSprite = runningSprite;
this.runningSpriteReversed = reverseSprite;
this.tick = function() {
this.applyGravity();
this.applyMovement();
}
this.applyGravity = function() {
if (this.isJumping()) {
this.jumpHeight += (this.downwardForce * -.5);
console.log(this.jumpHeight);
if (this.jumpHeight >= this.height * 3) {
this.downwardForce = world.gravity;
this.jumpHeight = 0;
}
} else {
if (this.standingOnAPlatform()) {
this.downwardForce = 0;
} else {
this.downwardForce = world.gravity;
}
}
}
this.applyMovement = function() {
var nextX = this.x + this.speed;
var nextY = this.y + this.downwardForce;
var nextLeadingX = this.leadingEdge() + this.speed;
var walkingIntoSurface = world.isSolidSurface(nextLeadingX, this.y+(this.height*.66));
if (this.isMoving() && walkingIntoSurface) {
nextX = this.x;
this.speed = 0;
}
var topLeftIsSolid = world.isSolidSurface(this.leadingEdge(), this.y);
var topRightIsSolid = world.isSolidSurface(this.trailingEdge(), this.y);
if ((topLeftIsSolid || topRightIsSolid) && this.isJumping()) {
this.downwardForce = world.gravity;
this.jumpHeight = 0;
}
this.x = nextX;
this.y = nextY;
}
this.bottom = function() {
return this.y + this.height;
}
this.isJumping = function() {
return this.downwardForce < 0;
}
this.isFalling = function() {
return this.downwardForce > 0;
}
this.isMoving = function() {
return this.speed != 0;
}
this.leadingEdge = function() {
return this.speed < 0 ? this.x : this.x + this.width;
}
this.trailingEdge = function() {
return this.speed < 0 ? this.x + this.width : this.x;
}
this.standingOnAPlatform = function() {
return world.isSolidSurface(this.leadingEdge(), this.bottom() - 1) ||
world.isSolidSurface(this.trailingEdge(), this.bottom() - 1);
}
this.draw = function() {
if (!this.runningSprite) {
return;
}
var drawAtX = this.x - world.distanceTravelled;
drawAtX = drawAtX > this.x ? this.x : drawAtX;
if (world.atLevelEnd()) {
drawAtX = (world.width - (world.level.width - world.distanceTravelled - (this.x - world.distanceTravelled)));
}
var sprite = this.speed < 0 ? this.runningSpriteReversed : this.runningSprite;
if (this.isJumping() || this.isFalling()) {
sprite.drawFrame(2, drawAtX, this.y, this.height, this.width);
} else if (this.isMoving()) {
sprite.draw(world.tickCount, drawAtX, this.y, this.height, this.width);
} else {
sprite.drawFrame(1, drawAtX, this.y, this.height, this.width);
}
}
this.collidesWith = function(other) {
console.log(this.x, this.y, other.x, other.y, other.width, other.height);
if (
//handle the range of horizontal collision
(this.x >= other.x
|| this.x+this.width*.5 >= other.x
|| this.x+this.width >= other.x)
&&
this.x <= other.x + other.width &&
//handle the range of vertical collision
//give a little forgiveness on the bottom edge
(this.y >= other.y
|| this.y+this.height*.5 >= other.y
|| this.y+this.height*.75 >= other.y)
&&
this.y <= other.y + other.height
) {
return true;
}
return false;
}
}
function animation(filename, frameCount) {
this.frames = [];
this.currentFrameId = 1;
for (var frameId = 1; frameId <= frameCount; frameId++) {
var frame = new Image();
frame.src = filename + "." + frameId + ".png";
this.frames[frameId] = frame;
}
this.draw = function(tickCount, x, y, height, width) {
if (tickCount % 5 == 0) {
this.currentFrameId++;
}
this.currentFrameId = this.currentFrameId >= this.frames.length ? 1 : this.currentFrameId;
this.drawFrame(this.currentFrameId, x, y, height, width);
}
this.drawFrame = function(frameNumber, x, y, height, width) {
ctx.drawImage(this.frames[frameNumber], x, y, width, height);
}
}
function enemy(x, y) {
this.character = new character(x, y, 40, 40, new animation("graphics/mrcatcherr", 2), new animation("graphics/mrcatcherl", 2))
this.tick = function() {
var distanceFromPlayer = Math.abs(player.character.x - this.character.x);
if (distanceFromPlayer <= world.width * 2) {
this.character.speed = 1;
if (player.character.x < this.character.x) {
this.character.speed *= -1;
}
if (Math.floor((Math.random() * 300) + 1)==1) {
this.character.downwardForce = -1
}
if (this.character.isJumping()) {
this.character.jumpHeight += (this.character.downwardForce * -.5);
if (this.character.jumpHeight >= this.character.height * 3) {
this.character.downwardForce = world.gravity;
this.character.jumpHeight = 0;
}}
if (this.character.collidesWith(player.character)) {
var state = "caught";
game.stop(state);
}
this.character.tick();
}
}
this.draw = function() {
this.character.draw();
}
}
game.start();
</script>
</body>
</html>