-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathHUD.java
72 lines (59 loc) · 1.91 KB
/
HUD.java
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
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
public class HUD {
private int risk;
private float score;
private BufferedImageLoader loader = new BufferedImageLoader();
private BufferedImage riskBar, pointer;
//Constructor
public HUD() {
riskBar = loader.loadImage("/risk_bar.png");
pointer = loader.loadImage("/pointer.png");
risk = 500;
score = 0;
}
//Helper methods
public void setRisk(int risk) {
this.risk = risk;
}
public int getRisk() {
return risk;
}
public void incrementRisk(int inc) {
if (Game.gameState == State.Lobby) risk = Game.clamp(risk+inc, 0, 999);
else if (Game.gameState != State.Tutorial) risk += inc;
}
public void incrementScore(float inc) {
if (Game.gameState == State.Game) score += inc;
}
public float getScore() {
return score;
}
public void tick() {
risk = Game.clamp(risk, 0, 1000);
Game.objectSpeed = 4 + (int)(score/50);
// score = 1001;
}
//Display for the character's risk level
public void render(Graphics g) {
if (Game.gameState == State.Lobby) {
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(new Color(0,0,0,150));
g2d.fillRoundRect(5, 5, 265, 60, 20, 20);
g.drawImage(riskBar, 20, 20, null);
g.drawImage(pointer, 25 + risk/5, 29, null);
}
else {
g.drawImage(riskBar, 15, 15, null);
g.drawImage(pointer, 20 + risk/5, 24, null);
}
if (Game.gameState == State.Game) {
g.setColor(Color.white);
g.setFont(new Font("8BIT WONDER", Font.PLAIN, 30));
g.drawString(String.format("%05d", (int) score), 630, 45);
}
}
}