小游戏C语言程序

小游戏C语言程序,第1张

下落的小鸟

#include<stdioh>

#include<stdlibh>

#include<conioh>

#include<timeh>

#include<Windowsh>

int Grade = 1, Score = 0, Max_blank = 9, Distance = 18;

struct Birds{int x; int y;};  //定义一种Birds数据类型(含3个成员)

Birds Bird = (Birds)malloc(sizeof(Birds));  //定义Birds类型 指针变量Bird并赋初值

struct Bg{int x, y; int l_blank; Bg pri; Bg next;};  //定义一种Bg数据类型(含5个成员)

Bg Bg1 = (Bg)malloc(sizeof(Bg));  //定义Bg类型 指针变量Bg1并赋初值

void Position(int x, int y)  //光标定位函数(用于指定位置输出)

{COORD pos = { x - 1, y - 1 };

HANDLE Out = GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleCursorPosition(Out, pos);

}

void Csh( )  //初始化界面

{

printf("══════════════════════════════════════\n");

printf(" ■■ ■■ C语言版 Flappy Bird \n");

printf(" ■■ ■■\n");

printf(" ■■ ■■\n");

printf(" ■■ ■■ 瞎搞人:yyposs原创\n");

printf(" ■■ ■■ 瞎搞日期:20142\n");

printf(" ■■ ■■\n");

printf(" ■■ ■■ 改编:鸣蝉百20217\n");

printf(" ■■ ■■ *** 作:按向上方向键让小鸟起飞\n");

printf(" ■■\n");

printf(" ■■\n");

printf(" ■■ ■■\n");

printf(" ■■ ■■\n");

printf(" ■■ ■■\n");

printf(" ■■ ■■\n");

printf(" ■■ ■■ DEVc++运行通过\n");

printf("══════════════════════════════════════\n");

printf("  按键继续…");

getch( );

system("cls");

}

void PrFK( )  //输出方框(游戏范围区)

{int i;

Position(1, 1); printf("╔");  Position(79, 1); printf("╗");

Position(1, 24); printf("╚");  Position(79, 24); printf("╝");

for (i = 3; i <= 78; i += 2){Position(i, 1); printf("═"); Position(i, 24); printf("═");}

for(i=2;i<=23;i++)

{ Position(1,i); printf("║");if(i<11)printf("0%d",i-1);else printf("%d",i-1);

Position(79,i); printf("║");

}

Position(4, 25); printf("小鸟即将出现,请准备按键起飞… ");

getch( );

Position(4, 25); printf("                                  ");

}

void CreatBg( )  //创建障碍物坐标(便于打印输出)

{Bg Bg2 = (Bg)malloc(sizeof(Bg));

Bg1->x = 90; Bg1->y = 8;  //确定障碍物的一对基本坐标(此时值是在游戏框之外)

Bg2->x = Bg1->x + Distance; Bg2->y = 9;  //下一障碍物的基本坐标x、y

Bg1->l_blank = Max_blank - Grade;  //障碍物上下两部分之间的空白距离l_blank

Bg2->l_blank = Max_blank - Grade;

Bg1->next = Bg2; Bg1->pri = Bg2;

Bg2->next = Bg1; Bg2->pri = Bg1;

}

void InsertBg(Bg p)  //随机改变障碍物的y坐标,让空白通道有上下变化

{int temp;

Bg Bgs = (Bg)malloc(sizeof(Bg));

Bgs->x = p->pri->x + Distance;

Bgs->l_blank = Max_blank - Grade;

srand((int)time(0));  //启动随机数发生器

temp = rand( );  //产生一个随机数并赋值给temp

if (temp % 2 == 0)

{if ((temp % 4 + p->pri->y + Max_blank - Grade)<21)

Bgs->y = p->pri->y + temp % 4;

else Bgs->y = p->pri->y;

}

else

{if ((p->pri->y - temp % 4)>2)Bgs->y = p->pri->y - temp % 4;

else Bgs->y = p->pri->y;

}

Bgs->pri = p->pri; Bgs->next = p;

p->pri->next = Bgs; p->pri = Bgs;

}

void CreatBird( )  //建立小鸟的坐标(初始打印输出小鸟的位置)

