C语言 鼠标控制躲避小游戏

1.游戏规则大致和像素鸟一样,但是改成了鼠标控制上下移动

2.写代码用时:约3h

代码:

#include<stdio.h>

#include<windows.h>

#include<stdlib.h>

#include<time.h>

#defineK 10//宽 

#defineC 20//长

#defineI 7//角色位置

#defineD 7//障碍间隔

#defineL ((K-2)*7/8)//障碍最长值 

intmain(){

relife://重玩 

chara[K][C],game;

DWORD S,E;//系统运行时间

S=GetTickCount();

floatv=1;

intwo,random,d=D,start=0,score=1,speed;

POINT q={0,0};//和坐标有关的东西 

LPPOINT s=&q;//和坐标有关的东西 

for(inti=0;i

for(inti=0;i

srand((unsigned)time(0));

while(1) {

GetCursorPos(s);//获取鼠标位置 

wo=((float)(s->y-30))/36;//计算角色位置 

if(wo>K-2) wo=K-2;//鼠标越下界情况处理

if(wo<1) wo=1;//鼠标越上界情况处理

if(a[wo][I]=='*')break;

else{

goon://复活

a[wo][I]='O';

}

system("cls");

for(inti=0;i

for(intj=0;j

if(a[i][j]=='O')printf("");//角色

elseif(a[i][j]=='-'||a[i][j]=='*')printf("█");//边界和障碍

elseprintf("  ");

}

printf("\n");

}

start++;

if(start==7) {

printf("1.鼠标上下控制移动\n");

printf("2.一定要窗口最大化之后才能玩!窗口最大化!\n");

printf("3.按任意键开始游戏\n\n\n\n");

score=0;

system("pause");

}

a[wo][I]=' ';

for(inti=0;i

if(d==D) {

random=rand()%(2*L)-L;//生成随机障碍

if(random>K-2||random<(2-K)||(random<3&&random>-3)) random=3;

if(random>0)for(inti=1;random>0;random--,i++) a[i][C-1]='*';

elsefor(inti=K-2;random<0;random++,i--) a[i][C-1]='*';

d=0;

score++;

speed=1000/score;

}

elsefor(inti=1;i<=K-2;i++) a[i][C-1]=' ';

printf("得分:%d",score);

E=GetTickCount();

if(v<1000/((float)(E-S))&&start>=7) v=1000/((float)(E-S));

printf("    速度:%.3lf格/秒",v);

S=GetTickCount();

if(start>=7) Sleep(speed);

d++;

}

printf("\n游戏结束\n\n\n按Enter重玩");

scanf("%c",&game);

if(game=='\n')gotorelife;

if(game==' ')gotogoon;

}

效果图:

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券