JAVA满天星 要求:画满天的星星漫天星任务分成三步: 第一步:做一个黑天。第二步:画一颗星星.第三步:画300颗星星.
时间: 2024-10-24 08:17:09 浏览: 27
在Java中,"满天星"这个绘画任务可以使用简单的图形库,如JavaFX或Swing来实现。以下是分步骤描述如何完成这个任务:
1. **第一步: 创建黑天背景** - 首先,创建一个新的窗口或画布,设置其背景色为黑色,代表夜空。可以使用`Scene`和`Color`类在JavaFX中创建,或者利用Swing的`JPanel`和`setBackground()`方法。
```java
// JavaFX示例:
import javafx.scene.Scene;
import javafx.scene.paint.Color;
...
private Scene createBlackSky() {
return new Scene(new Canvas(), 800, 600, Color.BLACK);
}
// Swing示例:
import javax.swing.JFrame;
import java.awt.Color;
...
public JFrame createBlackSkyFrame() {
JFrame frame = new JFrame("Night Sky");
frame.setContentPane(new JPanel(Color.BLACK));
return frame;
}
```
2. **第二步: 绘制第一颗星星** - 然后,你可以定义一个星形的绘制函数,可以是一个圆形(代表恒星)或者使用像素点的方式模拟小点。比如,使用JavaFX的话,可以用SVG路径或者Point对象表示位置。
```java
// JavaFX示例 (SVG路径):
public void drawStar(Scene scene) {
starPath.setFill(Color.WHITE); // 设置星星颜色
scene.getChildren().add(starPath);
}
// 或者用像素点 (Swing示例):
public void drawPixelStar(Graphics g) {
int x = ...; // 星星位置x坐标
int y = ...; // 星星位置y坐标
g.setColor(Color.WHITE);
g.fillRect(x, y, 5, 5); // 5x5像素大小的白色星点
}
```
3. **第三步: 画300颗星星** - 重复第二步的绘制过程,循环300次,每次改变星星的位置以达到随机分布的效果。如果你选择像素点方式,可以生成随机位置;如果用SVG路径,可以维护一个列表,每次添加新路径到场景中。
```java
// JavaFX示例:
for (int i = 0; i < 300; i++) {
double randomX = ...; // 随机x坐标
double randomY = ...; // 随机y坐标
drawStar(scene, randomX, randomY);
}
// Swing示例:
for (int i = 0; i < 300; i++) {
int randomX = ...;
int randomY = ...;
drawPixelStar(g, randomX, randomY);
}
```
最后,记得在每个例子中显示窗口或画面以便用户可以看到结果。
阅读全文