首页 > 代码库 > 【原创】纯OO:从设计到编码写一个FlappyBird (一)

【原创】纯OO:从设计到编码写一个FlappyBird (一)

说起来,自学计算机也有2年多的时间了,自己还没有从设计到编码,完完整整的设计一个基于面向对象的软件的经历。。囧

 

于是,就有了这个系列。首先选用的语言是Java,没别的原因,HeadFirst设计模式是Java写的,而且Java的包管理比较简单,适合小工程。其次选用的题材自然是游戏啦,最近wikioi在等结果的时候就有个FlappyBird的小游戏,当时在想如果小鸟换成墙之父方老师,说不定别有一番趣味:)

 

从画类图到编写完各个模块,一共花了2天时间,做完了后发现解耦的还行,就跟大家分享分享。

 

第一部分先是类图:

 

主要有5个类。

Game类:总览全局,调用其他类工作。

Bing类:(方老师版小鸟,自然叫Bing啦)其实是个接口,负责扮演小鸟的角色,平时自动往下掉,摁一下往上飞。

Obstacle类:接口。FlappyBird中的障碍物,碰到就死

DrawBoard类:接口。负责把Bing和Obstacle画到界面上来。

Judge类:接口。负责判断是否得分、小滨是否死亡的问题。// “滨”好像不是后鼻音?擦

 

定义操作:

1、鼠标点击:由于最终是在DrawBoard上点击,所以,DrawBoard的实现需要集成JPanel类。Game类将要监听DrawBoard的实现类的鼠标Pressed事件(clicked要求原地点原地放,有时候会因为用户误操作而不响应,不适合作为操作响应事件),并将其发送给Bing的实现,让其上升。

 

好了,第一部分就结束了,接下来的文章将分别实现游戏的各个部分。

【原创】纯OO:从设计到编码写一个FlappyBird (一)