{Bird->x = 41; Bird->y = 10;}

int CheckYN(Bg q)  //判断游戏结束与否(值为0是要结束,为1没有要结束)

{Bg p = q; int i = 0;

while (++i <= 5)

{if (Bird->y>23)return 0;

if (Bird->x == p->x&&Bird->y <= p->y)return 0;

if ((Bird->x == p->x || Bird->x == p->x + 1 || Bird->x == p->x + 2) && Bird->y == p->y)return 0;

if (Bird->x == p->x&&Bird->y>p->y + p->l_blank)return 0;

if ((Bird->x == p->x || Bird->x == p->x + 1 || Bird->x == p->x + 2) && Bird->y == p->y + p->l_blank)

return 0;

p = p->next;

}

return 1;

}

void Check_Bg(Bg q)  //核查开头的障碍物坐标是否在游戏区内

{Bg p = q; int i = 0, temp;

while (++i <= 5)

{if (p->x>-4)p = p->next;

else

{srand((int)time(0));  temp = rand();

if (temp % 2 == 0)

{if ((temp % 4 + p->y + Max_blank - Grade)<21)p->y = p->y + temp % 4;

else p->y = p->y; p->x = p->pri->x + Distance;

p->l_blank = Max_blank - Grade;

}

else

{if ((p->y - temp % 4)>2)p->y = p->y - temp % 4;

else p->y = p->y; p->x = p->pri->x + Distance;

p->l_blank = Max_blank - Grade;

}

}

}

}

void Prt_Bg(Bg q)  //打印输出障碍物(依据其x、y坐标进行相应输出)

{Bg p = q; int i = 0, k, j;

while (++i <= 5)

{if (p->x>0 && p->x <= 78)

{for (k = 2; k<p->y; k++){Position(p->x + 1, k); printf("■"); printf("■"); printf(" ");}

Position(p->x, p->y);

printf("■"); printf("■"); printf("■"); printf(" ");

Position(p->x, p->y + p->l_blank);

printf("■"); printf("■"); printf("■"); printf(" ");

k = k + p->l_blank + 1;

for (k; k <= 23; k++){Position(p->x + 1, k); printf("■"); printf("■"); printf(" ");}

}

p = p->next;

if (p->x == 0)

{for (j = 2; j<p->y; j++){Position(p->x + 1, j); printf(" "); printf(" ");}

Position(p->x + 1, p->y);

printf(" "); printf(" "); printf(" ");

Position(p->x + 1, p->y + Max_blank - Grade);

printf(" "); printf(" "); printf(" ");

j = j + Max_blank - Grade + 1;

for (j; j <= 22; j++){Position(p->x + 1, j); printf(" "); printf(" ");}

}

}

}

void PrtBird( )  //打印输出小鸟

{Position(Bird->x, Bird->y - 1); printf(" ");

Position(Bird->x, Bird->y); printf("Ю");

Position(38, 2); printf("Score:%d", Score);

}

void Loop_Bg(Bg q)  //障碍物x坐标左移,并记录成绩

{Bg p = q; int i = 0;

while (++i <= 5)

{p->x = p->x - 1; p = p->next;

if (Bird->x == p->x)

{Score += 1;

if (Score % 4 == 0 && Grade<4)Grade++;

}

}

}

int main( )

{int i = 0; int t;

while (1)

{

Csh( );PrFK( );CreatBg( );

InsertBg(Bg1);InsertBg(Bg1);InsertBg(Bg1);

CreatBird( );

while (1)

{if (!CheckYN(Bg1))break;

Check_Bg(Bg1);Prt_Bg(Bg1);

PrtBird( );Loop_Bg(Bg1);

Bird->y = Bird->y + 1;

if (GetAsyncKeyState(VK_UP))  //按下了向上方向键

{Position(Bird->x, Bird->y - 1);printf(" ");

Bird->y = Bird->y - 4;

}

Sleep(200);  //程序延时200毫秒(数值大小决定游戏速度快慢)

i = 0;

}

Position(6, 25);

printf("游戏结束!  请输入:0退出  1重玩");

scanf("%d",&t);

if (t==0)break;

system("cls"); Score = 0;

}

return 0;

}

以Excel为例:

工具/原料:Excel。华硕A456U,win10系统。

1、首先在单元格里输入这一串神秘函数。

2、然后再写一个值的范围,点击回车,摁住f9。

3、暂停的数字就是你的最佳结婚年龄。

制作小游戏的注意事项:

为玩家创造更多的有机体验。确保玩家无法看穿你意图创建的体验,确保他们沉迷于游戏之中,以至于看不到框架的运作方式。

当你穿游戏中的世界时,感觉无比广阔,游戏界面不会d出“您已偏离路线”之类的提示。似乎无需刻意地尝试就能去到你需要去的地方。温和的引导和路标使得游戏体验成为一种乐趣。在关卡设计中,真正精湛的结构会对成功起到很大的作用,并且有助于保持沉浸感。

多数玩家玩游戏的原因都是希望能够逃到一个新的世界,并在那里玩儿得开心。这个世界需要感觉真实才能让玩家保持沉浸感。如果玩家看到一群敌人在任意的触发条件下凭空产生,他们就会跳出这个世界。

小红书的小游戏程序如何进入

方法/步骤

1首先打开小红书APP。

2在d出的页面,点击展开标签图标。

3在d出的页面,接着点击游戏。

4现在是各类娱乐游戏页面。

5最后点击封面进入即可。

微信小游戏排行榜前十名:

1、《成语小秀才》

《成语小秀才》是一款由非常火爆的微信小程序游戏成语升官记改名而来的,游戏玩法简单,里面聚集了海量成语大全,关卡难度会不断的增加,需要将屏幕下方的字填进空格中,成为四字成语,达到一定目标即可升官发财。

2、《动物餐厅》

微信小程序《动物餐厅》是一款萌系超治愈的模拟经营微信小游戏,玩家要在森林里开一家专门为动物做饭的餐厅,以猫咪为主,可以帮助猫咪收集小鱼干。画风温暖又治愈,玩法比较佛系,既休闲又有成就感。

3、《q火工厂》

小程序《q火工厂》可以算是一款第一人称竞技射击游戏,虽然玩法简单但还是有莫名的爽感。这是一款集合成、闯关、解压于一身的小程序,游戏在前期通过合成来升级获取更高级的q支,当q支合成解锁到一定等级后真正的乐趣才算开启。

4、《欢乐斗地主》

欢乐斗地主小程序是一款打开就能和好友斗地主的微信小程序游戏,一秒打开快速匹配开始游戏,玩法多,功能全。欢乐斗地主小程序残局玩法模式及不洗牌玩法模式等各种刺激新颖玩法,吸引了大量用户,使其能常年霸占微信小程序游戏排行榜前十中,位居最好玩游戏小程序之一。

5、《消灭病毒》

《消灭病毒》是一款有趣的休闲类躲避射击游戏,需要驾驶飞船与敌人作战,还可以自由切换使用不同的武器、并且升级这些武器和提高日常收益,来击败各种能力的病毒。

6、《水上冲冲冲》

《水上冲冲冲》是一款休闲类游戏趣味休闲类游戏,玩家将在游戏里面控制着角色在水上乐园上进行跑酷,玩家需要把握好节奏,快速的到达终点,在游戏中途遇到障碍物不要慌张,只需要调整好走位就能够安全躲过去。

7、《快来划水》

《快来划水》是一款在微信上面比较火爆的休闲水上乐园竞速小游戏,简约的游戏画面设计,丰富多样的对战模式,有单机玩法,也可以和朋友们一起组队冒险。

8、《海盗来了》

微信游戏小程序《海盗来了》,是由“头脑王者”团队打造的一款休闲娱乐策略模拟类游戏,其以海盗为游戏题材,创新了社交新玩法。

9、《爱江山更爱美人》

《爱江山更爱美人》是一款剧情式换装养成游戏,只要根据剧情提示完成任务委托,就可以获得美丽服饰。

10、《成语打江山》

成语打江山是一款魔性十足的成语答题趣味挑战类微信小游戏,只要有惊人的成语储备量,答题真一点都不难。

以上就是关于小游戏C语言程序全部的内容,包括:小游戏C语言程序、如何制作小游戏程序、小红书的小游戏程序如何进入等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9269073.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存