//ConsoleApplication4.cpp : 定义控制台应用程序的入口点。//#include"stdafx.h"#include#include#include#include#include
/********函数变量声明********/
#define PR_Box printf("■")
#define PR_Gold printf("★")
#define PR_Ag printf("☆")
#define PR_FBird printf("Ю")
#define PR_DBird printf("Ф")
#define PR_Land printf("┳┳┯")
#define PR_Bg_TL printf("╔")
#define PR_Bg_TR printf("╗")
#define PR_Bg_DL printf("╚")
#define PR_Bg_DR printf("╝")
#define PR_Bg_X printf("═")
#define PR_Bg_Y printf("║")
#define PR_Blank printf(" ");
int Grade = 1, C_Gold = 0, C_Ag = 0, Score = 0, Delay_time = 1000, Max_blank = 9, Distance = 18;//Grade 游戏等级//Score 分数//Max_blank 上下两个烟囱之间的最大距离//Distance 左右两个烟囱之间的距离
struct Birds//小鸟的结构体
{int x, y;//小鸟的位置
int condition;//此变量未用
};
Birds*Bird = (Birds*)malloc(sizeof(Birds));//给小鸟指针分配空间
struct Bg//烟囱的结构体--循环双向链表
{int x, y;//上烟囱的左下角砖块的坐标
int l_blank;//上相两个烟囱之间的距离
int reward[9];
Bg*pri;//前指针-指向前一个结点
Bg *next;//后指针-指向后一个结点
};
Bg*Bg1 = new Bg[sizeof(Bg)];//将一个烟囱结点设置成全局变量
void Position(int x, int y)//将光标移动到X,Y坐标处
{
COORD pos= { x - 1, y - 1};
HANDLE Out=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(Out, pos);
}void CreatBird()//创建小鸟
{
Bird->x = 41;//小鸟的坐标
Bird->y = 10;
Bird->condition = 0;
}void CreatBg()//创建数据结构为循环双向链表的烟囱
{
Bg*Bg2 = (Bg*)malloc(sizeof(Bg));
Bg1->x = 90; Bg1->y = 8;
Bg2->x = Bg1->x + Distance; Bg2->y = 9;
Bg1->l_blank = Max_blank