-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPlayer.pde
More file actions
101 lines (85 loc) · 2.08 KB
/
Copy pathPlayer.pde
File metadata and controls
101 lines (85 loc) · 2.08 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
import Green.*;
import java.util.*;
import java.util.concurrent.TimeUnit;
class Player extends Entities {
float speed = 2;
int damage = 2;
int atkSpeed = 60;
int atkTimer = frameCount;
boolean invincible = false;
Skill skill;
Player(){
super(width/2, height/2, loadImage("assets/ship.png"), 0.15, 100);
}
void act (float a) {
skill = wrld.getObjects(Skill.class).get(0);
skill.handleSkill();
shoot();
move();
endGame();
}
void move() { // moves the character using wasd
if(green.isKeyDown('w')) {
moveGlobal(0, -speed);
}
if(green.isKeyDown('s')) {
moveGlobal(0, speed);
}
if(green.isKeyDown('d')) {
moveGlobal(speed, 0);
}
if(green.isKeyDown('a')) {
moveGlobal(-speed, 0);
}
}
void shoot() {
if (frameCount >= atkTimer + atkSpeed) {
atkTimer = frameCount;
PlayerBullet bullet = new PlayerBullet(getX(), getY(), damage);
wrld.addObject(bullet);
}
}
void endGame() {
if (this.getHealth() == 0) {
Boss boss = wrld.getObjects(Boss.class).get(0);
skill = wrld.getObjects(Skill.class).get(0);
wrld.removeObject(this);
wrld.removeObject(boss);
wrld.removeObject(skill);
end.setVictoryStatus("lost");
green.loadWorld(end);
applyDamage(-100);
}
}
void setSpeed(float spd) {
speed = spd;
}
void setDamage(int dmg) {
damage = dmg;
}
void setAtkSpeed(int atk) {
atkSpeed = atk;
}
void setInvincible(boolean toggle) {
invincible = toggle;
}
int getSkill1Timer() {
skill = wrld.getObjects(Skill.class).get(0);
return skill.getSkill1Cooldown();
}
int getSkill2Timer() {
skill = wrld.getObjects(Skill.class).get(0);
return skill.getSkill1Cooldown();
}
String getPlayerClass(){
skill = wrld.getObjects(Skill.class).get(0);
return skill.getPlayerClass();
}
void applyDamage(int damage){
if (!invincible && damage > 0) {
super.applyDamage(damage);
} else if (!invincible && damage < 0){
super.applyDamage(damage);
}
}
}