none
有没有什么简单的实现固定概率的方法啊? RRS feed

  • 问题

  • 比如说游戏的精炼系统,我想让装备+1成功的概率为80%;+2是70%这样自定义概率,不知道有什么简单的方法。。
    2009年11月2日 12:39

答案

  • 没有关系啊!我也是从初学者一步一步走过来的,自己学习的确会遇到很多问题的,我理解的!
    这是我的邮箱:
    xuefeng1982#live.cn
    周雪峰
    • 已标记为答案 limljh 2009年11月7日 14:34
    2009年11月7日 9:45
    版主

全部回复

  • 你好!
         可以利用Random类来实现,生成1--100之间的随机数,如果生成的随机数是1-80,装备+1!
    周雪峰
    2009年11月2日 16:28
    版主
  • 你好!
         可以利用Random类来实现,生成1--100之间的随机数,如果生成的随机数是1-80,装备+1!
    周雪峰

    版主说的很对!我顶
    2009年11月3日 0:03
  • .。。我也是这么想的,不过好像是不是得挂起线程啊,产生随机数的时候会重复很多。
    2009年11月3日 4:48
  • 这和线程没有直接关系的啊!
    知识改变命运,奋斗成就人生!
    2009年11月3日 5:54
    版主
  • .。。我也是这么想的,不过好像是不是得挂起线程啊,产生随机数的时候会重复很多。
    不用生成N个随机数,当玩家操作的时候,只要生成一个随机数就可以了,如果这个数在1-80之间,直接装备+1!这样已经体现了概率是80%这个事实了!

    周雪峰
    2009年11月3日 9:41
    版主
  • 我是说,Random的时候,会出现很多重复的,比如出现1的时候会有10来个连续的1.以前控制台的时候输出来的时候看到过,然后用threader好像是这个把,让他慢一点就不会重复了。

    2009年11月4日 0:07
  • 既然是随机数,当然有重复了啊!
    比较你这次生成的是1,算这80%中,下次在生成1,还是算80%中的,重复不影响概率,不用生成不重复的随机数!
    周雪峰
    2009年11月4日 1:51
    版主
  • 关键是重复的都是有规律的,一重复就有二三十个相同的。
    1
    1
    1
    1
    2
    2
    2
    2
    3
    3
    3
    3这样的重复

    。你在控制台输出就能看到,以前我在课堂上做的时候看到的
    2009年11月4日 9:31
  • 你好!
         我测试了一下,并没有发现你说的现象,这是我的测试代码:
            static void Main(string[] args)
            {


                Random r = new Random();
                int a = 0;
                for (int i = 0; i < 101; i++)
                {
                    a= r.Next(1, 101);
                    Console.WriteLine(a);
                }


            }
    周雪峰
    2009年11月4日 10:30
    版主
  • ...那也许是我代码有问题。上个学期的作业。代码也没了,不然还可以让你帮我纠正下的。哎。 哦,对了,那个比如放在QQ头像上,弹出来的那个框框怎么做,我还是没想明白。
    2009年11月5日 4:29
  • 我不使用Qq啊!不知道你说的是怎样的效果啊!
    周雪峰
    2009年11月5日 5:36
    版主
  • 连续出现这样的情况应该是你的代码有问题。
    知识改变命运,奋斗成就人生!
    2009年11月5日 8:08
    版主
  • 。。现在还有没用过QQ的啊。,可惜我不晓得这里能不能发图
    哦。图片放我空间去了http://4190.xxdd.net/444.jpg

    2009年11月5日 10:34
  • 十分抱歉,我的确没有使用过QQ啊!
    这个可以使用MouseEnter事件,在事件处理程序中弹出窗体就可以了!
    周雪峰
    2009年11月5日 11:15
    版主
  • 嘿嘿,没事。
    很多高人是不屑使用QQ滴。
    是不是使用MouseEnter后ShowDislog啊?

    2009年11月6日 0:00
  • 对,但这里使用的是 Form.Show
    知识改变命运,奋斗成就人生!
    2009年11月6日 1:04
    版主
  • 嘿嘿,没事。
    很多高人是不屑使用QQ滴。
    是不是使用MouseEnter后ShowDislog啊?

    使用Show方法就可以了,把窗体的边框样式设置成None!

    周雪峰
    2009年11月6日 5:30
    版主
  • ..书上有mdi;
    是不是可以把show方法放到mouseenter事件里啊
    但好像不能出那个主框框。
    2009年11月6日 10:19
  • 请提供你的源代码可以吗?我看看你具体是怎样做的!
    周雪峰
    2009年11月6日 10:35
    版主
  • ..要不我发你邮箱吧,都不好意思放这。留个邮箱啊,还有很多问题呢。
    2009年11月7日 2:58
  • 没有关系啊!我也是从初学者一步一步走过来的,自己学习的确会遇到很多问题的,我理解的!
    这是我的邮箱:
    xuefeng1982#live.cn
    周雪峰
    • 已标记为答案 limljh 2009年11月7日 14:34
    2009年11月7日 9:45
    版主