贪吃蛇 Java 代码:创建经典游戏274


贪吃蛇是一款经典街机游戏,它风靡于 80 年代和 90 年代。如今,它仍然是一款备受喜爱的游戏,它已被移植到各种平台,包括 Java。在本文中,我们将指导您完成创建贪吃蛇 Java 代码的详细步骤,让您可以在自己的计算机上享受这款经典游戏。

创建 Java 项目

首先,我们需要创建一个新的 Java 项目。在您的 IDE 中(例如 IntelliJ IDEA 或 Eclipse),创建一个新的 Java 项目并将其命名为“贪吃蛇”。

创建游戏框架

接下来,我们需要创建游戏框架。这将包括游戏窗口、蛇和食物。在“src”文件夹内创建一个新的 Java 类并将其命名为“Game”。
public class Game {
// 游戏窗口尺寸
private static final int WIDTH = 640;
private static final int HEIGHT = 480;
// 蛇和食物
private Snake snake;
private Food food;
// 游戏状态
private boolean running;
// 初始化游戏
public Game() {
// 创建游戏窗口
JFrame frame = new JFrame("贪吃蛇");
(WIDTH, HEIGHT);
(JFrame.EXIT_ON_CLOSE);
// 创建画布
Canvas canvas = new Canvas();
(WIDTH, HEIGHT);
(canvas);
// 初始化蛇和食物
snake = new Snake();
food = new Food();
// 设置游戏状态为运行
running = true;
// 添加键盘监听器
(new KeyListener() {
@Override
public void keyPressed(KeyEvent e) {
// 处理玩家输入
switch (()) {
case KeyEvent.VK_UP:
();
break;
case KeyEvent.VK_DOWN:
();
break;
case KeyEvent.VK_LEFT:
();
break;
case KeyEvent.VK_RIGHT:
();
break;
}
}
// 未实现的方法
@Override
public void keyReleased(KeyEvent e) {}
@Override
public void keyTyped(KeyEvent e) {}
});
// 添加游戏循环
new Timer(100, e -> {
// 更新游戏状态
update();
// 渲染游戏
render(());
}).start();
// 显示游戏窗口
(true);
}
// 更新游戏状态
private void update() {
// 移动蛇
();
// 检查蛇是否吃到食物
if (().equals(())) {
// 吃到食物,增加蛇身长度
();
// 重新生成食物
food = new Food();
}
// 检查蛇是否撞到自己或墙壁
if (()) {
// 游戏结束
running = false;
}
}
// 渲染游戏
private void render(Graphics g) {
// 清除屏幕
();
(0, 0, WIDTH, HEIGHT);
// 渲染蛇
();
for (SnakeSegment segment : ()) {
((), (), , );
}
// 渲染食物
();
(().getX(), ().getY(), , );
}
// 主方法
public static void main(String[] args) {
new Game();
}
}

创建蛇

现在,我们需要创建蛇类。蛇由蛇身段组成,每个段都是一个矩形。在“src”文件夹中创建一个新的 Java 类并将其命名为“Snake”。
public class Snake {
// 蛇身段尺寸
private static final int WIDTH = 10;
private static final int HEIGHT = 10;
// 蛇身段列表
private List segments;
// 蛇头位置
private Point head;
// 蛇的方向
private Direction direction;
// 初始化蛇
public Snake() {
segments = new ArrayList();
head = new Point(WIDTH * 5, HEIGHT * 5);
direction = ;
// 创建蛇身段
for (int i = 0; i < 3; i++) {
(new SnakeSegment(head.x - (i * WIDTH), head.y));
}
}
// 获取蛇身段列表
public List getSegments() {
return segments;
}
// 获取蛇头位置
public Point getHead() {
return head;
}
// 设置蛇的方向
public void setDirection(Direction direction) {
= direction;
}
// 移动蛇
public void move() {
// 移动蛇头
switch (direction) {
case UP:
head.y -= HEIGHT;
break;
case DOWN:
head.y += HEIGHT;
break;
case LEFT:
head.x -= WIDTH;
break;
case RIGHT:
head.x += WIDTH;
break;
}
// 移动蛇身段
for (int i = () - 1; i > 0; i--) {
(i).setPosition((i - 1).getPosition());
}
// 设置蛇头位置为蛇身段的第一个位置
(0).setPosition(head);
}
// 检查蛇是否撞到自己或墙壁
public boolean isCollided() {
// 检查蛇是否撞到自己
for (int i = 1; i < (); i++) {
if (((i).getPosition())) {
return true;
}
}
// 检查蛇是否撞到墙壁
if (head.x < 0 || head.x >= WIDTH || head.y < 0 || head.y >= HEIGHT) {
return true;
}
return false;
}
// 增加蛇身长度
public void grow() {
SnakeSegment newSegment = new SnakeSegment((() - 1).getPosition().x,
(() - 1).getPosition().y);
(newSegment);
}
// 枚举蛇的方向
public enum Direction {
UP,
DOWN,
LEFT,
RIGHT
}
}

创建食物

接下来,我们需要创建食物类。食物只是一个简单的矩形。在“src”文件夹中创建一个新的 Java 类并将其命名为“Food”。
public class Food {
// 食物尺寸
private static final int WIDTH = 10;
private static final int HEIGHT = 10;
// 食物位置
private Point position;
// 初始化食物
public Food() {
Random random = new Random();
// 随机生成食物位置
position = new Point((WIDTH) * WIDTH, (HEIGHT) * HEIGHT);
}
// 获取食物位置
public Point getPosition() {
return position;
}
}

运行游戏

现在我们已经创建了游戏框架、蛇和食物,我们可以运行游戏了。在 IDE 中,右键单击“Game”类并选择“运行”。游戏窗口将出现,您就可以开始玩贪吃蛇了。

恭喜!您已经创建了一个贪吃蛇 Java 代码。按照本教程中的步骤,您将能够创建一个自己版本的游戏并与朋友或家人一起享受它。如果您有任何问题,请随时在评论区提出。

2024-10-21


上一篇:Java 字符串包含判断

下一篇:Java 数组轻松转化为 List