📄 strategy.cpp
字号:
if(p->opp [0].pos .y <=43)
{
pos.x=80;
pos.y =52;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
else
{
pos.x=80;
pos.y =33;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
}
pos.x=50;
pos.y =43;
if(fabs(p->opp[p->oppcutrobot].pos.x-pos.x)<10&&fabs(p->opp[p->cutrobot ].pos.y-pos.y)<10)
{
PositionAndThrough(env,p->defentrobot ,p->opp[p->cutrobot].pos,125);
}
else
{
PositionAndThrough(env,p->defentrobot ,pos ,0);
}
break;
case 23:
Order(env);
oppOrder(env);
if(Within(env,p->mainrobot ,5))
{
shoot(env,p->mainrobot );
}
else
{
Kick(env,p->mainrobot ,2,1);
for(count=300;count>0;count--)
{
while(count<1)
{
Kick(env,p->mainrobot ,p->cutrobot );
}
}
}
if(Within(env,p->slowrobot ,5))
{
shoot(env,p->slowrobot );
}
else
{
Kick(env,p->slowrobot ,3,3);
}
if(Within(env,p->cutrobot ,5))
{
shoot(env,p->cutrobot );
}
else
{
if(p->opp [0].pos .y <=43)
{
pos.x=83;
pos.y =52;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
else
{
pos.x=83;
pos.y =33;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
}
pos.x=50;
pos.y =50;
if(fabs(p->opp[p->oppcutrobot].pos.x-pos.x)<10&&fabs(p->opp[p->cutrobot ].pos.y-pos.y)<10)
{
PositionAndThrough(env,p->defentrobot ,p->opp[p->cutrobot].pos,125);
}
else
{
PositionAndThrough(env,p->defentrobot ,pos ,0);
}
break;
case 24:
Order(env);
oppOrder(env);
if(Within(env,p->mainrobot ,5))
{
shoot(env,p->mainrobot );
}
else
{
Kick(env,p->mainrobot ,2,1);
for(count=300;count>0;count--)
{
while(count<1)
{
Kick(env,p->mainrobot ,p->cutrobot );
}
}
}
if(Within(env,p->slowrobot ,5))
{
shoot(env,p->slowrobot);
}
else
{
pos.x =80;
pos.x =58;
PositionAndThrough(env,p->slowrobot ,pos,125);
}
if(Within(env,p->cutrobot ,5))
{
shoot(env,p->cutrobot );
}
else
{
if(p->opp [0].pos .y <=43)
{
pos.x=64;
pos.y =43;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
else
{
pos.x=64;
pos.y =20;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
}
pos.x=33;
pos.y =45;
if(fabs(p->opp[p->oppcutrobot].pos.x-pos.x)<10&&fabs(p->opp[p->cutrobot ].pos.y-pos.y)<10)
{
PositionAndThrough(env,p->defentrobot ,p->opp[p->cutrobot].pos,125);
}
else
{
PositionAndThrough(env,p->defentrobot ,pos ,30);
}
break;
case 25:
Order(env);
oppOrder(env);
if(Within(env,p->mainrobot ,5))
{
shoot(env,p->mainrobot );
}
else
{
Kick(env,p->mainrobot ,p->cutrobot );
}
if(Within(env,p->slowrobot ,5))
{
shoot(env,p->slowrobot);
}
else
{
pos.x =80;
pos.x =58;
PositionAndThrough(env,p->slowrobot ,pos,125);
}
if(Within(env,p->cutrobot ,5))
{
shoot(env,p->cutrobot );
}
else
{
if(p->opp [0].pos .y <=43)
{
pos.x=64;
pos.y =43;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
else
{
pos.x=64;
pos.y =20;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
}
pos.x=33;
pos.y =45;
if(fabs(p->opp[p->oppcutrobot].pos.x-pos.x)<10&&fabs(p->opp[p->cutrobot ].pos.y-pos.y)<10)
{
PositionAndThrough(env,p->defentrobot ,p->opp[p->cutrobot].pos,125);
}
else
{
PositionAndThrough(env,p->defentrobot ,pos ,30);
}
break;
case 26:
Order(env);
oppOrder(env);
if(Within(env,p->mainrobot ,5))
{
shoot(env,p->mainrobot );
}
else
{
Kick(env,p->mainrobot ,p->cutrobot );
}
if(Within(env,p->slowrobot ,5))
{
Kick(env,p->slowrobot ,p->cutrobot );
}
else
{
Kick(env,p->slowrobot ,3,3);
}
if(Within(env,p->cutrobot ,5))
{
shoot(env,p->cutrobot );
}
else
{
if(p->opp [0].pos .y <=43)
{
pos.x=64;
pos.y =43;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
else
{
pos.x=64;
pos.y =20;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
}
pos.x=33;
pos.y =45;
if(fabs(p->opp[p->oppcutrobot].pos.x-pos.x)<10&&fabs(p->opp[p->cutrobot ].pos.y-pos.y)<10)
{
PositionAndThrough(env,p->defentrobot ,p->opp[p->cutrobot].pos,125);
}
else
{
PositionAndThrough(env,p->defentrobot ,pos ,30);
}
break;
case 27:
Order(env);
oppOrder(env);
if(Within(env,p->mainrobot ,5))
{
shoot(env,p->mainrobot );
}
else
{
Kick(env,p->mainrobot ,p->cutrobot );
}
if(Within(env,p->slowrobot ,5))
{
shoot(env,p->slowrobot);
}
else
{
pos.x =80;
pos.x =58;
PositionAndThrough(env,p->slowrobot ,pos,125);
}
if(Within(env,p->cutrobot ,5))
{
shoot(env,p->cutrobot );
}
else
{
if(p->opp [0].pos .y <=43)
{
pos.x=64;
pos.y =43;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
else
{
pos.x=64;
pos.y =20;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
}
pos.x=33;
pos.y =45;
if(fabs(p->opp[p->oppcutrobot].pos.x-pos.x)<10&&fabs(p->opp[p->cutrobot ].pos.y-pos.y)<10)
{
PositionAndThrough(env,p->defentrobot ,p->opp[p->cutrobot].pos,125);
}
else
{
PositionAndThrough(env,p->defentrobot ,pos ,30);
}
break;
case 28:
Order(env);
oppOrder(env);
if(Within(env,p->mainrobot ,5))
{
shoot(env,p->mainrobot );
}
else
{
Kick(env,p->mainrobot ,p->cutrobot );
}
if(Within(env,p->slowrobot ,5))
{
shoot(env,p->slowrobot );
}
else
{
pos.x =74;
pos.y =86;
PositionAndThrough(env,p->slowrobot,pos,125);
}
if(Within(env,p->cutrobot ,5))
{
shoot(env,p->cutrobot );
}
else
{
if(p->opp [0].pos .y <=43)
{
pos.x=64;
pos.y =43;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
else
{
pos.x=64;
pos.y =20;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
}
pos.x=33;
pos.y =45;
if(fabs(p->opp[p->oppcutrobot].pos.x-pos.x)<10&&fabs(p->opp[p->cutrobot ].pos.y-pos.y)<10)
{
PositionAndThrough(env,p->defentrobot ,p->opp[p->cutrobot].pos,125);
}
else
{
PositionAndThrough(env,p->defentrobot ,pos ,30);
}
break;
case 29:
Order(env);
oppOrder(env);
if(Within(env,p->mainrobot ,5))
{
shoot(env,p->mainrobot );
}
else
{
Kick(env,p->mainrobot ,p->cutrobot );
}
if(Within(env,p->slowrobot ,5))
{
shoot(env,p->slowrobot);
}
else
{
pos.x =80;
pos.x =58;
PositionAndThrough(env,p->slowrobot ,pos,125);
}
if(Within(env,p->cutrobot ,5))
{
shoot(env,p->cutrobot );
}
else
{
if(p->opp [0].pos .y <=43)
{
pos.x=64;
pos.y =43;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
else
{
pos.x=64;
pos.y =20;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
}
pos.x=33;
pos.y =45;
if(fabs(p->opp[p->oppcutrobot].pos.x-pos.x)<10&&fabs(p->opp[p->cutrobot ].pos.y-pos.y)<10)
{
PositionAndThrough(env,p->defentrobot ,p->opp[p->cutrobot].pos,125);
}
else
{
PositionAndThrough(env,p->defentrobot ,pos ,30);
}
break;
case 30:
Order(env);
oppOrder(env);
if(Within(env,p->mainrobot ,5))
{
shoot(env,p->mainrobot );
}
else
{
Kick(env,p->mainrobot ,p->cutrobot );
}
if(Within(env,p->slowrobot ,5))
{
Kick(env,p->slowrobot ,p->cutrobot );
}
else
{
Kick(env,p->slowrobot ,3,3);
}
if(Within(env,p->cutrobot ,5))
{
shoot(env,p->cutrobot );
}
else
{
if(p->opp [0].pos .y <=43)
{
pos.x=64;
pos.y =43;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
else
{
pos.x=64;
pos.y =20;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
}
pos.x=33;
pos.y =45;
if(fabs(p->opp[p->oppcutrobot].pos.x-pos.x)<10&&fabs(p->opp[p->cutrobot ].pos.y-pos.y)<10)
{
PositionAndThrough(env,p->defentrobot ,p->opp[p->cutrobot].pos,125);
}
else
{
PositionAndThrough(env,p->defentrobot ,pos ,30);
}
break;
case 31:
Order(env);
oppOrder(env);
if(Within(env,p->mainrobot ,5))
{
shoot(env,p->mainrobot );
}
else
{
Kick(env,p->mainrobot ,p->cutrobot );
}
if(Within(env,p->slowrobot ,5))
{
shoot(env,p->slowrobot);
}
else
{
pos.x =80;
pos.x =58;
PositionAndThrough(env,p->slowrobot ,pos,125);
}
if(Within(env,p->cutrobot ,5))
{
shoot(env,p->cutrobot );
}
else
{
if(p->opp [0].pos .y <=43)
{
pos.x=64;
pos.y =43;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
else
{
pos.x=64;
pos.y =20;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
}
pos.x=33;
pos.y =45;
if(fabs(p->opp[p->oppcutrobot].pos.x-pos.x)<10&&fabs(p->opp[p->cutrobot ].pos.y-pos.y)<10)
{
PositionAndThrough(env,p->defentrobot ,p->opp[p->cutrobot].pos,125);
}
else
{
PositionAndThrough(env,p->defentrobot ,pos ,30);
}
break;
case 32:
Order(env);
oppOrder(env);
if(Within(env,p->mainrobot ,5))
{
pos.x =64;
pos.y =43;
PositionAndThrough(env,p->cutrobot ,Meetball_p(env,p->cutrobot ),125);
for(count=300;count>0;count--)
{
while(count<1)
{
Kick(env,p->mainrobot ,p->cutrobot );
}
}
}
else
{
Kick(env,p->mainrobot ,2,1);
}
if(Within(env,p->slowrobot ,5))
{
PositionAndStop(env,p->slowrobot ,pos,-30,1.5);
}
else
{
Kick(env,p->slowrobot ,3,3);
}
if(Within(env,p->cutrobot ,5))
{
shoot(env,p->cutrobot );
}
else
{
if(p->opp [0].pos .y <=43)
{
pos.x=80;
pos.y =53;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
else
{
pos.x=80;
pos.y =33;
PositionAndThrough(env,p->cutrobot ,pos,125);
}
}
pos.x=33;
pos.y =45;
if(fabs(p->opp[p->oppcutrobot].pos.x-pos.x)<10&&fabs(p->opp[p->cutrobot ].pos.y-pos.y)<10)
{
PositionAndThrough(env,p->defentrobot ,p->opp[p->cutrobot].pos,125);
}
else
{
PositionAndThrough(env,p->defentrobot ,pos ,30);
}
break;
case 33:
Order(env);
PredictBall(env,2);
if(shoot1(env,p->mainrobot,200 ))
{
shoot(env,p->mainrobot );
}
else
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -