Flappy bird游戏(c语言笔记1)

## 标题在c语言书上看到的,作为笔记来记录一下

1.定位光标到屏幕指定位置`

解决的思路是,首先使用Windows API 中定义的结构体类型COORD来表示字符在控制台屏幕上的坐标。结构体COORD的定义为

	 typedef struct_COORFD
 		  {
   
    		 SHORT x;                //水平坐标
   			  SHORT y;                //垂直坐标
    		 }COORD;
  	 然后使用Windows API 函数GetStdHandle(),从一个特定的标准设备(例如标准输出)获取标识设备的句柄(用来标识不同设备的一个数组)。最后,使用Windows API函数SetConsoleCur-sorPosition()定位光标的位置。这个封装后的定位光标到坐标点(x,y)的函数如下:
void Gotoxy(int x,int y)
     {
   
       COORD pos  = {
   x,y};
       HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);   //获得标准输出设备句柄
       SetConsoleCursorPosition(hOutput,pos);       // 定位光标位置
       }
   使用这个函数可以避免清屏和反复刷新屏幕带来的闪烁效应。使用下面的函数来隐藏光标
 void HideCursor()
       {
   
         HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);  
         CONSOLE_CURSOR_INFO CursorInfo;
         GetConsoleCursorInfo(handle,&CursorInfo);     //获取控制台光标信息
         CursorInfo.bVisible = 0;                     //隐藏控制台光标
         SetConsoleCursorInfo(handle,&CursorInfo);    // 设置控制台光标状态
         }

下面是书上的代码

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <windows.h>
#define DIS 22
#define BLAN 9                   //上下两部分柱子墙之间的缝隙
typedef struct bird
{
   
    COORD pos;
    int score;

}BIRD;
  void CheckWall(COORD wall[]);           //显示柱子墙体
  void PrtBird(BIRD *bird);                   //显示小鸟
  int CheckWin(COORD *wall, BIRD *bird);   //检测小鸟是否碰墙或超出上下边界
  void Begin(BIRD *bird);     // 显示上下边界和分数
  BOOL SetConsoleColor(unsigned int aAttributes);   //设置颜色
  void Gotoxy(int x,int y)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ofo300

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值