-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsketch.js
More file actions
120 lines (93 loc) · 2.32 KB
/
sketch.js
File metadata and controls
120 lines (93 loc) · 2.32 KB
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
let enemyX, enemyY;
let enemyWidth = 50;
let enemyHeight = 50;
let enemyLeft, enemyRight, enemyTop, enemyBottom;
let myX = 25;
let myY = 25;
let myWidth = 50;
let myHeight = 50;
let mySpeed = 3;
let myLeft, myRight, myTop, myBottom;
let points = 0;
// graphics
let clefairy;
let togepi;
function setup() {
createCanvas(500, 500);
noStroke();
textSize(15);
// change imageMode
imageMode(CENTER);
// randomly generate the location of enemy
enemyX = random(25, 475);
enemyY = random(150, 450);
// load images
clefairy = loadImage("clefairy.png");
togepi = loadImage("togepi.png");
}
function draw() {
// paint the background black
background(0);
// draw the red enemy
fill(255, 0, 0);
image(togepi, enemyX, enemyY, enemyWidth, enemyHeight);
// draw yourself
fill(0, 0, 255);
image(clefairy, myX, myY, myWidth, myHeight);
// if LEFT_ARROW is pressed
if (keyIsDown(LEFT_ARROW)) {
myX -= 3;
}
// if RIGHT_ARROW is pressed
if (keyIsDown(RIGHT_ARROW)) {
myX += 3;
}
// if UP_ARROW is pressed
if (keyIsDown(UP_ARROW)) {
myY -= 3;
}
// if DOWN_ARROW is pressed
if (keyIsDown(DOWN_ARROW)) {
myY += 3;
}
// restrict your character to the canvas
if (myX <= 25) {
myX = 25;
}
if (myX >= 475) {
myX = 475;
}
if (myY <= 25) {
myY = 25;
}
if (myY >= 475) {
myY = 475;
}
// define my position
myLeft = myX - 25;
myRight = myX + 25;
myTop = myY - 25;
myBottom = myY + 25;
// define enemy's position
enemyLeft = enemyX - 25;
enemyRight = enemyX + 25;
enemyTop = enemyY - 25;
enemyBottom = enemyY + 25;
// detect collision!
if (myLeft > enemyRight || myRight < enemyLeft || myTop > enemyBottom || myBottom < enemyTop) {
// there's no collision here - do nothing
}
else {
// there's collision
console.log("Collision!");
fill(random(255), random(255), random(255));
text("I'm colliding with my enemy. Ouch!", 255, 480);
// increase points by 1
points++;
// generate new enemy position
enemyX = random(25, 475);
enemyY = random(150, 450);
}
fill(255);
text("Enemies collected: " + points, 340, 25);
}