c语言编程打仓鼠
功能:每隔三秒会在游戏区随机位置刷出一只仓鼠。用鼠标点击仓鼠,无论点击与否,仓鼠都会立即刷新。
点击仓鼠,根据你的要求打分。如果你失败了,记录失败的次数。如果你失败三次,游戏结束,游戏显示!
#包含?& ltstdio.h & gt
#包含?& ltstdlib.h & gt
#包含?& ltwindows.h & gt
#包含?& ltconio.h & gt
#包含?& lttime.h & gt
#包含?& ltstring.h & gt
#包含?& ltmalloc.h & gt
#定义?格西泽克?30//区域尺寸宽度
#定义?gSizeg?20//面积大小和高度
#定义?gBegin?3//活动区域的起始行
int?主()
{
int?t=0,s0,s1,I,j,count=0,fen=0,row=0,clo = 0;
夏尔?gameA[gSizeg][gSizek+1],fSave[10]= { 0 };
SetConsoleTitle(“重击仓鼠”);
手柄?hInput?=?GetStdHandle(STD _ INPUT _ HANDLE);?//?获取标准输入设备句柄。
输入_记录?inRec
DWORD?res
坐标?P0;
p0。x = 0;
p0。y = 0;
srand(time(0));
s0=?时间(空);
strcpy(gameA[0],"游戏");
Strcpy(gameA[1],"失误:0,得分:000000 ");
for(I = GB egin-1;我& ltgSizegi++)
{
for(j = 0;j & ltgSizek+1;j++)
{
如果(i & gtgBegin-1?& amp& amp?我& ltgSizeg-1?& amp& amp?j & gt0?& amp& amp?j & ltgSizek-1)
gameA[i][j]= '?';
其他
gameA[I][j]= 4;
if(j==gSizek)
gameA[I][j]= 0;
}
}
for(I = 0;我& ltgSizegi++)
printf("%s\n ",gameA[I]);
什么时候?(1)
{
if(t & gt;=3)
{
if(row & gt;0?& amp& amp?clo & gt0)
gameA[row][clo]= '?';
row = rand()%(gSizeg-1);
clo = rand()%(GSI zek-1);
s0=?时间(空);
SetConsoleCursorPosition(GetStdHandle(STD _ OUTPUT _ HANDLE),P0);
if(row & lt;3)
row = 4;
if(clo & lt;1)
clo = 1;
gameA[row][clo]= 2;
for(I = 0;我& ltgSizegi++)
{
//gameA[I][gSizeg+1]= 0;
printf("%s\n ",gameA[I]);
}
}
if(count==3)
{
p0。x = 10;
p0。y = 8;
SetConsoleCursorPosition(GetStdHandle(STD _ OUTPUT _ HANDLE),P0);
printf("游戏?完了!”);
打破;
}
s1=?时间(空);
t = s 1-s0;
ReadConsoleInput(hInput,& ampinRec,?1,?& ampRES);
如果?(inRec。EventType?==?鼠标_事件?& amp& amp?inRec。Event.MouseEvent.dwButtonState?==?FROM _ LEFT _ 1ST _ BUTTON _ PRESSED)?//鼠标左键
{
如果(inRec。event . mouse event . dw mouse position . x = = clo?& amp& amp?inRec。event . mouse event . dw mouse position . y = = row)
{
if(fen==0)
fen = 1;
if(fen & gt;999999)
fen = 999999
其他
fen = fen * 2;
sprintf(fSave,“%06d”,fen);
gameA[1][18]= 0;
strcat(gameA[1],fSave);
}
其他
{
count++;
fen = 0;
gameA[1][11]= count+' 0 ';
}
t = 4;
}
}
while(1);
回归?0;
}