удалять/добавлять объекты в массив

204
10 апреля 2018, 06:22

Добрый день! У меня нет большого опыта, только учусь, помогите пожалуйста в таким вопросом, необходимо сделать небольшую игру, как по щелчку мыши в случае если один шарик находится внутри другого он исчезал из массива, и когда массив пустой они заново появлялись сверху и начинали падать вниз экрана, для одного шарика работает нормально, но для нескольких не хочет.

import javax.swing.JOptionPane;
Ball ball;
Aim aim;
int livesLost = 0;             
int score = 0;                 
int livesPerGame = 3;
int numberOfGames = 0;      
int numberOfGamesPlayed = 0;
int numOfBalls = 0;
Ball balls[];
void setup()
{
size(400,400);
noCursor();
ball = new Ball(40.0);
aim = new Aim(20.0);
livesPerGame = Integer.parseInt(JOptionPane.showInputDialog("Welcome to the 
hit the ball game\nPlease enter the number of desired lives in each game: 
","2"));
numberOfGames = Integer.parseInt(JOptionPane.showInputDialog("Please enter 
the number of games you would like to play: ","2"));
numOfBalls = Integer.parseInt(JOptionPane.showInputDialog("Please enter the 
maximum number of balls on the screen: ","2"));
balls = new Ball[numOfBalls];
for(int i = balls.length-1; i >=0; i--){
balls[i] = new Ball(ball.getDiameter());
}
}
void draw()
{
background(100);
for (int i=balls.length-1; i >= 0; i--){
balls[i].display();
balls[i].update();
}
if (ball.update() == true){
livesLost++;
println("Lives lost:  "  + livesLost);
}
if (livesLost < livesPerGame) 
{ 
ball.display();       
}
else{
numberOfGamesPlayed++;        
if (numberOfGamesPlayed < numberOfGames){
resetGame();
}
else
tournamentOver();
}     
aim.display();
aim.update();
}
boolean contains(){
float d = dist(aim.getXCoord(), aim.getYCoord(), ball.getXCoord(), 
ball.getYCoord());
if (d <= ball.getDiameter()/2){
return true; } 
else {
return false;
}
}
void mousePressed (){
if ((mousePressed == true) && (contains() == true))
{
ball.strike();
score++; 
println("Score:  "  + score);
}
}
void resetGame()
{
println("Game Over!");
println("Starting a new game");
livesLost = 0;          
score = 0;                 
}
void tournamentOver()
{
println("Game Over!");
println("Tournament Over!");
exit();  
}
Answer 1

Используй ArrayList! Массивы не динамичные и во время работы программы его длину уже менять нельзя.

READ ALSO
Преобразование Xml файла с помощью xslt. Java

Преобразование Xml файла с помощью xslt. Java

Доброго времени суток дамы и господаИмеется xml файл следующего вида :

167
как удалить Connector/NET 6.9.9

как удалить Connector/NET 6.9.9

Привет всем! Вот уже целый день пытаюсь установить MySql community 57

471
как можно получить резултат примера loop

как можно получить резултат примера loop

У меня есть таблица ц таким свойствам

183
Переименование столбцов при LEFT JOIN

Переименование столбцов при LEFT JOIN

Добрый день ! Допустим есть конструкция

217