zoukankan      html  css  js  c++  java
  • 面向对象课程设计-FlappyCharacter(团队)

    项目介绍

    FlappyCharacter,基于falppybird的游戏,稍微更改了一些。游戏中玩家必须控制一个,跨越由各种不同长度水管所组成的障碍。我们的程序支持玩家自选角色。

    小组成员及分工

    团队成员 分工 个人博客链接
    网络1912黄雨冰 (组长) MenuJframe界面(不包括music),GamePanel的run部分 链接
    网络1912陈璧君(成员 ) GameClient和ImageSelection,GamePanel的除run以外的部分 链接
    网络1912甘梨梨(成员 ) HelpPanel和MenuJframe的music 链接

    git地址

    链接于此

    部分提交截图:

    参考代码

    链接于此

    前期调查

    首页(目录界面)

    游戏开始前的提示

    游戏界面

    功能框架图

    类图

    运行结果展示

    目录面版

    角色选择面版

    游戏面版

    模块及关键代码

    • 按钮:设置了两个按钮,“开始游戏”连接着后面的角色选择界面,用于切换界面;“游戏介绍则会弹出消息提示框”

    • 背景面版:先创造容器和自定义的背景面版,然后用awt将图画在背景面版上,要注意的是,加入容器的先后顺序是有优先级的,如果背景先加,再加按钮,会导致按钮显示不成功。

    • Gif的添加,与背景面版相似,都是先将其显示在组件上,再添加组件

    • 音乐播放功能:需要获取音频输入流,然后通过getFormat来获取编码格式,然后进行格式转换等系列的操作

    ImageSelection模块

    • 运用swing和AWT技术,新建一个frame窗体,然后再新建一个按钮并将图片贴在按钮上,通过动作监听来判断选择的角色形象并弹出提示框进行确认,将形象传参到游戏界面中;同时为frame窗体添加背景图片和文字标签提示

    GamePanel模块

    • 游戏参数设计

    • 角色、管道、背景的移动

    • 碰撞检测和分数的计数


    GameClient模块

    • 游戏窗口布局:使用swing和AWT技术,实例化游戏面板和辅助面板,设置总体窗口布局

    HelpPanel模块(计分功能)

    • getRocord的功能是从文件中读取当前最高的成绩

    • writeRecord方法功能将数据写入文件中保存

    项目代码扫描及改正

    • 扫描

    • 改正(还有一个if语句需要带括号)

    • 改正后:

    总结

    • 不足
      • gif图片,无法脱离组件单独显示。
      • 管道变化较为单一,只是中间通道的高低变化。
      • 界面,少了个地面的设计,下端管道应该在地面以上是更好的。
      • 一开始进入界面就一直循环播放同一首歌曲,无法暂停或是切换。
    • 展望:
      • 增设用户界面,添加注册与登录
      • 拓展最高记录为排名,设置为排行榜。
      • 添加联机的功能,可以多个用户同时进行游戏
      • 增加游戏难度,如管道移动速度变快、管道间通道会变化、角色下降速度变快等。
  • 相关阅读:
    细说MS事务管理
    大话设计模式(含源码)下载
    CSS基础到提高(PPT、视频、源代码),网页布局不用愁
    Android开发中Layout中明明改了id,但是还出现"cannot be resolved or is not a field"的原因
    读《OO真经》有感,以及我自己的关于哲学的体会
    Web服务小试牛刀
    在Android的RaletiveLayout中,如果空间的相对位置矛盾将不显示此控件
    .net 面试题2
    敏捷软件转
    中英文标点
  • 原文地址:https://www.cnblogs.com/yubing----/p/14342361.html
Copyright © 2011-2022 走看看