c语言打地鼠
『壹』 c语言怎么学啊!!!!
C语言是个很复杂的东西,给你个引导,你要把条件语句,循环语句还有那些数组学好,这些学好了,你要试着做一些小程序,比如说打地鼠,计算器,记事本什么的,来巩固你的知识点。之后你要把方法,对象,封装,面向对象这些思想和方法搞懂,之后多加练习多动手摸索因为这些思想很重要,在以后的编程里会显得尤为重要,
『贰』 C语言编程打地鼠
刚写好的,打地鼠小游戏。
功能:每三秒,会在游戏区域随机位置刷出地鼠,鼠标点击地鼠,无论点中与否,地鼠都会立即刷新。
点中地鼠按你要求计分,点不中记录失败次数,3次失败,游戏结束,显示GAME OVER!
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
#include<time.h>
#include<string.h>
#include<malloc.h>
#definegSizek30//区域大小宽度
#definegSizeg20//区域大小高度
#definegBegin3//活动区域起始行
intmain()
{
intt=0,s0,s1,i,j,count=0,fen=0,row=0,clo=0;
chargameA[gSizeg][gSizek+1],fSave[10]={0};
SetConsoleTitle("打地鼠");
HANDLEhInput=GetStdHandle(STD_INPUT_HANDLE);//获取标准输入设备句柄
INPUT_RECORDinRec;
DWORDres;
COORDp0;
p0.X=0;
p0.Y=0;
srand(time(0));
s0=time(NULL);
strcpy(gameA[0],"GAME");
strcpy(gameA[1],"未命中次数:0,计分:000000");
for(i=gBegin-1;i<gSizeg;i++)
{
for(j=0;j<gSizek+1;j++)
{
if(i>gBegin-1&&i<gSizeg-1&&j>0&&j<gSizek-1)
gameA[i][j]='';
else
gameA[i][j]=4;
if(j==gSizek)
gameA[i][j]=0;
}
}
for(i=0;i<gSizeg;i++)
printf("%s
",gameA[i]);
while(1)
{
if(t>=3)
{
if(row>0&&clo>0)
gameA[row][clo]='';
row=rand()%(gSizeg-1);
clo=rand()%(gSizek-1);
s0=time(NULL);
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),p0);
if(row<3)
row=4;
if(clo<1)
clo=1;
gameA[row][clo]=2;
for(i=0;i<gSizeg;i++)
{
//gameA[i][gSizeg+1]=0;
printf("%s
",gameA[i]);
}
}
if(count==3)
{
p0.X=10;
p0.Y=8;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),p0);
printf("GAMEOVER!");
break;
}
s1=time(NULL);
t=s1-s0;
ReadConsoleInput(hInput,&inRec,1,&res);
if(inRec.EventType==MOUSE_EVENT&&inRec.Event.MouseEvent.dwButtonState==FROM_LEFT_1ST_BUTTON_PRESSED)//鼠标左键
{
if(inRec.Event.MouseEvent.dwMousePosition.X==clo&&inRec.Event.MouseEvent.dwMousePosition.Y==row)
{
if(fen==0)
fen=1;
if(fen>999999)
fen=999999;
else
fen=fen*2;
sprintf(fSave,"%06d",fen);
gameA[1][18]=0;
strcat(gameA[1],fSave);
}
else
{
count++;
fen=0;
gameA[1][11]=count+'0';
}
t=4;
}
}
while(1);
return0;
}
『叁』 谁帮我用stc89c52单片机做一个类似打地鼠的游戏
文件可以发到邮箱里 [email protected]
『肆』 c语言中怎么写打地鼠的游戏
在一个二维数组中,存放标记。
设置难度:分:
一次只显示一个
一次只显示二专个
一次只显示三个
对应产属生2*N个随机数,对应(x,y),设置为1,其它空的设置为0.
大概的游戏流程循环:
结束条件: 打到M个停止。
1,产生随机数,且不相同
2,在对应的坐标中,画出地鼠,
在N秒内,没有击中,地鼠消失;击中,加分。
(击中的坐标,要与用户点的坐标想比较即可,在这个范围就得分)
『伍』 用C语言实现GPIO控制LED模拟打地鼠游戏
在一个二维数组中,存放标记。
设置难度:分:
一次只显专示一个
一次只显示二个
一次只显示三个
对应产生2*N个随机数,对属应(x,y),设置为1,其它空的设置为0.
大概的游戏流程循环:
结束条件: 打到M个停止。
1,产生随机数,且不相同
2,在对应的坐标中,画出地鼠,
在N秒内,没有击中,地鼠消失;击中,加分。
(击中的坐标,要与用户点的坐标想比较即可,在这个范围就得分)
『陆』 C语言鼠标操作
我之前给别人写过一个打地鼠的小游戏,就是用鼠标操作的。发给你参考下。代码很简单。
主要函数我在下方说明了,但更多信息你必须自己网络看,一言两语说不完。
SetConsoleCursorPosition函数可以定位光标位置,也就是文字内容显示的起点。
ReadConsoleInput(HANDLE hConsoleInput,*INPUT_RECORD lpBuffer,DWORD nLength,
DWORD lpNumberOfEventsRead)函数可以获取鼠标的操作信息。
调用过上面函数后,lpBuffer由于是传址,所以其地址里的值就包含了鼠标信息。
lpBuffer.EventType == MOUSE_EVENT //判断是鼠标事件
lpBuffer.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED//判断是鼠标左键点击
两个判断一起就是鼠标左键点击的判断,其他事件参数你可以自己网上找。
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
#include<time.h>
#include<string.h>
#include<malloc.h>
#definegSizek30//区域大小宽度
#definegSizeg20//区域大小高度
#definegBegin3//活动区域起始行
intmain()
{
intt=0,s0,s1,i,j,count=0,fen=0,row=0,clo=0;
chargameA[gSizeg][gSizek+1],fSave[10]={0};
SetConsoleTitle("打地鼠");
HANDLEhInput=GetStdHandle(STD_INPUT_HANDLE);//获取标准输入设备句柄
INPUT_RECORDinRec;
DWORDres;
COORDp0;
p0.X=0;
p0.Y=0;
srand(time(0));
s0=time(NULL);
strcpy(gameA[0],"GAME");
strcpy(gameA[1],"未命中次数:0,计分:000000");
for(i=gBegin-1;i<gSizeg;i++)
{
for(j=0;j<gSizek+1;j++)
{
if(i>gBegin-1&&i<gSizeg-1&&j>0&&j<gSizek-1)
gameA[i][j]='';
else
gameA[i][j]=4;
if(j==gSizek)
gameA[i][j]=0;
}
}
for(i=0;i<gSizeg;i++)
printf("%s ",gameA[i]);
while(1)
{
if(t>=3)
{
if(row>0&&clo>0)
gameA[row][clo]='';
row=rand()%(gSizeg-1);
clo=rand()%(gSizek-1);
s0=time(NULL);
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),p0);
if(row<3)
row=4;
if(clo<1)
clo=1;
gameA[row][clo]=2;
for(i=0;i<gSizeg;i++)
{
//gameA[i][gSizeg+1]=0;
printf("%s ",gameA[i]);
}
}
if(count==3)
{
p0.X=10;
p0.Y=8;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),p0);
printf("GAMEOVER!");
break;
}
s1=time(NULL);
t=s1-s0;
ReadConsoleInput(hInput,&inRec,1,&res);
if(inRec.EventType==MOUSE_EVENT&&inRec.Event.MouseEvent.dwButtonState==FROM_LEFT_1ST_BUTTON_PRESSED)//鼠标左键
{
if(inRec.Event.MouseEvent.dwMousePosition.X==clo&&inRec.Event.MouseEvent.dwMousePosition.Y==row)
{
if(fen==0)
fen=1;
if(fen>999999)
fen=999999;
else
fen=fen*2;
sprintf(fSave,"%06d",fen);
gameA[1][18]=0;
strcat(gameA[1],fSave);
}
else
{
count++;
fen=0;
gameA[1][11]=count+'0';
}
t=4;
}
}
while(1);
return0;
}
『柒』 新人求教,C语言打地鼠
在一个二维数组中,存放标记。
设置难度:分:
一次只显示一个
一次只显示二个
一次只显示三个
对应产生2*N个随机数,对应(x,y),设置为1,其它空的设置为0.
大概的游戏流程循环:
结束条件: 打到M个停止。
1,产生随机数,且不相同
2,在对应的坐标中,画出地鼠,
在N秒内,没有击中,地鼠消失;击中,加分。
(击中的坐标,要与用户点的坐标想比较即可,在这个范围就得分)
『捌』 C语言打地鼠代码
有PC的程序,参考文库
http://wenku..com/link?url=6qDEbeVBoq6vCZDM8qQ_DBNvGKg3NqrPoghEm_sPLhwJ3T72Q_sjxDZuU3D2mfS6Kr-
如果在嵌入式开发平台上实现这个,输入要用触摸屏最好,版建议你做个俄罗斯权方块的,这个只需要按键就能实现 了。
『玖』 单片机 C语言 随机数
%是获得四位的随机数,/1000是将最高位的那个数+0x30
lcd里面显示的是字符,你直接得到的是一个整型的加上0x30就是字符了……
『拾』 一个关于C语言的问题= =! 该怎样才能让他成功像游戏那样‘动起来’
while(1)循环末尾用getchar()获取输入,然后根据输入调整图形状态。