zoukankan      html  css  js  c++  java
  • 面向对象程序综合设计—课程设计

    一、项目简介

    功能描述:

    参考git地址或博客地址:

    https://gitee.com/gitzzh20/monopoly

    个人负责任务:

    土地类、骰子类的策划编写,玩家头像、背景音乐和部分界面的设计。

    团队博客链接:

    https://www.cnblogs.com/ye736660997/p/14354210.html

    二、功能架构图

    三、个人任务简述

    完成的任务与功能:

    四、本人负责功能详解

    1. *面向对象设计:

    2. *背景音乐功能:

    模块采用的技术:

    通过AudioClip类来实现音乐播放、循环等操作。AudioClip支持的音乐格式有.wav、.mid、AIFF、AU、RMF,格式要求相当严格。AudioCLip基本的方法有:play()播放依次声音;loop()循环播放音乐;stop()停止播放。

    难点及解决方法:

    在开始使用格式为.flac的音乐资源文件时无法播放,后来经过查阅发现AudioClip类不支持.flac的音乐格式。修改后AudioClip播放截取的一段wav文件没有声音,让我纠结了很久。最后发现是因为wav文件内容没有写文件尾,而对于格式要求严格的AudioClip而言是无法识别的。在修改后解决了问题。

    关键代码截图

    3. *游戏界面设计

    模块采用的技术:

    JavaFx框架。

    难点及解决方法:

    这是第一次接触JavaFX技术,在刚开始对JavaFX的概念还是有点模糊的。经过查阅资料并进行学习后,掌握了基于JavaFX技术进行界面设计的基本方法,并编写了程序的开始界面(玩家的命名界面)。

    关键代码截图

    4. *土地类设计

    模块采用的技术:

    面向对象设计,父类的继承。

    简述:

    在对地图上的土地模块进行设计时,以基本父类Land为基础,拓展设定了房产Estate和特殊地点SpecialPlace,考虑到大富翁游戏场景中的随机事件触发,便在土地中加入了随机事件RandomEvent。

    关键代码截图



    5. 人物头像设计

    简述:

    在组长对GUI进行基础设计后,玩家头像需要48×48格式的图片,经过网上资源的载取后按要求对其进行格式编辑。起初以为48*48是横纵百分比,调整后发现大小不太符合要求,在查询后发现要调整的是横纵像素,但是画图软件里的像素由于原图比例的原因无法修改为48×48格式的图片,在查阅方法后使用其他编辑软件解决了这个问题。

    6. 骰子功能

    模块采用的技术:

    Random类产生随机数。

    简述:

    利用Random类产生符合要求的随机数并赋给骰子的点数num。

    关键代码截图

    五、课程设计感想

    这是我第一次接触游戏类编程,对于JavaFX还比较陌生。刚开始讨论的时候制定了想要实现的基本功能和界面的模型,但是在设计时却遇到了一些问题,不过经过队内的讨论很快都解决了。在编写自己负责的模块时,会遇到一些没有见过的功能需求,经过资料查找和JDK的查阅,很快掌握了一些新类的用法,并使用它们实现了所需要的功能。此次课程设计不仅让我回顾了之前所学的知识,同时也让我学到了一些新的知识,受益良多。

    六、展望

      • 在背景音乐播放模块的程序没有做到更全面的操作,例如背景音乐静音、关闭等操作。

      • 在背景音乐播放模块的调用过程中,会出现在切换界面时没有声音的现象,经过查询发现使用的AudioClip类是一个废弃类,在程序运行过程中表现不稳定,后来便注释掉了这个模块的代码,并打算再查找播放背景音乐能够使用的新技术,并添加到程序中代替原来的不稳定代码。

      • 在对类进行设计时,根据游戏原本的背景还有许多可以拓展的功能,在这次课程设计中只实现了部分,之后会不断挖掘并对程序进行完善。

    • 在课程设计后我会进一步学习Java相关的知识,了解JavaFX的游戏引擎开发并尝试用其进行编程开发,在本次课程设计的程序中完善并拓展新的功能,优化界面UI的观感,提高程序的运行稳定性。

  • 相关阅读:
    img标签为什么可以设置宽高
    高度和宽度的操作
    自增自减运算符
    读取标签内容:innerHTML和innerText的区别 text()和html()的区别
    js中的常用方法
    js中style,currentStyle和getComputedStyle的区别以及获取css操作方法(考虑兼容性和局限性)
    IE盒模型与W3C盒模型区别
    css四种定位方式及其区别
    css隐藏元素的方法何区别
    Hibernate之HQL
  • 原文地址:https://www.cnblogs.com/yushanbaiyi/p/14346651.html
Copyright © 2011-2022 走看看