一、项目简介
功能描述:用JAVA及JAVAFX技术大程度实现还原大富翁游戏,其中加入了一些古风特色的元素
参考git地址或博客地址:无
个人负责任务: 游戏背景策划,玩家(Player)类,游戏主页面设计
团队博客链接:
二、功能架构图
三、个人任务简述
描述自己负责的模块、功能、完成了什么任务。
-
- 完成的任务与功能:
简单描述将自己完成的有特色的地方、重难点地方。
- 完成的任务与功能:
序号 | 完成功能与任务 | 描述 |
---|---|---|
1 | 对于玩家的移动操作 | 由于有特殊的地点医馆(无法进入)的限制,在对于医馆的地址要进行跳过,所以会特别进行判断,还有对回到起点下标的重制 |
2 | 玩家地产的相关操作 | 购买删除房产不仅要修改房产的List,还要对玩家的金钱进行增减,房产的升级也需要判定金钱是否充足 |
3 | 随机命名 | 用了两个字符串数组存放形容词和名词,用两个随机数随机取出形容词和名词组成名字 |
4 | 人物的状态 | 由于游戏的需要,有个限制移动的地方(医馆),相应的事件为手伤修养,所以加入了一个状态用于判定是否属于受伤状态,还有从受伤状态恢复 |
5 | 游戏主页面 | 游戏主页面视图和对应的操作 |
-
- Git提交记录截图:
本人在项目中的提交提截图。最多1页。
- Git提交记录截图:
四、本人负责功能详解
分功能、模块详细描述自己完成的任务,也可描述自己花了很大精力、时间研究想用于课程设计但未完成的部分。重难点、特色部分请标星*,并往前放。
每个任务或模块按照以下结构描述:简述、关键代码截图。
-
1.*model包里的Player类
给出包图、类图。
图要紧凑,图中的字要大。
-
2.玩家的移动功能:
简述所完成模块采用的技术、难点及解决方法。
对于玩家的移动,我采用的是用下标来定位,所以就定义了玩家的下标,然后通过传入的骰子点数加上玩家之前的下标就是当前玩家的下标,再对医馆地点进行特别的注意,和到起点的重制,即实现了理想的功能
关键代码截图
-
3.土地的购置出售和升级
简述所完成模块采用的技术、难点及解决方法。
用了ArrayList来存放所拥有的房产,房产对应有各种属性,再进行对应的增添房产和增减金钱的操作
关键代码截图
-
4.随机命名
简述数据库设计
用了两个字符串数组存放形容词和名词,用两个随机数随机取出形容词和名词组成名字
-
5.游戏主页面
游戏主页面的设计,用于选择游戏模式,目前只有人机对战和本地多人,希望之后能一起设计出联网多人
五、课程设计感想
- 描述课设中碰到的困难及自己为了解决困难的所思所想。不要抄袭。
刚开始和朱振豪,李凌一起讨论着要几个包,和几个类,类中存放了什么属性,然后在小游戏的网页上玩了玩那个大富翁,再进行了各种的讨论,比如对于别人的游戏,我们能实现的功能,我们独特的风格,而后来我们选用了武侠风格,对相应的名词进行了不同的定义,舍弃了参考游戏中一些角色能够直接带入的数据,而采用了统一的数据,更有利于游戏的平衡。
在进行编写时,由于我们是刚开始留校做了个大概的框架的,而后回家后隔了一周才着手进行实现方法,由于不在同一个地方,沟通不够及时,导致进度有点拖沓。
在各个地点的命名时,进行了讨论,由于是要武侠风的,所以对地点的名字大多采用今古通用的,但也有在不同的地方进行了介绍,而且为了有文化意义,增加了点击地名就有对应显示其地点的介绍,我特此去收集了相关的资料,再进行修改,减少现代的元素,多留点古风。
到最后跑代码的时候,在游戏房间切换到游戏界面时出现了一些问题,然后我们就打开了腾讯会议一起探讨问题的解决方法,最后再开一个线程解决了问题
六、展望
可写两部分内容:
- 1.自己所完成功能的不足之处及以后想要采取的改进方法。
用的知识都是比较基础的,完成的功能有点少,应该要多学习学习 - 2.可选:课设后想要进一步做的事情。比如,进一步学习XXX技术、增加XXX功能、重构项目代码、增加junit测试、调查XXX技术等。
想把游戏做成联机的,学习一些Java的网络编程和多线程,使得我们几个组员能够再不同的地方都能够联机游戏,创造共同的回忆,学习一些绘画,增加一些游戏的素材,使得游戏的美观层面进一步提升