Я начал брать классы Java, поэтому я довольно новичок, и у меня есть задача с «Bouncing balls». Я должен сделать так, чтобы пользователь мог ввести количество шаров, которые он/она хочет увидеть на экране. Я пробовал делать петли, но я абсолютно уверен, что сделал что-то не так, потому что я вижу один мяч. Может ли кто-нибудь дать мне несколько указателей/подсказок/или указать проблему? Спасибо :)Как добавить в программу дополнительные объекты?
Программа:
public class BouncingBall {
public static void main(String[] args) {
int N = StdIn.readInt();
for(int i=0;i<N;i++){
// set the scale of the coordinate system
StdDraw.setXscale(-1.0, 1.0);
StdDraw.setYscale(-1.0, 1.0);
// initial values
double rx = Math.random();
double ry = Math.random(); // position
double vx = 0.015, vy = 0.023; // velocity
double radius = 0.05; // radius
// main animation loop
while (true) {
// bounce off wall according to law of elastic collision
// for (int i = 0; i < N; i++) {
if (Math.abs(rx + vx) > 1.0 - radius) vx = -vx;
if (Math.abs(ry + vy) > 1.0 - radius) vy = -vy;
// update position
// for (int i = 0; i < N; i++) {
rx = rx + vx;
ry = ry + vy;
// clear the background
StdDraw.clear(StdDraw.GRAY);
// draw ball on the screen
// for (int i = 0; i < N; i++) {
StdDraw.setPenColor(StdDraw.BLACK);
StdDraw.filledCircle(rx, ry, radius);
// display and pause for 20 ms
// for (int i = 0; i < N; i++) {
StdDraw.show(20);
}
}
}
}
Ну, я думал, что повторяющаяся программа приведет к появлению большего количества шаров ... –
К сожалению, это не так. Подумайте об этом, если вы хотите играть в футбол с двумя мячами, вы бросаете еще один мяч в игру, вместо того чтобы играть в две 90-минутные игры за другой. – dxdy
Можно ли использовать только для? Или мне нужно другое заявление? Я попытался передвигаться и посмотреть, что он делает в другой ситуации, но я не достиг большего, чем замедление мяча :( –