好的,所以我最近让我的程序达到了最重要的程度,但我似乎无法弄清楚如何让我的bug对象移动 .

我有一个名为AWorld的类,它在网格中随机放置的位置填充了类方法Randfood(0到9之间的内部)的实例 . 它也是我的类ABug的传递和实例,作为根据用户输入放入夹点的属性 . 我的问题是我希望让它朝向食物对象(我的0-9之间的整数)和它旁边的它们的能量水平相应地增加 . 它只需要在距离它一定距离内的物体上移动 . 即任何方向的3个空格,否则只是随机移动 . 我的问题是我似乎无法弄清楚如何使用我当前的代码设置 .

世界级:

package finalversion2;

import java.util.Arrays;
import java.util.Random;

public class AWorld {

    int x[] = new int[10], y[] = new int[10];
    int row = 25;
    int column = 25;
    char[][] map;

    public static int RandFood(int min, int max) {
        Random rand = new Random(); // Initializes the random function. 

        int RandNum = rand.nextInt((max - min) + 1) + min; //generates a random number within the max and min ranges 
        return RandNum; //returns the random number 
    }


    //Constructor
    //Sets up map array for the AWorld object
    //uses a bug that is passed to it
    public AWorld(ABug bug) {

        ABug bug1 = bug;

        map = new char[row][column];



        for (int i = 0; i < row; i++) {

            for (int x1 = 0; x1 < column; x1++) {

                map[i][x1] = ' ';

            }

        }

        for (int i = 0; i < column; i++) {
            Random rand = new Random();
            int x = rand.nextInt(row);
            int y = rand.nextInt(column);
            map[x][y] = (char) RandFood(48, 57);
            map[bug1.getHPossistion()][bug1.getVPossistion()] = bug1.getSymbol(); // gets the bugs x and y possistion in the array (user defined) and puts it into the symbol variable 
        }



    }


    public void PrintWorld() {
        for (int i = 0; i < row; i++) //these next two for loops print the array to the screen 
        {
            System.out.print("|");
            for (int x1 = 0; x1 < column; x1++) {
                System.out.print(map[i][x1]);
            }
            System.out.println("|");
        }

    }
}

ABug:

    package finalversion2;

public class ABug 

{


    public static void main(){

    }

        private String species = new String(); //instance variables (defines data of object)
        private String name = new String();
        private String description = new String();
        private char symbol;
        private int hPossistion, vPossistion, energy, iD;

        public ABug(){

        }

        public ABug (String s, String n, String d, int h, int v, int e, int i){
            this.species = s;
            this.name = n;
            this.description = d;
            this.symbol = s.charAt(0);
            this.hPossistion = h;
            this.vPossistion = v;
            this.energy = e;
            this.iD = i;
        }




        //setters
        public void setSpecies(String s){
            this.species = s;
        }

        public void setName(String n){
            this.name = n;
        }

        public void setSymbol(char symbol){
            this.symbol = symbol;
        }

        public void setHPossistion(int x){
            this.hPossistion = x;
        }

        public void setVPossistion(int y){
            this.vPossistion = y;
        }

        public void setEnergy(int energy){
            this.energy = energy;
        }

        public void setID(int i){
            this.iD = i;
        }

        public void setDescription(String d){
            this.description = d;
        }

        //getters
        public String getSpecies(){
            return this.species;
        }

        public String getName(){
            return this.name;
        }

        public char getSymbol(){
            return this.symbol;
        }

        public int getHPossistion(){
            return this.hPossistion;
        }

        public int getVPossistion(){
            return this.vPossistion;
        }

        public int  getEnergy(){
            return this.energy;
        }

        public int getID(){
            return this.iD;
        }

        public String getDescription(){
            return this.description;
        }

        public String toString(){
            String BugData;
            BugData = name + " " + symbol + "\n" + species + "\n" + description;
            return BugData;
        }

}

enum Direction: 

    package finalversion2;


public enum Direction {
    NORTH,  EAST,   SOUTH,  WEST;
}

现在我猜我需要重新绘制我的 Map ,每次我希望它使用基于布尔响应的枚举移动,即调用printworld方法但随机移动bug . 但是不会重印我的随机整数?

请帮忙 . 我是非常新的java .

提前干杯 .