一只鱼的海底历险身亡记

好久不写博客。。登录密码都给忘了,试了半天才试出来,看来真的是我太久木有来这里逛了。

 

今天突然兴致很好,想写写关于我前段时间做的一个小游戏——flappy fish(中文名:噗拉拉的鱼)。

 

我怀疑我真的是个没有什么创造力的人,看到前段时间flappy bird 疯了似得被人玩着,各种人被那只可恶的小鸟虐的不成人形,多少手机被那只鸟摔得惨不忍睹。我就决定。。。。。。。。。。。。。。 

。。。。。。。。。。。。。。。。。。。。。。。。。。。。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。

我要仿冒一个它。

 

是不是很没有创意。。。

 

最近又出了个flappy 2048!把flappy bird 和2048结合了,我就感觉想到这个的人好厉害啊,所以我决定潜心修行我的创造力,赶明儿也发明一个风靡一时不对,,风靡一世的游戏。

 

回归重点,讲讲我的那只鱼。

 

刚开始我是决定完全仿照,连鸟都不换的。后来发现,那只鸟长得特别像只鱼,然后我就干脆给他换成一只鱼,把背景改成了海底世界,,其实这个游戏我感觉可以叫一只鱼的海底历险身亡记。但是名字有点长啊哈。

 

其实代码很简单。我就写了大概5个类的样子。

一个主界面类:主要就是写界面。包括背景、水管线程的启动、小鸟线程的启动等。

一个水管类:包含了水管的信息,包括坐标等。

一个水管线程类:让水管动起来!

一个小鱼监听器类:让鱼儿游起来!

一个监测类:这个监测类,是为了判断是否鱼儿是否撞到水管。所以我觉得这是最重要的一个类,虽然代码不多,但是主要是如何判断,判断的范围以及判断的时间间隔。

 

首先是如何判断以及判断的范围

如何判断呢?我就是获取水管和鱼的坐标。对两个坐标进行判断,当然有时候会有点误差,你也可以设置一些容差。。。。比如说。。就算鱼儿撞到水管上面10个px,你也可以不判断为输,,当然,这有点像开外挂?大概是的把,不过我是没有开过外挂,我打游戏从来不开外挂。

至于时间间隔

我让这个监测类继承了线程,并把判断输赢的方法放在了run函数里的while循环里,让他不停的进行检测。直到检测到鱼儿撞上水管身亡才停下来。

 

其实这里面刚开始的时候有个小bug,就是我的分数计算,开始时候跳过一个管子,就加好几万分,其实是因为我的检测函数一直在while,所以才会一下加那么多分,是我加分的地方写错了。后来准备改的时候我决定,,,,,不改了,这样多好啊,跳过一个管子加好几万,人家跳一个才加1分,我一下加好几万,多帅啊。。

 

 

源码呢就不贴了,源码写的很简单,估计就几百行的样子,思路就是像上面那样,一步一步来就清晰了。

 

 

 

 

 

你可能感兴趣的:(一只鱼的海底历险身亡记)