最新猜骰子玩法源码分享+微信猜骰子源码下载

模拟算法是用随机函数来模拟自然界中发生的不可预测的情况,C语言中是用srand()和rand()函数来生成随机数。

先来介绍一下随机数的生成:

1.产生不定范围的随机数

   函数原型:int rand()

 产生一个介于0~RAD_MAX间的整数,其具体值与系统有关系。Linux下为2147483647。我们可以在include文件夹中的stdlib.h中可以看到(Linux在usr目录下,Windows在安装目录下)

 

 1 #include
 2 #include
 3 int main()
 4 {
 5         int i;
 6         for(i=0; i<10; i++)  //随机产生10个数。
 7         {
 8             printf("%d\n", rand());
 9         }
10         return 0;
11 }

 

2.产生指定范围的随机数(产生0到某个数的随机数)

Radom(x)(rand()%x)  [0,x)

 

#include
#include
#define Random(x) (rand() % x) //通过取余取得指定范围的随机数
int main()
{
        int i;
        int dis;               //产生[0, dis)之间的随机数,注意不包括dis
        for(i=0; i<10; i++)
        {    
            printf("%d\n", Random(dis));
        }
        return 0;
}

3.生成指定范围的随机数
  要求:指定范围(m,n),随机数包括m,n;

  方法:将范围(m,n)改变到(0,x)最后再转移回去。

  1)m=n。此时并不算严格意义上的随机数,返回m;

  2)m>n。令pos=n,距离差dis=m-n+1

      返回rand()%dis+pos;

  3)n>m。令pos=n,距离差dis=n-m+1

      返回rand()%dis+pos;

 1 #include
 2 #include
 3 #include 
 4 int Random(int m, int n)
 5 {
 6         int pos, dis;
 7         if(m == n)
 8         {
 9             return m;
10         }
11         else if(m > n)
12         {
13             pos = n;
14             dis = m - n + 1;
15             return rand() % dis + pos;
16         }
17         else
18         {
19             pos = m;
20             dis = n - m + 1;
21             return rand() % dis + pos;
22         }
23 }
24 int main()
25 {
26         int i, m, n;
27         srand((int)time(NULL));
28         m = -3;
29         n = -7;
30         for(i=0; i<10; i++)
31         {
32             printf("%d\n", Random(m, n));
33         }
34         return 0;
35 }

下面给出掷骰子游戏和猜数游戏的代码:

掷骰子游戏:

最新猜骰子玩法源码分享+微信猜骰子源码下载_第1张图片

最新猜骰子玩法源码分享+微信猜骰子源码下载:http://aqiulian.com/thread-204-1-4.html

你可能感兴趣的:(最新猜骰子玩法源码分享+微信猜骰子源码下载)