summaryrefslogtreecommitdiff
path: root/levels.h
diff options
context:
space:
mode:
Diffstat (limited to 'levels.h')
-rw-r--r--levels.h50
1 files changed, 23 insertions, 27 deletions
diff --git a/levels.h b/levels.h
index 1c04cb5..5e39e3d 100644
--- a/levels.h
+++ b/levels.h
@@ -3690,6 +3690,7 @@ void Levelm2Part8()
avacurbrk+=hge->Timer_GetDelta();
if(avacurbrk>avabrk)
{
+ shots=1;
for(int i=0;i<200;++i)
if (asscircles[i].GetRange()>800||asscircles[i].GetRange()<1e-7)
{
@@ -3723,15 +3724,13 @@ void Levelm2Part9()
FadeTip=false;
Current_Position=2;
ShowTip("Test 5 - Crossing 2");
- All2pnt();
+ for(int i=0;i<200;++i)
+ if (asscircles[i].GetRange()>1e-7&&asscircles[i].GetRange()<800)
+ asscircles[i].circ2pnt();
return;
}
- if (towcnt!=0)return ClearAll(false);
if(Current_Position==1)
{
- for(int i=0;i<200;++i)
- if (asscircles[i].GetRange()>1e-7&&asscircles[i].GetRange()<800)
- asscircles[i].circ2pnt();
memset(asscircles,0,sizeof(asscircles));
++part;avabrk=0;avacurbrk=0;
}
@@ -3742,6 +3741,7 @@ void Levelm2Part10()
avacurbrk+=hge->Timer_GetDelta();
if(avacurbrk>avabrk)
{
+ shots=1;
for(int i=0;i<200;++i)
if (asscircles[i].GetRange()>800||asscircles[i].GetRange()<1e-7)
{
@@ -3766,6 +3766,7 @@ void Levelm2Part10()
}
}
double assrad;
+SELineLaser trap[100];
void Levelm2Part11()
{
frameleft=Infinity;
@@ -3775,43 +3776,38 @@ void Levelm2Part11()
IfShowTip=false;
FadeTip=false;
Current_Position=2;
- ShowTip("Test 6 - Fake sink");
- All2pnt();
+ ShowTip("Test 6 - Trappy");
+ for(int i=0;i<200;++i)
+ if (asscircles[i].GetRange()>1e-7&&asscircles[i].GetRange()<800)
+ asscircles[i].circ2pnt();
return;
}
- if (towcnt!=0)return ClearAll(false);
if(Current_Position==1)
{
- for(int i=0;i<200;++i)
- if (asscircles[i].GetRange()>1e-7&&asscircles[i].GetRange()<800)
- asscircles[i].circ2pnt();
memset(asscircles,0,sizeof(asscircles));
- ++part;avabrk=0;avacurbrk=0;assrad=0;tbrk=0;
+ ++part;avabrk=0;avacurbrk=0;tbrk=0;memset(trap,0,sizeof(trap));
}
}
void Levelm2Part12()
{
frameleft=Infinity;
avacurbrk+=hge->Timer_GetDelta();
- tbrk+=hge->Timer_GetDelta();
+ for(int i=0;i<100;++i)
+ if(trap[i].isActive())trap[i].Update();
if(avacurbrk>avabrk)
{
- CreateBullet2(400,300,re.NextInt(1,2.5),re.NextDouble(-pi,pi));
- avacurbrk=0;
- avabrk=0.05-0.03*assetime/120;
- if(avabrk<0.01)avabrk=0.01;
- }
- if(tbrk>0.05)
- {
- for(int i=0;i<6;++i)
+ bool sh=re.NextInt(0,1);
+ for(int c=0;c<(assetime>30?(assetime-30)/30:1);++c,sh^=1)
+ for(int i=0;i<100;++i)
+ if(!trap[i].isActive())
{
- int pnt=CreateBullet2(400+500*cos(assrad+i*pi/3),300+500*sin(assrad+i*pi/3),1.5,0,true);
- double r2=495.0f*(assetime/120.0f);r2=500-r2;
- bullet[pnt].redir(vector2d(400+r2*cos(assrad+i*pi/3),300+r2*sin(assrad+i*pi/3)));
- bullet[pnt].limpos=vector2d(400+r2*cos(assrad+i*pi/3),300+r2*sin(assrad+i*pi/3));
- bullet[pnt].extborder=true;
+ if(sh)trap[i].Init(re.NextInt(10,590),1);
+ else trap[i].Init(re.NextInt(10,790),0);
+ break;
}
- tbrk=0;assrad+=pi/60;
+ avacurbrk=0;
+ if(assetime<60)avabrk=3-2*assetime/60.0f;
+ else avabrk=2.5-(assetime-60)/120.0f;
}
}
double asssrd1;