Я пытаюсь создать случайный объект, используя массивы и класс со случайными местоположениями? - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь создать игру, используя классы, в которых объекты перемещаются в случайные места и используют массивы, чтобы сложить в случайном количестве. Может ли кто-нибудь помочь мне лучше написать код, поскольку он не работает? Кстати, я использую программное обеспечение " Обработка ".

Мой код

Мой класс

*final color ALIEN_COLOR = color(30, 100, 0);
 PImage background;
 int x=0; //global variable background location
 Superhero hero1;
 Alien [] invader1 = new Alien[8];
 void setup(){

   size(800,400);
   background = loadImage("spaceB.jpg");
   background.resize(width,height);

   hero1 = new Superhero(10, height/2); 

   for(int i = 0; i < invader1.length; i++){
     invader1[i] = new Alien();
     invader1 = new Alien(width,300);
  }

  } // setup ends
   void draw ()
 {
   drawBackground();
   hero1.render();
   invader1.render();

   if(invader1.move() == false){
   invader1 =  new Alien(width, 500);
  }

  } // draw ends*

и объект как:

  ***class Alien{
     int x;
     int y;

   Alien(int x, int y){
    this.x = x;
    this.y = y;
   }

  void render(){
    fill(ALIEN_COLOR);
    rect(x, y, 50, 50);
   }

  boolean move(){
    x = x - 1;
    return (x >= 0);
  } 
 }*** 

Полученные сообщения об ошибках:

  • конструктор Alien () не существует.
  • несоответствие, Защитники. Чужой не соответствует Защитникам. Чужой []

1 Ответ

1 голос
/ 11 марта 2020

Вы звоните invader1[i] = new Alien();, но у вас нет конструктора без аргументов в классе Alien. Чтобы избавиться от проблемы, объявите конструктор без аргументов в классе Alien следующим образом:

Alien() {
    // Put here some initialization code if needed else leave it as it is
}
...