| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 505 人关注过本帖
标题:第一个摔子游戏有个问题
取消只看楼主 加入收藏
★红狼
Rank: 2
等 级:论坛游民
帖 子:190
专家分:17
注 册:2006-7-12
结帖率:100%
收藏
 问题点数:0 回复次数:1 
第一个摔子游戏有个问题

有点问题:就是结果2次调用随机函数的值都一样。
就是说。第一次2。那么第二个也是2。为什么不是其他的呢?
#include <iostream.h>
#include <stdlib.h>
#include <ctime>

char shuru(void)
{
char dx;
cout<<"请输入‘d或D’就是‘大’;输入‘x或X’就是‘小’\n";
cin>>dx;
if (dx!='d'&&dx!='D'&&dx!='x'&&dx!='X')
while(1)
{
cout<<"输入有误!只能‘d’‘D’‘x’‘X’\n";
cout<<"重新输入:";
cin>>dx;
if (dx=='d'&&dx=='D'&&dx=='x'&&dx=='X') break;
}
return dx;
}
int shuzi(void)
{
int i;
int sum=0;
srand((unsigned)time(0));
for(i=0;i<rand()%50;i++)
sum+=i+789;
srand(sum);
return rand()%5+1;

}
void shu_ying(int sum,char dx)
{
if(dx=='d'||dx=='D')
{
if(sum>6) cout<<"你赢了!恭喜你!\n";
else cout<<"你输了!不要气悔!\n";
}
else if(dx=='x'||dx=='X')
{
if(sum<6) cout<<"你赢了!恭喜你!\n";
else cout<<"你输了!不要气悔!\n";
}
else cout<<"你输了!不要气悔!\n";
}
void main()
{
int tou1,tou2;
int sum=0;
char dx,yn;
int sf;
cout<<"****************"<<"骰子游戏"<<"****************"<<"\n\n";
cout<<"游戏规则如下:\n";
cout<<"1. 有2次机会投;\n";
cout<<"2. 开始选‘大’或‘小’;\n";
cout<<"3. 如果选‘大’那么大于6点赢;\n";
cout<<"4. 如果选‘小’那么小于6点赢;\n";
cout<<"5. 如果是其他结果那么就是你输了!\n\n";
cout<<"那么现在开始了!\n";

do{
dx=shuru();
tou1=shuzi();
cout<<"第一个数为:"<<tou1<<"\n";
tou2=shuzi();
cout<<"第二个数为:"<<tou2<<"\n";
sum=tou1+tou2;
cout<<"你的数字总数为: "<<sum<<"\n";
shu_ying(sum,dx);
cout<<"是否还要来一局!按'Y'就继续;按'N'结束!\n";
cin>>yn;
if(yn=='y'||yn=='Y') sf=1;
else sf=0;
}while(sf);

}

搜索更多相关主题的帖子: 游戏 
2006-10-08 14:32
★红狼
Rank: 2
等 级:论坛游民
帖 子:190
专家分:17
注 册:2006-7-12
收藏
得分:0 

哈。问题已经被我解决了。不过有不同的。一起来啊。
我的 解决方案 是 static int sum=0;

2006-10-08 14:52
快速回复:第一个摔子游戏有个问题
数据加载中...
 
   



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

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