-
Notifications
You must be signed in to change notification settings - Fork 0
/
track.hpp
52 lines (47 loc) · 960 Bytes
/
track.hpp
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
#ifndef _TRACK_HPP_
#define _TRACK_HPP_
#include "note.hpp"
#include "utils.hpp"
#include "score.hpp"
class track {
public:
track();
~track();
// render
void setarea(rect);
rect getarea();
void bindscore(score * x);
std::vector<rect> gettrack(clock_t);
rect getdown();
char getdisplaych();
void setdisplaych(char);
// difficulty and track
void setspn(double);
void setrange(int, int, int, int);
void push(note);
void reset();
// hit
bool checkhit(clock_t);
bool checkmiss(clock_t);
int match(int);
void setdelta(int);
int getwidth();
bool islight();
void setlight(bool);
int getlightheight();
void setlightheight(int);
private:
bool light;
int lightheight;
rect getpos(note*, clock_t);
double spn; // seconds per note
int perfect, great, good, bad;
int checkdelta;
int range;
char drawch;
rect area;
std::vector<note> notes;
int cur;
score * sb; // update score board
} ;
#endif