基于 Java Swing 实现的经典贪吃蛇游戏,完整的游戏循环、碰撞检测和分数系统。
| 模块 | 说明 |
|---|---|
| 游戏面板 | 继承 JPanel,重写 paintComponent() 绘制网格和蛇身 |
| 游戏循环 | javax.swing.Timer 驱动,每帧更新蛇的位置和状态 |
| 输入处理 | KeyListener 监听方向键,防反向移动逻辑 |
| 食物生成 | Random 随机坐标,确保不生成在蛇身上 |
| 碰撞检测 | 判断蛇头坐标与边界、身体坐标的重叠 |
整体采用 MVC 模式组织:Model(蛇的数据结构、食物坐标、游戏状态)→ View(Swing 绘制)→ Controller(键盘输入 + Timer 定时器)。蛇的身体用 LinkedList 存储坐标点,每次移动时头部新增节点、尾部删除节点,吃到食物时跳过尾部删除。