Java实现桌球小游戏设计,其中桌球呈水平三角形的代码实现
时间: 2024-02-18 15:04:49 浏览: 123
以下是一个简单的Java实现桌球小游戏设计的例子,其中桌球呈水平三角形:
```java
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class TriangleTable extends JPanel {
private final int TABLE_WIDTH = 500;
private final int TABLE_HEIGHT = 400;
private final int BALL_SIZE = 20;
private int ballX = 0;
private int ballY = 0;
private int ballSpeedX = 1;
private int ballSpeedY = 1;
public void moveBall() {
if (ballX + ballSpeedX < 0 || ballX + ballSpeedX > TABLE_WIDTH - BALL_SIZE) {
ballSpeedX = -ballSpeedX;
}
if (ballY + ballSpeedY < 0 || ballY + ballSpeedY > TABLE_HEIGHT - BALL_SIZE) {
ballSpeedY = -ballSpeedY;
}
ballX += ballSpeedX;
ballY += ballSpeedY;
}
public void paint(Graphics g) {
g.setColor(Color.GREEN);
g.fillRect(0, 0, TABLE_WIDTH, TABLE_HEIGHT);
g.setColor(Color.YELLOW);
g.fillOval(ballX, ballY, BALL_SIZE, BALL_SIZE);
g.setColor(Color.BLACK);
g.drawLine(0, TABLE_HEIGHT, TABLE_WIDTH / 2, 0);
g.drawLine(TABLE_WIDTH / 2, 0, TABLE_WIDTH, TABLE_HEIGHT);
g.drawLine(TABLE_WIDTH, TABLE_HEIGHT, 0, TABLE_HEIGHT);
}
public static void main(String[] args) throws InterruptedException {
JFrame frame = new JFrame("Triangle Table");
TriangleTable table = new TriangleTable();
frame.add(table);
frame.setSize(table.TABLE_WIDTH, table.TABLE_HEIGHT);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
while (true) {
table.moveBall();
table.repaint();
Thread.sleep(10);
}
}
}
```
在这个例子中,我们首先定义了桌球台的宽度和高度,以及球的大小。然后我们定义了球的位置和速度。在 `moveBall` 方法中,我们检查球是否碰到了边界,如果碰到了就改变球的速度方向。最后我们根据球的速度移动球的位置。在 `paint` 方法中,我们绘制了桌球台的三角形和球。在 `main` 方法中,我们创建了一个 JFrame 和一个 TriangleTable,将 TriangleTable 添加到 JFrame 中,并且设置 JFrame 的大小和可见性。然后我们进入一个循环,在循环中不断移动球的位置和重绘 TriangleTable。通过这个例子,我们可以了解到如何在 Java 中实现一个简单的桌球小游戏,并且将桌球呈水平三角形的形状展示出来。
阅读全文