JAVA课程设计个人博客----FlappyBird

前期调查

类图


个人主要负责

流程图


黄底为个人主要负责项目

项目运行截图



关键代码分析(个人负责)

  • 板块HelpPanel:计分功能
    • getRocord的功能是从文件中读取当前最高的成绩,打开文件后设置异常之后定义finally块关闭文件,因为不管文本文件是否能够顺利开,我们都需要关闭文件,假设文本文件不存在,则我们通过FileOutputStream和DataOutputSteam来对当前最好的成绩进行写入,若存在我们则通过FileInputStream和DataInputSteam来读取文件中的数据然后转换类型即可;

    • writeRecord方法功能则是当最好的成绩刷新时,我们需要更新最好的成绩,为了保存数据,我们需要将数据写入文件中保存,此时我们使用到fileWriter类型来打开文件,先清空覆盖原来的记录,通过FileOutputStream和DataOutputSteam来对当前最好的成绩进行写入即可
  • 音乐播放功能:
    • 在写音频播放的时候,一开始没有使用音频输入流AudioSystem.getAudioInputStream(audio),通过查阅资料使用toURL的方法来播放音乐,然后发现音乐只能在一个界面上播放只要更换界面之后就没有声音了,然后这时候我设置了一个线程来实现这个方法,这样就可以在MenuJFrame运行的同时也播放音乐,但是此时音乐会不正常,会一直在开头循环无法正常播放,所以需要获取音频输入流,然后通过getFormat来获取编码格式,然后进行格式转换等系列的操作,设置音量分贝等这样音乐才能正常播放。

需要注意:JAVA程序无法播放MP3文件,一开始我是用的是MP3文件然后发现不管怎么编写代码都没有任何声音,通过查阅资料后才知道,JAVA程序只能播放WAV类型的文件,算是一个收获!

ps:我们做的是简单版本的flappybird,其实还可以设置简单和困难两个模式,但时间有限我们没有去实现这个功能

课程设计感想

  • 未实现有想法:
    • 本来是想设置设置一个用户系统,包含登陆注册功能,然后设置一个功能是可以查看排行榜的,有一个用户类,如果可以的话,想深入了解一下网络编程进行联机模式,但是由于时间和能力的限制,这只是一种想法,没有能进行实质上的操作。
    • 由于本次课程设计分配到的任务不多,整体游戏做下来虽然没有参与到其他人的部分,但大家总结的时候都是一起总结的收获还是蛮多的,我来说说自己遇到的困难,主要就是文件读写与流,之前在学校考试的时候,由于练习过少,导致分不清FileOutputStream和FileInputStream,把两者的关系搞反了,把FileOutputStream误以为是读取文件而FileInputStream是写入文件,导致功能一直无法正常实现,同时我在写音乐播放的时候也是,一开始使用的是在MenuJFrame类中写初始化块来播放音乐,但是音乐因为mp3格式以及没有使用正确的音频播放的方法,导致音乐无法正常播放,后来也是查阅了资料,参考了写音乐播放器的博客之后才知道,音乐播放的编写该如何写以及为了使MenuJFrame运行的同时播放音乐,我需要设置一个线程来运行背景音乐的播放,否则也只是单一的换了界面就无法播放了。
    • 在阿里巴巴的代码检查的时候看着队友做更改,发现原来规范的代码还是有很多细节的,感觉收获良多。

展望

  • 自己所完成功能的不足之处及以后想要采取的改进方法。
    音乐播放:这里只能一开始进入界面就一直循环播放同一首歌曲是挺大的遗憾,还没有学会如何去暂停音乐以及播放多首音乐和切歌等功能,如果可以的话希望能够学习一下。
    • 计分功能:这里只是纯粹的获取当前成绩和最好成绩以及刷新最好成绩,如果可以,我希望能给用户设置一个可以查看最近十次历史成绩的功能,但是由于时间问题只写了这么点,后续如果有空的话,我会尝试写一下这个历史记录功能。
  • 课设后想要进一步做的事情:
    • 想要学习JAVAFX来制作更多游戏,更加复杂的游戏,因为发现自己做出来的游戏是非常有成就感的一件事,因为这个游戏我们主要是使用swing来实现,想学习一下用别的方法来重新做一下游戏,或者其他简单的游戏来尝试学习javafx。
    • 想尝试写用户登录系统然后能对密码进行加密等处理,但是加密的技术我现在没学会,想进一步的学习。
    • 进一步学习swing的监听等功能
    • 想要进一步了解数据库的使用和DAO模式
    • 由于此次项目中我是负责辅助功能所以希望以后有机会的话也学习一下如何进行管道间隔的随机变化以及背景的移动等。目中我是负责辅助功能所以希望以后有机会的话也学习一下如何进行管道间隔的随机变化以及背景的移动等。
posted @ 2021-01-29 00:40  雪梨wink  阅读(104)  评论(0编辑  收藏  举报