小游戏大全
一个基于Maven的Java项目。搜罗各类小游戏项目,供各位同学练手,夯实Java开发技能。
游戏清单
- 猜数字(GUI版)
- 新猜数字(GUI版)
- 2048
- FlappyBird
- 五子棋
- 小飞机大作战
- 扫雷
- 拼图
- 连连看
- 华容道
- 石头迷阵
- 贪吃蛇
- 原了个原
- 中国象棋
- 超级玛丽
- 打砖块
- 冒险射击
- 打字练习
- 数独
- 潜艇大战
- 思聪吃面包
项目依赖
- jdk >= 1.8
- dom4j-1.6.1
项目结构
- images: 游戏图片资源。若一个游戏有多个图片资源,则全部放到已该游戏名命名的文件夹中。
- src/main/java: 游戏源码,一个游戏一个包,通用代码在Common包中,应用入口类为 GameRoom.java 。
- src/test/java: 单元测试源码,一个游戏一个包。
- GameRoom.xml: 游戏信息配置,主要配置游戏的
- 编号(id)
- 名字(name)
- 作者(author)
- 版本(version)
- 图标(logo)
- 包名(package)
- 简介(description)
- 发布日期(releaseDate)
- 入口类(enranceClass)
- pom.xml: Maven项目依赖配置信息文件
- README.md: 项目简介文件
- .gitlab-ci.yml: GitLab平台持续集成配置文件
- .gitignore: Git项目忽略文件清单
准备环境
- 安装IDEA,如已安装可忽略此步
- 打开IDEA,进入项目列表页面,在此页面可以创建和打开项目
- 选择 Get from VCS
- 在项目平台进入点击左侧菜单的仓库,点击右侧蓝色按钮 克隆
- 复制 使用HTTP克隆 中的链接
- 将上一步的链接粘贴到第3步后出现的界面上的URL后面
- 点击右下角 Clone
- 进入项目后观察右上角是否有提示 Setup JDK,如果有点击并选择你的计算机上安装的Java JDK
- 其次观察是否有提示你当前项目是Maven项目,是否需要下载依赖,如果有点击确定,项目将开始下载依赖的包
- 进入 src/main/java 文件夹,打开 GameRoom.java,在打开的文件中点击鼠标右键,选择 Run
项目已经启动啦!可以试试你想玩儿的小游戏。
集成游戏
流程
如果你想将一个已经存在的Java小游戏集成到此项目,可以参照如下流程。
- 在码云、Github等源码管理平台寻找你想玩儿的游戏源码
- 将项目代码下载到本地,阅读项目结构并理解项目结构
- 在当前项目 src/main/java 文件夹下创建你希望集成进来的游戏文件夹,命名采用英文
- 在当前项目新建一个分支,分支名可以是游戏名称,并切换到该分支
- 根据游戏项目的结构将对应文件复制到上一步创建的文件夹
- 如果游戏有图片资源,请在本项目 images 文件夹下面创建一个文件夹并将你的游戏图片资源复制进去
- 在你的游戏主类文件中导入 Common.Game,并让其中的主类实现该接口,此处可能需要少量修改代码,具体根据你的游戏代码情况
- 检查游戏加载资源的路径是否正确,确保游戏可以正确加载资源
- 确认游戏是否有额外的Java库需要下载,如果有,请在 pom.xml 文件中根据其格式完成相应模块的配置
- 在 GameRoom.xml 文件中对你的游戏进行配置,配置信息注意事项请查看下文中的 合并(PR)审核点
- 运行游戏,尝试你的游戏是否能够正常玩儿起来,如果有问题,请尝试搜索解决该问题后继续尝试直至游戏可以正常运行和玩儿起来
- 完善README.md中的游戏清单,将你的游戏添加上去,注意序号应该和GameRoom.xml中的保持一致
- 将代码推送(PUSH)到你的远程仓库
- 从你的远程仓库向本项目发起合并请求(PR),请求注意事项请查看下文中的 合并(PR)审核点
合并(PR)审核点
当你在本地完成游戏集成后想将游戏合并到本项目中时,需要提交PR到本项目的develop分支,此时管理员会审核你的代码,审核点如下。
- 游戏的包名、各种类名、变量名应采用英文以及驼峰命名法,否则不予合并
- 合并请求(PR)标题应能体现合并内容
- 合并请求(PR)简介内容应该简要介绍合并内容具体完成了什么
- 合并请求(PR)应该尽量给出截图体现证明合并内容的有效与正确性
- 合并请求(PR)内容不应该含有已经存在的没有问题的代码或者资源
- 合并请求(PR)中的GameRoom.xml配置文件中的游戏配置项应该按照id顺序排列
- 合并请求(PR)中的GameRoom.xml配置文件中的游戏配置项信息应该正确
- 已经存在的游戏不予合并
游戏开发或完善
如果你想集成的游戏没有现成的开源项目,或者你觉得当前项目中的游戏有问题需要解决,亦或者你想给项目当前的游戏增加关卡或者功能,你需要按照如下推荐流程操作:
- 在项目议题中描述详细准确描述你的想法和设计,等待管理员回复(可以主动联络,加快回复进度),议题要求如下文
- 获得管理员的支持回复后,可以着手准备你需要的游戏资源,如:图片、Logo、音频等
- Fork项目,创建一个自己的远程仓库
- Clone项目到本地并搭建好开发环境,确保本项目能正常启动
- 新建一个分支,分支名称为英文,且最好能体现你要做的事情,切换到该分支
- 在 src/main/java 文件夹下创建你的游戏文件夹并开始写代码和测试你的游戏代码,或者打开对应游戏代码进行修改完善
- 新游戏开发完后按照集成游戏的流程进行集成
- 完善已有游戏的直接推送(PUSH)代码到你的远程仓库后向本项目发起合并请求(PR)
议题(ISSUES)要求
此项目目前只接受沈阳北软信息职业技术学院软件工程课程学生提出的议题。
- 标题:精炼且能准确体现要做的事情
- 内容:
- 按照模板填写年级、专业、学号、姓名
- 详细准确阐明要做的事情的前因后果
- 必要时附上图片进行佐证,如:新游戏的运行效果图,Bug的复现效果图及修复后的效果图,新增功能的运行效果图等