Skip to content

Toufupi/Text-bird

Repository files navigation

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

音频播放部分基于miniaudio

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

--Text-Bird

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

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

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

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

About

linux c 配合ncurses实现的FlappyBird游戏

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages