ArrayList<Obstacle> obstacles = new ArrayList<Obstacle>(); float obstacle_speed = 3; float obstacle_gap = 100; float obstacle_min_height = 50; float obstacle_max_height = 300; float obstacle_min_width = 20; float obstacle_max_width = 50; class Obstacle { float x, y, width, height, speed; Obstacle(float x_, float y_, float w_, float h_, float s_) { x = x_; y = y_; width = w_; height = h_; speed = s_; } void update() { x -= speed; } void draw() { noStroke(); fill(293,224,225); rect(x, y, width, height); } } void setup() { size(1000, 500); colorMode(HSB); rectMode(CORNER); generateObstacle(); } void draw() { background(114,65,73); for (Obstacle o : obstacles) { o.update(); o.draw(); } if (obstacles.size() > 0 && obstacles.get(0).x + obstacles.get(0).width < 0) { obstacles.remove(0); } if (obstacles.size() == 0 || obstacles.get(obstacles.size()-1).x + obstacles.get(obstacles.size()-1).width < width - obstacle_gap) { generateObstacle(); } } void generateObstacle() { float obstacle_height = random(obstacle_min_height, obstacle_max_height); float obstacle_width = random(obstacle_min_width, obstacle_max_width); float obstacle_y = random(0, height - obstacle_height); float obstacle_x = width; obstacles.add(new Obstacle(obstacle_x, obstacle_y, obstacle_width, obstacle_height, obstacle_speed)); }
时间: 2024-01-13 22:03:40 浏览: 162
Java ArrayList教程
这段代码看起来没有明显的问题,但如果你需要修改,可以根据你的需求进行以下修改:
1. 修改障碍物的颜色:在 Obstacle 类的 draw() 方法中修改 fill() 函数的参数即可,例如 fill(255, 0, 0) 表示红色。
2. 修改障碍物的移动速度:修改 obstacle_speed 变量即可,例如将其设置为 5 表示速度更快。
3. 修改障碍物的间距:修改 obstacle_gap 变量即可,例如将其设置为 200 表示间距更大。
4. 修改障碍物的最小高度和宽度:修改 obstacle_min_height 和 obstacle_min_width 变量即可,例如将其设置为 100 和 30 表示最小高度为 100,最小宽度为 30。
5. 修改障碍物的最大高度和宽度:修改 obstacle_max_height 和 obstacle_max_width 变量即可,例如将其设置为 400 和 80 表示最大高度为 400,最大宽度为 80。
注意:修改变量之后,需要重新运行程序才能看到效果。
阅读全文