求一C++文字类小游戏源代码

我上课听得懂,但拿到题目却不知从何下手,没有思路唉。过完年需要交的课程项目,请会的高手帮个忙,谢谢了。可以发我邮箱,非常感谢~~~~!360948859@qq.com对了... 我上课听得懂,但拿到题目却不知从何下手,没有思路唉。
过完年需要交的课程项目,请会的高手帮个忙,谢谢了。
可以发我邮箱,非常感谢~~~~!
360948859@qq.com
对了,我现在还没学到模板,但老师讲可用STL写,请各高手帮帮忙,感激不尽~!
展开
 我来答
匿名用户
2009-01-20
展开全部
  给你一个作为参考吧,简单了一点,
  可以在此基础上再发挥和作修改:

  #include<conio.h>
  #include<stdio.h>

  #include<windows.h>
  #include<stdlib.h>
  #include<time.h>

  /*************************** 定义换行函数 *********************************/
  change_line(int k)
  { int i;
  for(i=0;i<k;i++)
  {
  printf("\n");
  }
  }
  /**************************** 打印空格函数 ********************************/
  space(int k)
  { int i;
  for(i=0;i<k;i++)
  {
  printf(" ");
  }
  }
  /************************** 延时函数 ************************************/
  delay_x(int k)
  {
  int i;
  for(i=0;i<k;i++)
  {
  Sleep(50);
  }
  }
  /******************* 让光标居中(偏左)函数 ************************/
  center()
  {
  system("cls");
  change_line(20);
  space(25);
  }

  main()
  {
  int i;
  int line=0,col=0,num=0;
  int score=0,times=1;
  char one[26];
  char c;

  srand(time(0));

  for(i=0,c='a';i<26;i++,c++) /* 把a~z赋给数组 */
  {
  one[i]=c;
  }
  center();
  printf("press anykey to start");
  getch();

  while(1)
  { system("cls");
  printf("times:%d ",times); /* 打印关数 */
  printf(" score: %d",score); /* 打印分数 */
  printf(" 1----Pause,0----exit");
  printf("\n");
  printf("________________________________________________________________________");
  printf("\n");

  line=0;

  col=rand()%60+1;

  num=rand()%26;

  while(1) /* 开始下落 */
  {
  space(col);
  printf("%c",one[num]); /* 打印出字母 */
  delay_x(10-times);
  printf("\b \n");
  line++;

  if(line>45)
  {
  score-=10;
  break;
  }
  if(score<0)
  {
  center();
  printf("sorry,you faile!");
  getch();
  exit(0);
  }

  if(kbhit()) /* 如果有键按下 */
  {
  c=getch(); /* 接收输入的字符 */
  if(c==one[num])
  {

  score+=10;
  break;
  }
  switch(c)
  {
  case '0': exit(0);
  case '1': getch();
  default : ;
  }
  }
  }

  if(score>=100*times) /* 一关完毕 */
  {
  times++;
  center();
  if(times>9)
  {
  printf("congratulation,you win!");
  }
  printf("If you go to the %dy/n)",times);
  if((getch())=='n')
  {
  center();
  printf("I am sorry for you give up!");
  getch();
  break;
  }
  }
  }
  }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式