用C语言实现FlappyBird

在《FlappyBird》这款游戏中,玩家需要用一根手指来操控小鸟往上飞,不断的点击屏幕就会不断的往高处飞。放松手指,则会快速下降。所以玩家要控制小鸟一直向前飞行,然后注意躲避途中高低不平的管子得分。
在这里,我们主要使用C语言中的printf和scanf函数实现一个简单的FlappyBird游戏

整体思路

在开始游戏之前,我们先了解一些辅助函数

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 HideCursor()	  //隐藏光标
{
   
	CONSOLE_CURSOR_INFO cursor_info = {
    1, 0 };
	SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}

主函数

我们使用一个简单的游戏框架,来减小游戏实现的难度

int main()
{
   
	startup();	//初始化变量 
	while (1)
	{
   
		show(); //显示画面
		updateWithoutInput();//与用户无关的更新
		updateWithInput();//与用户输入有关的更新
	}
	return 0;
}

全局变量的定义

//游戏画面大小
int high;	//行
int width;	//列

//小鸟的坐标
int bird_x;	  //行
int bird_y;	  //列

//障碍物的相关坐标	
int bar1_y;	//障碍物与左边界的距离
int bar1_xTop;	//上边障碍物底部与上边界的距离
int bar1_xDown;	//下边障碍物顶部与上边界的距离

int score;	//得分

在这里插入图片描述

数据的初始化

//游戏界面大小 
high = 15;	
width = 25;
	
//小鸟的初始位置 
bird_x = high / 2;	
bird_y = width / 4;
	
//障碍物的初始位置
bar1_y = width - 1;	
bar1_xTop = high / 4;
bar1_xDown = high / 2;	
	
//得分 
score = 0;

显示画面

每一次循环,都需要重新输出一次画面,在这里,我们使用 @ 表示小鸟, * 表示障碍物

for (i = 0; i < high; i++)  //行
{
   
	for (j = 0; j < width; j++)
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值