zoukankan      html  css  js  c++  java
  • JAVA课程设计——贪吃蛇小游戏

    1.团队介绍

    团队成员介绍

    刘聚文(组长)

     负责工作:负责实现排行榜,游戏中食物道具的实现以及整个项目的推进,以及博客园的编写。
    

    吴彬凯

     负责工作:负责GUI界面的编写,界面美化,游戏运行框架以及障碍物的设置。      
    

    2.前期调查

    参考别人的贪吃蛇考察基本元素,整个游戏最主要是地图以及蛇,食物,可组成最基本功能,在此基础上添加别的功能。

    3.主要功能流程图

    4.面向对象类图

    此处GUI类图省略

    5.项目运行截图

    • 注册

    • 菜单

    • 排行榜

    • 游戏界面

    5.项目关键代码

    • 排行榜的获取
      将文件中的数据读取出来封装成User类,User类实现comparable接口,直接使用sort方法对成绩进行排序,在使用getRank方法返回排行榜
    • 食物产生的位置
      随机生成一个坐标,判断是否与蛇的坐标重合或者与障碍物位置重合,此处贴图高级难度判断代码。

    • 吃到食物的判断
      通过比较蛇头坐标与食物坐标相距是否小于10(格子大小60*60)来判断是否吃到食物,,若吃到,重新画蛇身并产生新食物。

    6.项目代码扫描及更正

    • 在类前添加author说明类的作者,一开始没有添加。然后这里其实还可以写类的功能等等以标注。只要在类前用/** 然后回车,编辑author就可以了

    • 驼峰命名法,一开始习惯性的用了JLabel等,然后扫描的时候改成了jLabel等变量名

    • 沿袭了以前c语言的习惯,习惯在行尾添加两个/注释代码,通过扫描得知不能在行尾注释代码,需要放到其他行注释

    • 不过也有一些不太懂的地方,不知道应该如何改,如这个过时的类和方法,因为接近答疑了,所以没有来得及改正。还有方法不超过80行,也没来得及去把它简化。

    • 还有就是魔法值, 如果直接写j=j+2的话他会说不允许出现魔法值,然后我就把2赋给s,然后j=j+s,感觉这个警告有点不适应,因为以前这样写都是直接出现数字,而不是弄一个变量

    • 覆写方法要用@Override注解

    • 不符合lowerCamelCase命名,一开始是直接就想到了Music这个命名感觉比较形象
      但是好像都得用两个单词合起来的命名方法

    • 有时候注释需要javadoc的格式注释 用/** +内容+*/

    7.项目总结

     本次项目最大的感想就是更深层次的理解了面向对象,由于借鉴别人代码,基本框架写的不是很好,功能方面基本达到预期效果,不足之处在于UI太丑,使用文件没用到数据库,没有使用到gitee,,但了解到是一个强大的协同的合作项目工具,地图设置太大很不合理,以及界面之间的交互不太合理,有待改进。
  • 相关阅读:
    利用matlab给图像加高斯噪声
    频谱分析代码片段2
    相关性分析代码片段2
    相关性分析代码片段
    频谱分析代码片段
    大脑提取每一个体素26领域的matlab代码
    当前所看论文记录
    论文阅读笔记
    余弦距离、欧氏距离和杰卡德相似性度量的对比分析 by ChaoSimple
    Container With Most Water
  • 原文地址:https://www.cnblogs.com/ljw999/p/12173313.html
Copyright © 2011-2022 走看看