flappy bird c语言,C语言实现flappy bird
#include
#include
#include
//定义全局变量
int high,width;//边界
int bird_x,bird_y; //小鸟坐标
int bar_y;//挡板坐标
int bar_xTop,bar_xDown;//挡板开口上下坐标
int score;//得分
void HideCursor()//隐藏光标
{
CONSOLE_CURSOR_INFO cursor_info = {1, 0};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
void gotoxy(int x,int y) //光标移动到(x,y)位置
{
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(handle,pos);
}
void startup()//数据初始化
{
high=18;//初始化边界
width=26;
bird_x=high/2; //初始化小鸟坐标
bird_y=width/2;
bar_y=width;//挡板坐标
bar_xTop=high/2;//挡板开口
bar_xDown=bar_xTop+4;
score=0;//得分
HideCursor();//隐藏光标
}
void show()//显示界面
{
int i,j;
gotoxy(0,0);
for(i=0;i<=high+1;i++)
{
for(j=0;j<=width;j++)
{
if((i==bird_x)&&(j==bird_y))//输出小鸟@
printf("@");
else if(i==high+1)//输出下边界
printf("_");
else if(j==width) //输出右边界
printf("|");
else if((j==bar_y)&&((i<=bar_xTop)||(i>=bar_xDown))) //输出挡板
printf("|");
else printf(" ");
}
printf("\n");
}
printf("得分:%d\n",score);
}
void updateWithoutInput()//与用户输入无关的更新
{
if(bird_y==bar_y-1)
{
if((bird_x>bar_xTop)&&(bird_x
score++;
else
{
printf("小鸟死亡\n");//小鸟没没通过挡板开口小鸟死亡
exit(0);
}
}
if(bar_y>0)
bar_y--;
else
{
bar_y=width;
bar_xTop=rand()%(high-4);
bar_xDown=bar_xTop+4;
}
if(bird_x
bird_x++;
else
{
printf("小鸟死亡\n");
exit(0);
}
Sleep(200);
}
void updateWithInpute()//与用户输入有关的更新
{
char input;
if(kbhit())
{
input=getch();
if((input==' ')&&(bird_x>0)&&(bird_x<=high))//小鸟向上跳
bird_x=bird_x-2;
}
}
int main()
{
startup();//数据初始化
while(1)
{
show();//显示界面
updateWithoutInput();//与用户输入无关的更新
updateWithInpute();//与用户输入有关的更新
}
}
flappy bird c语言,C语言实现flappy bird相关推荐
- 为什么我们需要一门新语言——Go语言
编程语言已经非常多,偏性能敏感的编译型语言有 C.C++.Java.C#.Delphi和Objective-C等,偏快速业务开发的动态解析型语言有 PHP.Python.Perl.Ruby.JavaS ...
- 职工信息管理程序设计c语言,C语言程序设计职工信息管理系统.docx
C语言程序设计职工信息管理系统.docx 1 数信学院数信学院 课程设计报告课程设计报告 课程名称课程名称C C 语言程序设计语言程序设计_ _ 题目名称题目名称职工信息管理系统职工信息管理系统 学生 ...
- c语言 python-C语言、Java语言和python语言的区别在哪里
原标题:C语言.Java语言和python语言的区别在哪里 我们经常听到C语言.Java语言和python语言,那么这三者的区别在哪里呢?随着科技的进步以及新技术的推进,编程语言的种类也是越来越多,随 ...
- 程序设计语言python语言概述
程序设计语言 什么是程序设计语言 程序设计语言是人类与计算机交流和沟通的语言.人们通过使用程序语言,来书写计算机程序,以达到设计的程序满足需求的目的. 程序语言的发展历史 程序语言经历了从低级语言到高 ...
- c语言吗 程序语言,编程语言为什么从c语言开始,那有没有a语言b语言呢?
实际上没有A语言叫法. B语言 B语言是贝尔实验室的计算机先驱Ken Thompson 和 Dennis Ritchied与1969年设计开发.他们的主要其他功绩还有Unix操作系统和C语言.可以说C ...
- 脚本语言语言脚本语言:Shell , JavaScript、VBScript、Perl、PHP、Python、Ruby、Lua
今天一直在研究脚本语言语言之类的问题,上午正好有机会和大家共享一下. 脚本语言:Shell , JavaScript.VBScript.Perl.PHP.Python.Ruby.Lua 工作控制语言和 ...
- 怎么理解python语言_Python语言入门1-理解Python语言
本文主要向大家介绍了Python语言入门的理解Python语言,通过具体的内容向大家展现,希望对大家学习Python语言入门有所帮助. python是解释型的脚本语言 解释型语言 与C/C++等编译型 ...
- 国家语言,语言代码,locale id对应表
国家语言,语言代码,locale id对应表.比如 en_US对应的id为1033, 中文的locale=zh_CN,id=2052. Locale Language code LCID string ...
- 回旋矩形C语言,C语言回旋函数解释下,该如何处理
当前位置:我的异常网» C语言 » C语言回旋函数解释下,该如何处理 C语言回旋函数解释下,该如何处理 www.myexceptions.net 网友分享于:2013-06-08 浏览:30次 C ...
- Android 应用开发(8)---语言和语言区域
语言和语言区域 从 Android 7.0(API 级别 24)开始,Android 为多语言用户提供增强的支持,让他们可以在设置中选择多个语言区域.Android 通过大幅扩展受支持的语言区域数量并 ...
最新文章
- 没忍住又怼同事了!领导说,要做好情绪管理:真正优秀的人,从来都是不动声色...
- 解决Jsp运行org.apache.jasper.JasperException: Unable to compile class for JSP:问题
- android 反编译
- 详解python的super()的作用和原理
- 信息学奥赛一本通(1328:【例7.7】光荣的梦想)
- oracle中ak约束,Oracle自定义聚集函数
- DevExpress v18.1新版亮点——WPF篇(二)
- 小米Android OS特别高,干翻小米,最强定制安卓系统诞生?Color OS11表现如何
- 苹果无线笔记本怎么连不上win服务器,苹果笔记本连不上无线_苹果笔记本连不上wifi...
- 【开源电机驱动】H桥基础知识
- arcmap中有火星坐标码_GIS转换之火星坐标系转换
- android cpu型号采集,Android查看CPU型号设备信息等
- golang struct数组排序_go语言中排序sort的使用方法示例
- 【教3妹学java】JVM调优有哪些工具?
- 小伙面试时被连环追问数据库优化, 面试前如何埋点反杀? 网友看完直呼: 太硬核了!
- 【原创】WP7向Win8移植遇到的问题及独创性解决方案
- Scrapy入门到放弃06:Spider中间件
- NX二次开发-获得图纸视图的名字UF_OBJ_ask_name
- 一个普通码农的Linux之路
- vs2019测试sizeof(string)的长度是28