水战策略之精准打击

研究了一下陶陶同学的水战程序(见水战博客评论),发现很有启发性,不过说实话,他把顺时针与逆时针刚好颠倒了。另外,他为精准打击设置的复杂算法,还是很费思量的,于是,我大刀阔斧地删除了那些令人费解的代码,取其最精华的部分,贴到这里与大家分享。

var ssc = 0;   //  粗扫描

var ssx = 0;   //  细扫描

while (true){

if(scan(ssc,20)<=70){

if (ssx>=ssc-10 && ssx<=ssc+10){

if (scan(ssx,2)<70){

cannon(ssx,scan(ssx,2));

}else{

ssx += 1;

}

}else{

ssx = ssc-10;

}

}else{

ssc += 20;

}

}

陶陶同学的方案里有两部粗扫描雷达,扫描角度为20度,分别沿顺时针及逆时针方向旋转,当发现敌人时,两个雷达合并为一个雷达,然后利用小角度雷达(扫描角度为5度),快速在粗扫雷达范围内搜索目标,并进行精准打击。

经过我修改后的代码,胜率大概50%,可以通过修改其中的参数,来提高胜率,可改进的如雷达(包括粗扫与细扫)的扫描距离与扫描角度等。

最后还要感谢陶陶同学在百忙之中贡献出他的代码。

(0)

相关推荐