| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2103 人关注过本帖, 1 人收藏
标题:C语言简单射击游戏问题- - 为什么随机不起作用
只看楼主 加入收藏
TakeRecover
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-12-18
结帖率:0
收藏(1)
已结贴  问题点数:10 回复次数:13 
C语言简单射击游戏问题- - 为什么随机不起作用
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()
{
int i,j,t,time;
long int k;
int n=1+rand()%200;
printf("*****************Welcome*****************");
printf("\nGame Begin:\n");
for(i=0;i<n;i++)
   printf(" ");
   printf("%c\n",'\1');
for(time=0;time<5;time++)
{
   scanf("%d",&t);
for(j=25;j>0;j--)
{
   system("cls");
   for(i=0;i<80;i++)
   {
    if(i==n) printf("%c",'\1');
    else printf(" ");
   }
   for(i=1;i<j;i++)
    printf("\n");
    for(k=0;k<80;k++)
    {
     if(k==t) printf("*");
     else printf(" ");
    }
   for(k=0;k<100000;k++);
}
if(t==n)
{
   printf("O(∩_∩)O  !!!!Your Winner!!!!!  O(∩_∩)O\n");
   break;
}
if(time==4)
printf("╮(╯▽╰)╭You Lose╮(╯▽╰)╭\n");
}
}
 
 
  程序原题:在程序运行时屏幕上方第一行随机出现一个    符号,要求游戏者输入一个1-200之间的整数,当用户输入一个整数后,一个*立即从屏幕底端的该整数列向上移动,若移动到屏幕的顶端能撞上    符号,则游戏者获胜;若没有撞上,则要求再输入一个整数,共允许输入5次,如果一直没有撞上,则认为游戏者输。
           提示:
             1)输入    符号可以采用printf("%c",'\1')
               2)显示*号向上移动:输出一些空行;输出*号;以循环的方式增加延时(for(i=0;i<100000;i++););clrscr()清屏重新绘制*号。
 

  我上面那个程序虽然可以玩  但是不知道为什么第一个笑脸出现的位置总是42    求问达人如何是好............
搜索更多相关主题的帖子: cls 射击游戏 Welcome include system 
2012-01-01 13:42
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:1 
time(0)

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2012-01-01 13:55
TakeRecover
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-12-18
收藏
得分:0 
回复 2楼 vandychan
time(0)?
  什么意思
2012-01-01 13:58
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
百度 搜索关键字: C 随机 TIME()

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2012-01-01 14:07
TakeRecover
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-12-18
收藏
得分:0 
srand((int)time(0));   貌似填上这个语句就无法运行了- -
   不懂为什么0.0
2012-01-01 14:39
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
绝对可以的额

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2012-01-01 15:03
liwill888
Rank: 1
等 级:新手上路
帖 子:3
专家分:8
注 册:2009-7-8
收藏
得分:1 
我是初学者,呵呵看我说的对不对。你在前面加上srand((int)time(0));   因为这里的time函数或后面的time变量名相同,编译就不能了,你把后面变量名改一下应该就好用了。还有谢谢你的游戏code,我正在学习中。有空交流交流。
2012-01-02 08:41
ncnmnb
Rank: 2
等 级:论坛游民
帖 子:21
专家分:13
注 册:2011-11-26
收藏
得分:1 
运行成功、
2012-01-02 09:27
danjiuruge
Rank: 1
等 级:新手上路
帖 子:1
专家分:1
注 册:2012-1-2
收藏
得分:1 
回复 楼主 TakeRecover
for(i=0;i<n;i++)
{  
   n=1+rand()%200;
   printf(" ");
}

//在for循环之间在加上n=1+rand()%200;就可以了.
2012-01-02 19:12
chenyuncai
Rank: 2
等 级:论坛游民
帖 子:27
专家分:50
注 册:2011-11-9
收藏
得分:1 
好玩哦
2012-01-02 19:54
快速回复:C语言简单射击游戏问题- - 为什么随机不起作用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016962 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved