java 课程设计_Java课程设计

一、团队名称、团队成员介绍、任务分配,团队成员课程设计博客链接

团队名称:404 NOT FOUND

团队成员介绍:

组长:网络1713 张庆旺 201721123072

负责模块 :网络交互、贪吃蛇问题解决

组员:网络1713 林大擘 201721123075

负责模块 :博客撰写、排行榜功能实现、背景音乐

组员:网络1713 傅润达 2017211230

负责模块 :  GUI界面、贪吃蛇问题解决

二、项目简介

通过对键盘的监听实现贪吃蛇的移动,通过客户端和服务器的交互,实现客户端获取服务端IP地址,实现双人对战,同时判定双方之间的得分更高的胜者,加入排行榜。

三、项目采用技术

GUI图形界面、Socket网络交互、文件流、多线程

四、项目Git地址

五、项目git提交记录截图(要体现出每个人的提交记录、提交说明)

baaefce4de322b0b1de453068d575011.png

六、项目功能结构图与主要功能结构图

fc6ec800ca55d969dc708d89ed7e26c4.png

78dda0d683db9a2c9f97bc144586898d.png

七、项目运行截图或屏幕录制

5ecc511ee182bd2dff6ac63df4938de9.png

八、项目关键代码讲解

1.碰撞检测,包括 蛇A碰到蛇B、蛇吃到食物、蛇碰到墙体

65d7f0ef30bde2b6a27c15dd883782de.png   我们将地图划分为一个很大的二维数组,通过坐标的重合,来检测碰撞,产生不同的效果。

2.蛇移动的同时、实现面板的刷新

2322bef6deb7ee5f14efe5925f83e7d9.png

3.蛇的产生、移动的方法

(1)产生蛇的 creatSnake 方法:

蛇的本身是LinkedList数组,采用链表存储蛇的身体坐标,方便于蛇的身体的增加、移动

2fdbac3eb9037ae54111020fe50fec1a.png

(2)蛇移动实现的方法:

蛇的移动,其本质来说是蛇头部的移动,因此,只需要改变蛇的头部的坐标,按照方向的不同,增加或减少坐标(X,Y)的值

,就可获取新蛇头部的坐标,作为新的头部添加进入数组即可。

蛇吃到了食物,是长度增加一,同时更新得分榜,于蛇移动的方法类似。

c1c5c5a0671eb4c0af3a4d6cbb44044a.png

九、UML类图

d8a0e6773ce3b22ea6d96153b879d3c1.png

十、 尚待更新的想法

1.Socket网络交互能更加流畅化

2.希望能够用数据库存储用户数据、并更新排行榜信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值