singlepost

АИ на яве << На главную или назад  

Кто может помочь мнеулучшить аина ява скриптах?

9 ответов в теме “АИ на яве”

  1. 9
    Титаник Титаник ответил:

    /* 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);
    }
    }

    тут можно что нибуть изменить или добавить чтобы они лучше прекрывали?

  2. 8
    Титаник Титаник ответил:

    case 9:
    set_maneuver(67);
    break;
    таких ситуаций я могу хоть 1000 вписать толкаособого не вижу.
    это простосам маневр.

  3. 7
    Константин Конашенков ответил:

    Может я скажу бред, но в Java, switch считается плохим тоном if …else используют и код по объему будет меньше

  4. 6
    Титаник Титаник ответил:

    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;

  5. 5
    Титаник Титаник ответил:

    Вот оборона аи аса стандартная.

  6. 4
    Титаник Титаник ответил:

    private static Vector3d VDanger = new Vector3d();
    private static Vector3d OnMe = new Vector3d();
    private static Vector3d diffV = new Vector3d();

  7. 3
    Титаник Титаник ответил:

    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);

  8. 2
    Титаник Титаник ответил:

    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. 1
    Константин Конашенков ответил:

    Пусть тему меняет Java & JavaScript – не одно и тоже

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.