Кто может помочь мнеулучшить аина ява скриптах?
/* OrderAnyone_Help_Me – Decompiled by JODE * Visit //jode.sourceforge.net/ */ package com.maddox.il2.game.order; import com.maddox.il2.ai.air.AirGroup; import com.maddox.il2.ai.air.Maneuver; import com.maddox.il2.ai.air.Pilot; import com.maddox.il2.engine.Actor; import com.maddox.il2.objects.air.Aircraft; import com.maddox.il2.objects.sounds.Voice;
class OrderAnyone_Help_Me extends Order { public OrderAnyone_Help_Me() { super("Anyone_Help_Me"); }
public void run() { cset(PlayerSquad()); Voice.setSyncMode(1); for (int i = 0; i < CommandSet().length; i++) { Aircraft aircraft = CommandSet()[i]; if (Actor.isAlive(aircraft) && aircraft.FM instanceof Pilot && Actor.isAlive(aircraft.FM.actor)) { Pilot pilot = (Pilot) aircraft.FM; if (pilot.Group != null) { Maneuver maneuver = (Maneuver) Player().FM; pilot.airClient = Player().FM; boolean bool = false; if (maneuver.danger != null) { Maneuver maneuver_0_ = (Maneuver) maneuver.danger; pilot.target = maneuver_0_; if (maneuver_0_.Group != null) { if (isEnableVoice() && aircraft != Player() && pilot.canAttack() && pilot.canAttack() && (aircraft.getWing() == Player().getWing() || aircraft.aircIndex() == 0)) Voice.speakAttackFighters(aircraft); pilot.Group.targetGroup = maneuver_0_.Group; pilot.Group.setGroupTask(3); bool = true; } } else if (maneuver.Group != null) { maneuver.Group.setATargMode(7); AirGroup airgroup = maneuver.Group.chooseTargetGroup(); if (airgroup != null) { if (isEnableVoice() && aircraft != Player() && pilot.canAttack() && (aircraft.getWing() == Player().getWing() || aircraft.aircIndex() == 0)) Voice.speakAttackFighters(aircraft); pilot.Group.targetGroup = airgroup; pilot.Group.setGroupTask(3); bool = true; } } if (isEnableVoice() && aircraft != Player() && !bool) Voice.speakYouAreClear(CommandSet()[i]); } } } Voice.setSyncMode(0); } }
тут можно что нибуть изменить или добавить чтобы они лучше прекрывали?
case 9: set_maneuver(67); break; таких ситуаций я могу хоть 1000 вписать толкаособого не вижу. это простосам маневр.
Может я скажу бред, но в Java, switch считается плохим тоном if …else используют и код по объему будет меньше
else if (OnMe.x > 0.9) { switch (World.Rnd().nextInt(0, 5)) { case 0: set_maneuver(34); break; case 1: set_maneuver(31); break; case 2: set_maneuver(58); break; case 3: set_maneuver(37); break; case 4: set_maneuver(75); break; default: set_maneuver(67); } } else set_maneuver(67); } else { switch (World.Rnd().nextInt(0, 11)) { case 0: set_maneuver(27); break; case 1: set_maneuver(32); break; case 2: set_maneuver(19); break; case 3: set_maneuver(38); break; case 4: set_maneuver(65); break; case 5: set_maneuver(45); break; case 6: set_maneuver(19); break; case 7: set_maneuver(27); break; case 8: set_maneuver(23); break; case 9: set_maneuver(67); break; case 10: set_maneuver(33); break; default: set_maneuver(34); } } break;
Вот оборона аи аса стандартная.
private static Vector3d VDanger = new Vector3d(); private static Vector3d OnMe = new Vector3d(); private static Vector3d diffV = new Vector3d();
case 3: if ((double) dE > 500.0) { if (VDanger.x > 0.9) set_maneuver(27); else if (OnMe.x > 0.9 && (double) dist < 200.0) set_maneuver(19); else { switch (World.Rnd().nextInt(0, 3)) { case 0: set_maneuver(67); break; case 1: set_maneuver(28); break; default: set_maneuver(16); } } } else if ((double) dE > 200.0) { if (VDanger.x > 0.9) set_maneuver(27); else if (OnMe.x > 0.9 && (double) dist > 200.0) set_maneuver(33); else { switch (World.Rnd().nextInt(0, 3)) { case 0: set_maneuver(67); break; case 1: set_maneuver(35); break; default: set_maneuver(16); } } } else if ((double) dE > -25.0) { if (VDanger.x > 0.8) set_maneuver(27); else if (diffVLength < 50.0 && OnMe.x > 0.8) { if ((double) dist < 200.0) { if ((double) Alt > 500.0) { switch (World.Rnd().nextInt(0, 7)) { case 0: set_maneuver(33); break; case 1: set_maneuver(18); break; case 2: set_maneuver(32); break; case 3: set_maneuver(37); break; case 4: set_maneuver(36); break; case 5: set_maneuver(28); break; default: set_maneuver(29); } } else if (Alt > 150.0F) { switch (World.Rnd().nextInt(0, 4)) { case 0: set_maneuver(29); break; case 1: set_maneuver(36); break; case 2: set_maneuver(28); break; default: set_maneuver(29); } } else set_maneuver(29); } else { switch (World.Rnd().nextInt(0, 5)) { case 0: set_maneuver(30); break; case 1: set_maneuver(19); break; case 2: set_maneuver(28); break; case 3: set_maneuver(33); break; default: set_maneuver(39); } } } else if (OnMe.x > 0.9) { switch (World.Rnd().nextInt(0, 3)) { case 0: set_maneuver(28); break; case 1: set_maneuver(29); break; default: set_maneuver(67); } } else set_maneuver(67); } else if ((double) dE > -200.0) { if (VDanger.x > 0.8) set_maneuver(27); else if (diffVLength < 50.0 && OnMe.x > 0.8) { if ((double) dist < 200.0) { if ((double) Alt > 500.0) { switch (World.Rnd().nextInt(0, 7)) { case 0: set_maneuver(32); break; case 1: set_maneuver(18); break; case 2: set_maneuver(33); break; case 3: set_maneuver(34); break; case 4: set_maneuver(7); break; case 5: set_maneuver(32); break; default: set_maneuver(29); } } else if (Alt > 150.0F) { switch (World.Rnd().nextInt(0, 4)) { case 0: set_maneuver(29); break; case 1: set_maneuver(32); break; case 2: set_maneuver(32); break; default: set_maneuver(29); } } else set_maneuver(29); } else { switch (World.Rnd().nextInt(0, 5)) { case 0: set_maneuver(34); break; case 1: set_maneuver(19); break; case 2: set_maneuver(33); break; case 3: set_maneuver(34);
break; default: set_maneuver(19); } } } else if (OnMe.x > 0.9) { switch (World.Rnd().nextInt(0, 3)) { case 0: set_maneuver(3); break; case 1: set_maneuver(34); break; default: set_maneuver(67); } } else set_maneuver(67); } else if ((double) dE > -400.0) { if (VDanger.x > 0.8) set_maneuver(27); else if (diffVLength < 50.0 && OnMe.x > 0.8) { if ((double) dist < 200.0) { if ((double) Alt > 500.0) { switch (World.Rnd().nextInt(0, 7)) { case 0: set_maneuver(34); break; case 1: set_maneuver(34); break; case 2: set_maneuver(19); break; case 3: set_maneuver(31); break; case 4: set_maneuver(30); break; case 5: set_maneuver(36); break; default: set_maneuver(29); } } else if (Alt > 150.0F) { switch (World.Rnd().nextInt(0, 4)) { case 0: set_maneuver(28); break; case 1: set_maneuver(34); break; case 2: set_maneuver(32); break; default: set_maneuver(34); } } else set_maneuver(29); } else { switch (World.Rnd().nextInt(0, 5)) { case 0: set_maneuver(32); break; case 1: set_maneuver(34); break; case 2: set_maneuver(32); break; case 3: set_maneuver(36); break; default: set_maneuver(40); } } }
Пусть тему меняет Java & JavaScript – не одно и тоже
Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.
13 марта 2010 в 13:03
/* OrderAnyone_Help_Me – Decompiled by JODE
* Visit //jode.sourceforge.net/
*/
package com.maddox.il2.game.order;
import com.maddox.il2.ai.air.AirGroup;
import com.maddox.il2.ai.air.Maneuver;
import com.maddox.il2.ai.air.Pilot;
import com.maddox.il2.engine.Actor;
import com.maddox.il2.objects.air.Aircraft;
import com.maddox.il2.objects.sounds.Voice;
class OrderAnyone_Help_Me extends Order
{
public OrderAnyone_Help_Me() {
super("Anyone_Help_Me");
}
public void run() {
cset(PlayerSquad());
Voice.setSyncMode(1);
for (int i = 0; i < CommandSet().length; i++) {
Aircraft aircraft = CommandSet()[i];
if (Actor.isAlive(aircraft) && aircraft.FM instanceof Pilot
&& Actor.isAlive(aircraft.FM.actor)) {
Pilot pilot = (Pilot) aircraft.FM;
if (pilot.Group != null) {
Maneuver maneuver = (Maneuver) Player().FM;
pilot.airClient = Player().FM;
boolean bool = false;
if (maneuver.danger != null) {
Maneuver maneuver_0_ = (Maneuver) maneuver.danger;
pilot.target = maneuver_0_;
if (maneuver_0_.Group != null) {
if (isEnableVoice() && aircraft != Player()
&& pilot.canAttack()
&& pilot.canAttack()
&& (aircraft.getWing() == Player().getWing()
|| aircraft.aircIndex() == 0))
Voice.speakAttackFighters(aircraft);
pilot.Group.targetGroup = maneuver_0_.Group;
pilot.Group.setGroupTask(3);
bool = true;
}
} else if (maneuver.Group != null) {
maneuver.Group.setATargMode(7);
AirGroup airgroup = maneuver.Group.chooseTargetGroup();
if (airgroup != null) {
if (isEnableVoice() && aircraft != Player()
&& pilot.canAttack()
&& (aircraft.getWing() == Player().getWing()
|| aircraft.aircIndex() == 0))
Voice.speakAttackFighters(aircraft);
pilot.Group.targetGroup = airgroup;
pilot.Group.setGroupTask(3);
bool = true;
}
}
if (isEnableVoice() && aircraft != Player() && !bool)
Voice.speakYouAreClear(CommandSet()[i]);
}
}
}
Voice.setSyncMode(0);
}
}
тут можно что нибуть изменить или добавить чтобы они лучше прекрывали?
13 марта 2010 в 8:01
case 9:
set_maneuver(67);
break;
таких ситуаций я могу хоть 1000 вписать толкаособого не вижу.
это простосам маневр.
12 марта 2010 в 20:00
Может я скажу бред, но в Java, switch считается плохим тоном if …else используют и код по объему будет меньше
12 марта 2010 в 18:01
else if (OnMe.x > 0.9) {
switch (World.Rnd().nextInt(0, 5)) {
case 0:
set_maneuver(34);
break;
case 1:
set_maneuver(31);
break;
case 2:
set_maneuver(58);
break;
case 3:
set_maneuver(37);
break;
case 4:
set_maneuver(75);
break;
default:
set_maneuver(67);
}
}
else
set_maneuver(67);
}
else {
switch (World.Rnd().nextInt(0, 11)) {
case 0:
set_maneuver(27);
break;
case 1:
set_maneuver(32);
break;
case 2:
set_maneuver(19);
break;
case 3:
set_maneuver(38);
break;
case 4:
set_maneuver(65);
break;
case 5:
set_maneuver(45);
break;
case 6:
set_maneuver(19);
break;
case 7:
set_maneuver(27);
break;
case 8:
set_maneuver(23);
break;
case 9:
set_maneuver(67);
break;
case 10:
set_maneuver(33);
break;
default:
set_maneuver(34);
}
}
break;
12 марта 2010 в 18:01
Вот оборона аи аса стандартная.
12 марта 2010 в 18:01
private static Vector3d VDanger = new Vector3d();
private static Vector3d OnMe = new Vector3d();
private static Vector3d diffV = new Vector3d();
12 марта 2010 в 18:00
case 3:
if ((double) dE > 500.0) {
if (VDanger.x > 0.9)
set_maneuver(27);
else if (OnMe.x > 0.9 && (double) dist < 200.0)
set_maneuver(19);
else {
switch (World.Rnd().nextInt(0, 3)) {
case 0:
set_maneuver(67);
break;
case 1:
set_maneuver(28);
break;
default:
set_maneuver(16);
}
}
}
else if ((double) dE > 200.0) {
if (VDanger.x > 0.9)
set_maneuver(27);
else if (OnMe.x > 0.9 && (double) dist > 200.0)
set_maneuver(33);
else {
switch (World.Rnd().nextInt(0, 3)) {
case 0:
set_maneuver(67);
break;
case 1:
set_maneuver(35);
break;
default:
set_maneuver(16);
}
}
}
else if ((double) dE > -25.0) {
if (VDanger.x > 0.8)
set_maneuver(27);
else if (diffVLength < 50.0 && OnMe.x > 0.8) {
if ((double) dist < 200.0) {
if ((double) Alt > 500.0) {
switch (World.Rnd().nextInt(0, 7)) {
case 0:
set_maneuver(33);
break;
case 1:
set_maneuver(18);
break;
case 2:
set_maneuver(32);
break;
case 3:
set_maneuver(37);
break;
case 4:
set_maneuver(36);
break;
case 5:
set_maneuver(28);
break;
default:
set_maneuver(29);
}
}
else if (Alt > 150.0F) {
switch (World.Rnd().nextInt(0, 4)) {
case 0:
set_maneuver(29);
break;
case 1:
set_maneuver(36);
break;
case 2:
set_maneuver(28);
break;
default:
set_maneuver(29);
}
}
else
set_maneuver(29);
}
else {
switch (World.Rnd().nextInt(0, 5)) {
case 0:
set_maneuver(30);
break;
case 1:
set_maneuver(19);
break;
case 2:
set_maneuver(28);
break;
case 3:
set_maneuver(33);
break;
default:
set_maneuver(39);
}
}
}
else if (OnMe.x > 0.9) {
switch (World.Rnd().nextInt(0, 3)) {
case 0:
set_maneuver(28);
break;
case 1:
set_maneuver(29);
break;
default:
set_maneuver(67);
}
}
else
set_maneuver(67);
}
else if ((double) dE > -200.0) {
if (VDanger.x > 0.8)
set_maneuver(27);
else if (diffVLength < 50.0 && OnMe.x > 0.8) {
if ((double) dist < 200.0) {
if ((double) Alt > 500.0) {
switch (World.Rnd().nextInt(0, 7)) {
case 0:
set_maneuver(32);
break;
case 1:
set_maneuver(18);
break;
case 2:
set_maneuver(33);
break;
case 3:
set_maneuver(34);
break;
case 4:
set_maneuver(7);
break;
case 5:
set_maneuver(32);
break;
default:
set_maneuver(29);
}
}
else if (Alt > 150.0F) {
switch (World.Rnd().nextInt(0, 4)) {
case 0:
set_maneuver(29);
break;
case 1:
set_maneuver(32);
break;
case 2:
set_maneuver(32);
break;
default:
set_maneuver(29);
}
}
else
set_maneuver(29);
}
else {
switch (World.Rnd().nextInt(0, 5)) {
case 0:
set_maneuver(34);
break;
case 1:
set_maneuver(19);
break;
case 2:
set_maneuver(33);
break;
case 3:
set_maneuver(34);
12 марта 2010 в 18:00
break;
default:
set_maneuver(19);
}
}
}
else if (OnMe.x > 0.9) {
switch (World.Rnd().nextInt(0, 3)) {
case 0:
set_maneuver(3);
break;
case 1:
set_maneuver(34);
break;
default:
set_maneuver(67);
}
}
else
set_maneuver(67);
}
else if ((double) dE > -400.0) {
if (VDanger.x > 0.8)
set_maneuver(27);
else if (diffVLength < 50.0 && OnMe.x > 0.8) {
if ((double) dist < 200.0) {
if ((double) Alt > 500.0) {
switch (World.Rnd().nextInt(0, 7)) {
case 0:
set_maneuver(34);
break;
case 1:
set_maneuver(34);
break;
case 2:
set_maneuver(19);
break;
case 3:
set_maneuver(31);
break;
case 4:
set_maneuver(30);
break;
case 5:
set_maneuver(36);
break;
default:
set_maneuver(29);
}
}
else if (Alt > 150.0F) {
switch (World.Rnd().nextInt(0, 4)) {
case 0:
set_maneuver(28);
break;
case 1:
set_maneuver(34);
break;
case 2:
set_maneuver(32);
break;
default:
set_maneuver(34);
}
}
else
set_maneuver(29);
}
else {
switch (World.Rnd().nextInt(0, 5)) {
case 0:
set_maneuver(32);
break;
case 1:
set_maneuver(34);
break;
case 2:
set_maneuver(32);
break;
case 3:
set_maneuver(36);
break;
default:
set_maneuver(40);
}
}
}
9 марта 2010 в 1:01
Пусть тему меняет Java & JavaScript – не одно и тоже