-
Notifications
You must be signed in to change notification settings - Fork 1
/
sketch.js
121 lines (96 loc) · 2.16 KB
/
sketch.js
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
let started = false;
let player;
let virus = [];
let score = 0;
let level = 1;
let timer = 300;
let timeWas = 0;
function preload(){
virusImage = loadImage('./img/object-virus.png');
backgroundImage = loadImage('./img/background-image.png');
// characters
captamerica = loadImage('./img/captain-america.png');
ironman = loadImage('./img/iron-man.png');
thor = loadImage('./img/thor.png');
hulk = loadImage('./img/hulk.png');
widow = loadImage('./img/black-widow.png');
}
function setup() {
createCanvas(1000, 500);
textSize(30);
textFont("Courier New");
textStyle(BOLD);
resetGame();
}
function resetGame() {
clear();
gameOver = select('#gameOver');
gameOver.hide();
menu = select('#chooseCharacter');
menu.show();
// select player
player = new Avenger();
selectSkin = select('#skin');
button = select('#startGame');
button.mousePressed(()=> {
player.selectAvenger();
menu = select('#chooseCharacter');
menu.hide();
start();
})
}
function start(){
virus = [];
score = 0;
level = 1;
started = true;
loop();
}
function keyPressed() {
if (keyIsDown(32) || keyIsDown(38)) {
player.jump();
}
}
function loadBackground() {
return backgroundImage
}
// main functionality of game
function draw(){
if (started) {
background(166);
background(loadBackground());
text(`Score: ${score}`, 10, 10, 200, 100);
text(`Level: ${level}`, 820, 10, 200, 100);
// new virus
if (frameCount > timeWas + timer && timer != 0) {
timeWas = frameCount;
timer = random(100, timer);
virus.push(new ObjectVirus());
}
for(let v of virus) {
v.move();
v.draw();
//collision
if(player.hits(v)){
noLoop();
gameOver = select('#gameOver');
gameOver.show();
button = select('#playAgain');
button.mousePressed(()=> {
started = false;
resetGame();
})
}
// Caclulate score and level
if (v.x == 0) {
score += 1;
if (score % 5 == 0) {
level += 1;
timer -= 50;
}
}
}
player.draw();
player.move();
}
}