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;
}
看我主页简介免费C++学习资源,视频教程、职业规划、面试详解、学习路线、开发工具
每晚8点直播讲解C++编程技术。
网友评论