• JAVA课设——大富翁


    一、项目简介

    功能描述:用JAVA及JAVAFX技术大程度实现还原大富翁游戏,其中加入了一些古风特色的元素
    参考git地址或博客地址:无
    个人负责任务: 游戏背景策划,玩家(Player)类,游戏主页面设计
    团队博客链接:

    二、功能架构图


    三、个人任务简述

    描述自己负责的模块、功能、完成了什么任务。

      1. 完成的任务与功能:
        简单描述将自己完成的有特色的地方、重难点地方。
    序号 完成功能与任务 描述
    1 对于玩家的移动操作 由于有特殊的地点医馆(无法进入)的限制,在对于医馆的地址要进行跳过,所以会特别进行判断,还有对回到起点下标的重制
    2 玩家地产的相关操作 购买删除房产不仅要修改房产的List,还要对玩家的金钱进行增减,房产的升级也需要判定金钱是否充足
    3 随机命名 用了两个字符串数组存放形容词和名词,用两个随机数随机取出形容词和名词组成名字
    4 人物的状态 由于游戏的需要,有个限制移动的地方(医馆),相应的事件为手伤修养,所以加入了一个状态用于判定是否属于受伤状态,还有从受伤状态恢复
    5 游戏主页面 游戏主页面视图和对应的操作
      1. Git提交记录截图:
        本人在项目中的提交提截图。最多1页。




    四、本人负责功能详解

    分功能、模块详细描述自己完成的任务,也可描述自己花了很大精力、时间研究想用于课程设计但未完成的部分。重难点、特色部分请标星*,并往前放。
    每个任务或模块按照以下结构描述:简述、关键代码截图。

    • 1.*model包里的Player类
      给出包图、类图。
      图要紧凑,图中的字要大。

    • 2.玩家的移动功能:
      简述所完成模块采用的技术、难点及解决方法。
      对于玩家的移动,我采用的是用下标来定位,所以就定义了玩家的下标,然后通过传入的骰子点数加上玩家之前的下标就是当前玩家的下标,再对医馆地点进行特别的注意,和到起点的重制,即实现了理想的功能
      关键代码截图

    • 3.土地的购置出售和升级
      简述所完成模块采用的技术、难点及解决方法。
      用了ArrayList来存放所拥有的房产,房产对应有各种属性,再进行对应的增添房产和增减金钱的操作
      关键代码截图

    • 4.随机命名
      简述数据库设计
      用了两个字符串数组存放形容词和名词,用两个随机数随机取出形容词和名词组成名字

    • 5.游戏主页面
      游戏主页面的设计,用于选择游戏模式,目前只有人机对战和本地多人,希望之后能一起设计出联网多人

    五、课程设计感想

    • 描述课设中碰到的困难及自己为了解决困难的所思所想。不要抄袭。
      刚开始和朱振豪,李凌一起讨论着要几个包,和几个类,类中存放了什么属性,然后在小游戏的网页上玩了玩那个大富翁,再进行了各种的讨论,比如对于别人的游戏,我们能实现的功能,我们独特的风格,而后来我们选用了武侠风格,对相应的名词进行了不同的定义,舍弃了参考游戏中一些角色能够直接带入的数据,而采用了统一的数据,更有利于游戏的平衡。
      在进行编写时,由于我们是刚开始留校做了个大概的框架的,而后回家后隔了一周才着手进行实现方法,由于不在同一个地方,沟通不够及时,导致进度有点拖沓。
      在各个地点的命名时,进行了讨论,由于是要武侠风的,所以对地点的名字大多采用今古通用的,但也有在不同的地方进行了介绍,而且为了有文化意义,增加了点击地名就有对应显示其地点的介绍,我特此去收集了相关的资料,再进行修改,减少现代的元素,多留点古风。
      到最后跑代码的时候,在游戏房间切换到游戏界面时出现了一些问题,然后我们就打开了腾讯会议一起探讨问题的解决方法,最后再开一个线程解决了问题



    六、展望

    可写两部分内容:

    • 1.自己所完成功能的不足之处及以后想要采取的改进方法。
      用的知识都是比较基础的,完成的功能有点少,应该要多学习学习
    • 2.可选:课设后想要进一步做的事情。比如,进一步学习XXX技术、增加XXX功能、重构项目代码、增加junit测试、调查XXX技术等。
      想把游戏做成联机的,学习一些Java的网络编程和多线程,使得我们几个组员能够再不同的地方都能够联机游戏,创造共同的回忆,学习一些绘画,增加一些游戏的素材,使得游戏的美观层面进一步提升
  • 相关阅读:
    Philosophy is systematic reflective thinking on life.
    HashMap与HashTable的区别、HashMap与HashSet的关系
    android Intent机制详解
    Android Parcelable理解与使用(对象序列化)
    Java并发编程:volatile关键字解析
    JavaEE 对象的串行化(Serialization)
    pytorch学习
    numpy的一些用法
    约瑟夫问题
    双向链表及其操作
  • 原文地址:https://www.cnblogs.com/ye736660997/p/14354075.html
Copyright © 2020-2023  润新知