-
Notifications
You must be signed in to change notification settings - Fork 0
/
boss.pde
179 lines (130 loc) · 3.76 KB
/
boss.pde
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
import ddf.minim.*;
import java.util.Arrays;
import java.util.List;
import java.util.Iterator;
float x = 10, y = 350;
float xSpeed = 0, ySpeed = 0;//ySpeed
int NUMBER_OF_KILL=0;
boolean flag=false;
boolean CONTACT_flag = false;
int click =0;
int state; //return the state number
long t_start;
float t;
int direct= 0;//when turing to left, it becomes 0, ohterwise, 3;
/*Settings of MUR's Image */
PImage[] walk; //walking
PImage[] Stay;
PImage[] fight;
PImage[] K;
PImage DISP; //display Image
PImage BACK;
/*Initiation of Kouji's parameter*/
ArrayList<Kouji> k;
int KOUJI_HP=10;
int KOUJI_HP_MAX=10;
/*Hero's HP*/
int HERO_HP=50;
/*Initiation of TNOK's parameter*/
ArrayList<TNOK> tnok;
/*Recover Item*/
ArrayList<BANANA> BNN;
PImage Kill;
PImage DIALOG_WINDOW;
int SCORE=0;
Kouji sel = null;
TNOK sel_tnok = null;
BANANA sel_banana = null;
float attack_START = 114514;
boolean trigger=true; // initialization of trigger
Minim minim;
AudioPlayer player;
AudioPlayer gesture;
AudioPlayer eating;
void setup() {//initialization
PImage banana = loadImage(sketchPath("src/img/other/banana.png"));
size(600, 400);
frameRate(150);
background(0);
textSize(32);
textAlign(CENTER);
fill(255);
state = 0; //initialization of statement
t_start = millis();
k = new ArrayList<Kouji>();
tnok = new ArrayList<TNOK>(); //Tanioka Class
BNN = new ArrayList<BANANA>();
minim = new Minim(this);
player = minim.loadFile(sketchPath("src/sound/sword-slash3.mp3"));
gesture = minim.loadFile(sketchPath("src/sound/sword-gesture2.mp3"));
eating = minim.loadFile(sketchPath("src/sound/eating_banana.mp3"));
Kill = loadImage(sketchPath("src/img/other/kill_number.png"));
DIALOG_WINDOW = loadImage("Dialog.png");
BACK = loadImage(sketchPath("src/img/other/background.png"));
Stay = new PImage[2];
walk = new PImage[12];
fight = new PImage[2];
for (int i=0; i<Stay.length; i++) {
Stay[i] = loadImage(sketchPath("src/img/hero/c"+ (i+1) +"w.png"));
}
for (int i=0; i<walk.length; i++) {
walk[i] = loadImage(sketchPath("src/img/hero/cwc"+ (i+1) +".png"));
}
for (int i=0; i<fight.length; i++) {
fight[i] = loadImage(sketchPath("src/img/hero/cp" + (i+1) + ".png"));
}
DISP = Stay[0];
k.add(new Kouji(random(0, 150), 320));
k.add(new Kouji(random(200, 300), 320));
k.add(new Kouji(random(350, 470), 320));
k.add(new Kouji(random(520, 590), 320));
for (Kouji i : k) { // intialization of each parameter
i.HP = KOUJI_HP;
i.ATTACKED = 0;
i.AFTER_ATTACKED = 0;
i.CONTACTED = 0;
i.CONTACTING = 0;
i.D = 0;
i.WALK = new PImage[10];
for (int j=0; j<i.WALK.length; j++) {
i.WALK[j] = loadImage(sketchPath("src/img/gorilla/gr"+ j +".png"));
}
i.Act = false; // IF Koji has never been to attack, Variable "act" remain 0.
}
tnok.add(new TNOK(random(200, 300), 320));
for (TNOK i : tnok) { // intialization of each parameter
i.HP = KOUJI_HP;
i.ATTACKED = 0;
i.AFTER_ATTACKED = 0;
i.CONTACTED = 0;
i.CONTACTING = 0;
i.Muki = new PImage[6];
for (int j=0; j<i.Muki.length; j++) {
i.Muki[j] = loadImage(sketchPath("src/img/tanioka/ewc"+ (j+1) +".png"));
}
i.Act = false; // IF Koji has never been to attack, Variable "act" remain 0.
}
};
void draw() {
t = (millis() - t_start) / 1000.0;
// text(nf(t, 1, 3) + "sec.", width * 0.5, height * 0.9); // for debugging
int nextState= 0;
if (state == 0) {
nextState = title();
}
/* else if (state ==1) {
nextState = dialog();
}*/
else if (state == 2) {
nextState = game();
} else if (state == 3) {
nextState = ending();
}
else if(state == 4){
nextState = Boss_fight();
}
if (state != nextState) {
t_start = millis();
}
state = nextState;
}