-
Notifications
You must be signed in to change notification settings - Fork 0
/
pipe.js
46 lines (39 loc) · 1.06 KB
/
pipe.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
function Pipe() {
let spacing = random(200, height / 2);
let centerY = random(spacing, height-spacing);
this.top = centerY - spacing / 2;
this.bottom = height - (centerY + spacing / 2);
// console.log(top);
this.x = width;
this.w = 50;
this.speed = 2;
this.highlight = false;
this.hits = function(bird){
if( bird.y < this.top || bird.y > height - this.bottom ) {
if( bird.x > this.x && bird.x < this.x + this.w){
this.highlight = true;
return true;
}
}
this.highlight = false;
return false;
}
this.show = function() {
fill(255);
if(this.highlight) {
fill(255, 0, 0);
}
rect(this.x, 0, this.w, this.top);
rect(this.x, height-this.bottom, this.w, this.bottom);
}
this.update = function() {
this.x -= this.speed;
}
this.offscreen = function() {
if(this.x < -this.w){
return true;
} else {
return false;
}
}
}