用java写个游戏
时间: 2023-07-01 14:23:37 浏览: 109
一个简单的java游戏.zip
好的,我可以为您提供一个简单的示例游戏。这个游戏的目标是让用户通过按空格键来控制一个方块跳过一系列障碍物,直到到达终点。以下是游戏的基本代码:
```java
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;
public class JumpGame extends JPanel implements ActionListener, KeyListener {
private static final long serialVersionUID = 1L;
private int x, y, velX, velY;
private int obstacleX, obstacleY, obstacleVelX;
private boolean gameOver;
public JumpGame() {
x = 50;
y = 300;
velX = 0;
velY = 0;
obstacleX = 700;
obstacleY = 300;
obstacleVelX = -5;
gameOver = false;
Timer timer = new Timer(10, this);
timer.start();
addKeyListener(this);
setFocusable(true);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (!gameOver) {
g.setColor(Color.BLACK);
g.fillRect(x, y, 50, 50);
g.setColor(Color.RED);
g.fillRect(obstacleX, obstacleY, 50, 50);
} else {
g.setColor(Color.BLACK);
g.drawString("Game Over!", 350, 300);
}
}
public void actionPerformed(ActionEvent e) {
if (!gameOver) {
x += velX;
y += velY;
obstacleX += obstacleVelX;
if (obstacleX < -50) {
obstacleX = 700;
}
if (x > obstacleX - 50 && x < obstacleX + 50 && y > obstacleY - 50 && y < obstacleY + 50) {
gameOver = true;
}
}
repaint();
}
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_SPACE) {
if (y == 300) {
velY = -10;
}
}
}
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_SPACE) {
velY = 10;
}
}
public void keyTyped(KeyEvent e) {}
public static void main(String[] args) {
JFrame frame = new JFrame("Jump Game");
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
JumpGame game = new JumpGame();
frame.add(game);
frame.setVisible(true);
}
}
```
在这个游戏中,我们使用了Java Swing库来创建窗口和绘制图形。我们创建了一个面板,并实现了ActionListener和KeyListener接口,以处理计时器和用户按键事件。在paintComponent方法中,我们绘制了一个方块和一个障碍物,并在游戏结束时显示“Game Over!”消息。在actionPerformed方法中,我们更新方块和障碍物的位置,并检查它们是否相交,如果相交则游戏结束。在keyPressed和keyReleased方法中,我们处理用户按空格键的事件,让方块跳起来并掉落。
这只是一个简单的示例游戏,您可以根据自己的兴趣和需求添加更多的功能和交互性。
阅读全文