Console Flappy Bird

控制台小游戏flappy bird

Brief: When I was travelling on the train,  I thought of the game used to be well-known as flappy bird. To spare my time,I wrote one playing in console. It’s quite simple but fun enough. Just a class of bird, a class of column and several game logic funcitons.

曾经很火的小游戏flappy bird, 玩的都有点上瘾,如今在火车上无聊,也自己写一个简化版的。

游戏的实现方法是在创建鸟和柱子的类,鸟始终在一个x坐标点上,高度y的变化符合自由落体,而柱子以恒定速度向-x方向移动,使得看起来鸟是以抛物线移动,每当按下空格,鸟就获得一个向上的速度,当纵向速度为0后开始加速下落。

先看柱子的类

其中两个方法都很简单,move就是根据vx更新x坐标。draw画出上下两个柱子。

看小鸟类:

由于是控制台绘图,所以小鸟的形状是用像素块画出来的,为了让小鸟生动一点,用了两个形态表示翅膀的扇动,如图:

 

 

所以小鸟的姿态用了2*5*5的三维数组。

游戏逻辑在game.cpp中实现:

由于按键少(就一个空格键),所以消息处理回调函数里的分支相对其他小游戏少很多。

重绘消息

定时消息

按键消息

游戏效果图:

源码地址:

PixelBird

https://github.com/atp798/BlogStraka

发表评论