Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/toufupi/text-bird

linux c 配合ncurses实现的FlappyBird游戏
https://github.com/toufupi/text-bird

Last synced: about 2 months ago
JSON representation

linux c 配合ncurses实现的FlappyBird游戏

Awesome Lists containing this project

README

        

# Text-bird
linux c 配合ncurses实现的FlappyBird游戏

四川大学2020级软件学院暑期实训项目

### 预期功能以及实现路径

1. Ok完成场景绘制:鸟、地面、管道、背景、得分 //现成 ok

2. OK实现小鸟飞行与音效,点击Space振翅(包括动画)//

3. Ok实现管道,管道可上下动态移动 //随机数生成器,固定缝隙宽度 ,注意是管道生成后还可以运动(逻辑: 鸟距离管道一定距离要停止运动,否则没有可玩性)

4. OK实现背景音乐和音效的播放(振翅、游戏倒计时、游戏结束等)//alsa linux API实现 难(预计需要使用多进程,定时器,否则播放要出问题)

5. Ok碰撞检测:小鸟与管道碰撞,游戏结束,游戏结束时显示分数和历史最好分数,按空格键重新开始; 使用//文件IO操作实现数据持久化 简单,添加一个界面就可以了 ok

历史最高分有BUG,需要做判断

6. Ok4个场景:游戏开始、准备游戏、游戏运行、游戏结束。//现成 //添加界面与跳转逻辑 singalplayer 和 multiplayer

7. 最后工作-重构代码 实现主函数分离,便于调试和功能整合

8. Next-扩展功能:实现双人游戏模式

//socket实现通信加云服务器,双人游戏同步展示进度(此处需要地图同步的实现「写好数组或者伪随机数生成器」,或者采取服务器端下发地图),socket实现数据的沟通 (udp协议)

拓展:局域网扫描 游戏难度选择!! 代码重构

项目的游戏主体基于hamikm的[AsciiBird](https://github.com/hamikm/AsciiBird[)

音频播放部分基于miniaudio

多线程实现基于pthread 预计三个线程 游戏线程 音乐线程 socket通信线程(多人游戏)

--Text-Bird

|-- client.c //客户端,发送与接收数据

|--server.c //服务器端,两端口8081和8082 开放TCP

|-- game.c //游戏主体

| -- playsound.c //音乐播放