Движение NPC в массиве - PullRequest
       5

Движение NPC в массиве

0 голосов
/ 01 декабря 2011

Я играю в массив, ниже мой класс Board, который рисует массив и порождает 5 охотников в 11,11, мой метод 'route1' должен быть таким, чтобы перемещать охотников всякий раз, когда игрок двигается, однако мойКак мне это исправить? hunter.x и hunter.y остаются на 11 после каждой перерисовки?

  public class Board { 

    public String emptyfield = "-";
    public  String [][]a2 = new String[12][12];
 public Hunter hunters[] = new Hunter[5];

public void paint(){

    int numHunters =5 ;
    for (int i =0; i < numHunters; i ++){
        hunters[i] = new Hunter(11,11,"H");
    }
Player player = new Player();
        for (int r = 0 ; r < a2.length; r++){
            for (int c= 0; c <a2[r].length; c++){
                a2 [r][c] = emptyfield;
                a2[Player.x][Player.y] = Player.name;
                for (int i = 0; i < numHunters; i++){
                     Hunter h = hunters[i];
                     a2[h.x][h.y]=h.name;

                }
                System.out.print(" "+a2[r][c]);
            }
            System.out.println("");
        }
        System.out.println("     Strength:  "+Player.hp);System.out.println("      Score  "+Player.score);

    }

public void route1(){
    Board board = new Board();
    Hunter Hunter = new Hunter(11,11,"H");
    Scanner in = new Scanner(System.in);
    Random number = new Random(2);
    int random = number.nextInt(2);
     if(random ==1)
        Hunter.x = Hunter.x -1;
    else
       Hunter.y = Hunter.y -1;
    }

1 Ответ

0 голосов
/ 04 февраля 2012

Если я правильно прочитал, вы воссоздаете всех своих охотников в позиции 11,11 каждый раз, когда вызываете краску.

public void paint(){

    int numHunters =5 ;
    for (int i =0; i < numHunters; i ++)
    {
        hunters[i] = new Hunter(11,11,"H");
    }

Этот код заменяет ваш массив охотников каждый раз, когда вызывается paint, и стирает все изменения, внесенные в код позже. Вам нужно переместиться (новый Охотник (11,11, «Н») куда-то, что называется только один раз.

...