# Greedy Snake Game Based on Java Swing **Repository Path**: haze347/greedy-snake-game-based-on-java-swing ## Basic Information - **Project Name**: Greedy Snake Game Based on Java Swing - **Description**: 基于 java Swing 的贪吃蛇游戏 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: https://www.wolai.com/dZzGsNHEHtUJmAiPVs5BYD - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-08-05 - **Last Updated**: 2023-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于Java Swing的贪吃蛇游戏 博客地址:[https://www.wolai.com/dZzGsNHEHtUJmAiPVs5BYD](https://www.wolai.com/dZzGsNHEHtUJmAiPVs5BYD) # Greedy Snake Game Based on Java Swing ## 目录 - [介绍](#介绍) - [软件架构](#软件架构) - [关键类图](#关键类图) - [安装教程](#安装教程) - [使用说明](#使用说明) - [参与贡献](#参与贡献) - [附录](#附录) - [参考资料](#参考资料) # 介绍 ## 开发环境 操作系统:windows10、windows11 环境包:openJDK19 工作平台:idea community ## 前置知识 java程序设计 javaSwing相关: - JFrame嵌套 - box布局,并根据组件大小自动计算窗口大小 - paintComponent重载,Graphics2D绘制多边形、字符串等,Graphics2D旋转变换 - 窗口事件、键盘事件、计时器事件 # 软件架构 软件架构说明: MVC 架构 ## 关键类图 ```mermaid classDiagram class GameWindow { - KeyListener keyListener - WindowListener windowListener - GameMapPanel - GameTitlePanel } class GameModels { + Position food; + LinkedList snake; + int snakeDirection; + int score; } GameWindow ..> GameController GameWindow ..> GameModels GameWindow ..> GameMapPanel GameMapPanel ..> GameModels GameWindow ..> GameTitlePanel GameTitlePanel ..> GameModels GameController ..> GameModels GameController ..> GameOverWindow ``` todo: - GameWindow 的细节 - GameOverWindow的细节 # 安装教程 使用idea打开,编译并运行Main类即可 # 使用说明 1. xxxx 2. xxxx 3. xxxx # 参与贡献 1. Fork 本仓库 2. 新建 Feat\_xxx 分支 3. 提交代码 4. 新建 Pull Request # 附录 ## 参考资料