首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

求好手帮忙(C语言的一个小游戏)

2013-12-29 
求高手帮忙(C语言的一个小游戏)课程实践,我想做一个追心游戏。就是在| x | x | x

求高手帮忙(C语言的一个小游戏)
课程实践,我想做一个追心游戏。就是在
=========================
| x | x | x | x | x | x |
=========================
| x | x | x | x | x | x |
=========================
| x | x | x | x | x | x |
=========================
| x | x | x | x | x | x |
=========================
| x | x | x | x | x | x |
=========================
| x | x | x | x | x | x |
=========================
随机出现心形,然后玩家输入坐标,则成功一次,游戏重复十次。要求:用到指针,文件,结构体等;目前我遇到的问题是,怎样对玩家完成十次游戏进行计时,怎样把玩家的成绩保存到文件中。求高手帮助。
[解决办法]
你应该去查C语言的编程手册, 或者手头放一本C语言标准.

以时间为例, 可以用下面函数获取当前时间
#include <time.h>
time_t time(time_t *timer);
然后通过函数
double difftime(time_t time1, time_t time0);
获取两个时间之间的间隔(单位为秒)
这是标准C提供的, 更高精度的时间需要根据你使用的系统来决定.
[解决办法]
接着楼上说了,
对于你的数据文件保存问题,你可以看下c 语言中IO 一章,无非就是打开或者创建一个文件,写入预先想好的数据格式,然后就可以对数据进行操作,最后取出也是一样的
[解决办法]
现做的,你可以 参考一下,我这里用*当图形了。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

char str[6][6];
void game(void) {
int i,j,k,x,y,n,cout;
time_t start,end;
FILE *fp=NULL;
float timme=0;
int a1,a2;
char buf[50]={};
n = 0;
cout = 0;
start=time(NULL);
while(n<10) {
memset(str,'o',36);
srand(time(NULL));
a1 = rand()%6;
a2 = rand()%6;
str[a1][a2] = '*';
puts("=======================");
for(i = 0;i < 6;i++){
for(j = 0;j < 6;j++) {
printf("
[解决办法]
%c
[解决办法]
 ",str[i][j]);
}
puts("");
}
scanf("%d %d",&x, &y);
getchar();
if(x== (a1+1)&&y ==(a2+1)) 
cout++;
n++;
}
puts("=======================");
end=time(NULL);
timme=difftime(end,start);
fp = fopen("log.t","a");
if(fp == NULL)
perror("open log.t failed\n");
sprintf(buf,"成绩 :%d  时间 :%f(s) \n",cout,timme);
fputs(buf,fp);
fclose(fp);
}
int main(int argc,char *argv[])
{
game();
return 0;
}

热点排行