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

NoFigure 2013-12-21 03:22:36
课程实践,我想做一个追心游戏。就是在
=========================
| 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 |
=========================
随机出现心形,然后玩家输入坐标,则成功一次,游戏重复十次。要求:用到指针,文件,结构体等;目前我遇到的问题是,怎样对玩家完成十次游戏进行计时,怎样把玩家的成绩保存到文件中。求高手帮助。
...全文
118 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
一起来玩玩呗 2013-12-22
  • 打赏
  • 举报
回复
接着楼上说了, 对于你的数据文件保存问题,你可以看下c 语言中IO 一章,无非就是打开或者创建一个文件,写入预先想好的数据格式,然后就可以对数据进行操作,最后取出也是一样的
看见繁华 2013-12-22
  • 打赏
  • 举报
回复
现做的,你可以 参考一下,我这里用*当图形了。 #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; }
熊熊大叔 2013-12-21
  • 打赏
  • 举报
回复
你应该去查C语言的编程手册, 或者手头放一本C语言标准. 以时间为例, 可以用下面函数获取当前时间 #include <time.h> time_t time(time_t *timer); 然后通过函数 double difftime(time_t time1, time_t time0); 获取两个时间之间的间隔(单位为秒) 这是标准C提供的, 更高精度的时间需要根据你使用的系统来决定.
NoFigure 2013-12-21
  • 打赏
  • 举报
回复
额,别沉啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