JAVA实现直升机小游戏
时间: 2024-06-08 22:09:03 浏览: 14
以下是一个简单的JAVA直升机小游戏的实现示例:
```java
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
public class HelicopterGame extends JFrame implements ActionListener, KeyListener {
private Timer timer;
private int x = 50;
private int y = 300;
private int dy = 0;
private int score = 0;
private int highScore = 0;
private boolean gameOver = false;
private boolean upPressed = false;
public HelicopterGame() {
super("Helicopter Game");
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
timer = new Timer(10, this);
timer.start();
addKeyListener(this);
setFocusable(true);
setFocusTraversalKeysEnabled(false);
}
public void actionPerformed(ActionEvent e) {
if (!gameOver) {
dy += 1;
y += dy;
if (upPressed) {
dy = -10;
}
if (y > 450) {
gameOver = true;
}
score++;
if (score > highScore) {
highScore = score;
}
}
repaint();
}
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_UP) {
upPressed = true;
}
}
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_UP) {
upPressed = false;
}
}
public void keyTyped(KeyEvent e) {}
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(Color.BLUE);
g2d.fill(new Ellipse2D.Double(x, y, 30, 15));
g2d.setColor(Color.BLACK);
g2d.drawString("Score: " + score, 10, 20);
g2d.drawString("High Score: " + highScore, 10, 35);
if (gameOver) {
g2d.drawString("Game Over", 200, 250);
}
}
public static void main(String[] args) {
HelicopterGame game = new HelicopterGame();
game.setVisible(true);
}
}
```
这个游戏中,玩家需要控制一架直升机飞行,避免撞到屏幕底部或障碍物。按下上箭头键可以使直升机上升,松开上箭头键则会下降。游戏会记录玩家的得分,并且在游戏结束时显示最高得分和“游戏结束”字样。
注意,这只是一个简单的示例,游戏的实现方式可以根据需求进行更改和扩展。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)