-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstages.cpp
More file actions
105 lines (96 loc) · 3.7 KB
/
Copy pathstages.cpp
File metadata and controls
105 lines (96 loc) · 3.7 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
#include "stages.h"
#include "simpleenemy.h"
#include "bakaDirect.h"
#include "denemy.h"
#include "Vector2Basic.h"
#include "spinenemy.h"
#include "shotSimpleTraceEnemy.h"
#include "stage2Enemy.h"
#include "predictenemy.h"
#include "easyenemy.h"
const int screenWidth = 1600 - 600;
const int screenHeight = 900;
void Stage1(float nowtime, std::queue<std::pair<float, Enemy*> > &queue) {
/*
{
Enemy * e = new DEnemy(50, nowtime + 0, 10, (Vector2){500, 50}, 50, "source/lion.png");
queue.push(std::make_pair(nowtime + 0, e));
}
//*/
char baka[20] = "source/baka.png";
const int BakaCnt = 5;
Vector2 Bakapos[BakaCnt] = {{500, 100}, {100, 100}, {800, 150}, {200, 400}, {900, 450}};
float Bakavel[BakaCnt] = {20, 15, 30, 19, 9};
float Bakaalpha[BakaCnt] = {PI / 2, PI * 3 / 4, PI * 3 / 2, PI, PI * 7 / 4};
float Bakatime[BakaCnt] = {1, 4, 4, 8, 8};
float BakaDutime = 5;
//queue.push(std::make_pair(0, new SimpleEnemy(114514, nowtime, 1919810, {114,514}, 50, "source/fish1.png")));
for (int i = 0; i < BakaCnt; i++) {
Vector2 f = {cos(Bakaalpha[i]), sin(Bakaalpha[i])};
Enemy * e = new bakaDirect(100, nowtime + Bakatime[i], BakaDutime,
Bakapos[i], 40, baka, Bakavel[i] * f);
queue.push(std::make_pair(nowtime + Bakatime[i], e));
}
{
const int STIME = 15;
Enemy *e = new spinEnemy(400, nowtime + STIME, 30, (Vector2){500, 50}, 50, "source/zhuanzhuan.png",
(Vector2){0, 0}, 1);
queue.push(std::make_pair(nowtime + STIME, e));
}
return;
}
void Stage2(float nowtime, std::queue<std::pair<float, Enemy*> > &queue) {
const int senmy = 9;
Vector2 epos[senmy] = {{200, 200}, {800, 200}, {300, 300}, {700, 300}, {500, 100}, {500, 500},
{100, 100}, {900, 100}, {500, 400}};
float etime[senmy] = {1, 1, 5, 5, 8, 8, 10, 10, 10};
float dutime = 15;
char devil[] = "source/devil.png";
for (int i = 0; i < senmy; i++) {
Enemy *e = new shotSimpleTraceEnemy(100, nowtime + etime[i], 10, epos[i], 40, devil, 40, 10);
queue.push(std::make_pair(nowtime + etime[i], e));
}
queue.push(std::make_pair(15 + nowtime, new stage2Enemy(1000, nowtime + 15, 25, {500,50}, 50, "source/Patchouli.png")));
return;
}
void Stage3(float nowtime, std::queue<std::pair<float, Enemy*> > &queue) {
{
const int easye = 7;
Vector2 easypos[easye] = {{500, 100}, {300, 150}, {700, 150}, {100, 200}, {900, 200},
{300, 150}, {700, 150}};
float easytime[easye] = {0.5, 1, 1, 2, 2, 22.5, 22.6};
float easydutime = 20;
for (int i = 0; i < easye; i++) {
Enemy *e = new EasyEnemy(100, nowtime+ easytime[i], easydutime, easypos[i], 50, "source/fish0.png");
queue.push(std::make_pair(nowtime + easytime[i], e));
}
}
{
const int prede = 1;
Vector2 predpos[prede] = {{500, 100}};
float predtime[prede] = {23};
float predlive = 1000;
for (int i = 0; i < 1; i++) {
Enemy *e = new PredictEnemy(1000, nowtime + predtime[i], predlive, predpos[i], 50, "source/fish0.png");
queue.push(std::make_pair(nowtime + predtime[i], e));
}
}
queue.push(std::make_pair(nowtime + 50, new SimpleEnemy(5000, nowtime, nowtime + 1145141919, (Vector2){500, 50}, 50, "source/fish1.png")));
return;
}
void getStage(int stageid, float nowtime, std::queue<std::pair<float, Enemy*> > &queue) {
switch (stageid)
{
case 1:
Stage1(nowtime, queue);
break;
case 2:
Stage2(nowtime, queue);
break;
case 3:
Stage3(nowtime, queue);
break;
default:
break;
}
}