面对对象综合设计-贪吃蛇个人博客

一.课程设计团队博客链接

1.1系统功能框架图

1.2UML类图

2.个人负责模块或任务说明


黄色部分为我个人负责内容

3.Git提交记录截图:

4.负责模块详细说明

    1. *面向对象设计
    1. *贪吃蛇食物功能
      -难点在记录贪吃蛇与墙壁的位置,确保食物的生成并不会与他们相冲突,此处涉及到与组员代码直接的互相利用,与贪吃蛇是否发生碰撞使游戏结束的代码相配合。
      -优点在多种食物的不同设计与随机类型生成,增加了游戏的趣味性。
      -代码使用了GamePanel类的wall数据与snake数据进行墙壁与贪吃蛇的当前位置的记录,通过foodflag记录食物是否存在,来确保食物被食用时立即有新食物生成,且不会与贪吃蛇与墙壁位置相重叠,且通过对食物颜色foodcolor的随机来进行种类的分别与效果的产生,通过swing编程食用图片对食物进行包装。
      关键代码:



  • 3.未完成的模块
    登录界面的图形制作在转入游戏界面时,游戏界面会出现登录界面一点图形的残留,没找到代码错误的位置。
    贪吃蛇移动某一方向时,不能直接转向与该方向相反的方向,为了防止直接死亡,然而如果速度过快的两次改变贪吃蛇移动方向,可能导致第一次改变方向后贪吃蛇未移动并转向与初始方向相反的方向,导致死亡,该处还未修改完成。

5.课设感想

本次课程设计中,为了实现贪吃蛇的移动学习到了通过timer延迟代码进行时间来完成贪吃蛇以一定速度的移动,也学会了在代码中利用URL和ImageIcon来实现通过图片的替代增加代码的形象感,并学习组员对音频文件的使用,明白了绝对地址在这些引用文件的重要性。本次代码编写中与组员分工写功能时很多数据却又相互联系,彼此之间的沟通使得代码更加的简短,但是在结合的时候彼此功能的混杂使得代码需要很多的注释才能确定作用和真正的使用位置,在之后互相学习的时候各自都对自己的代码添加很多标注。

6.展望

  • 1.在本次设计中我只尝试了图片在java的使用与贪吃蛇一些基本的游戏功能,在面对一些关于随着时间进行程序,或者多线程的使用时都需要靠组员的讲解才能明白,希望之后能自己完成这些内容。
  • 2.本次课设结束后,开始对javaFX的学习,希望能在多个地方使用这项技术,同时希望能用此改进贪吃蛇的代码编写,并修正之前的错误。
posted @ 2021-01-28 23:36  临海文卫  阅读(49)  评论(0编辑  收藏  举报