Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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游戏
- Host: GitHub
- URL: https://github.com/toufupi/text-bird
- Owner: Toufupi
- License: mit
- Created: 2021-07-23T08:28:32.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-07-29T09:24:09.000Z (over 3 years ago)
- Last Synced: 2023-07-18T12:05:28.009Z (over 1 year ago)
- Language: C
- Size: 1.95 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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 //音乐播放