游戏开发论坛

 找回密码
 立即注册
搜索
123
返回列表 发新帖
楼主: hyminlee

[讨论] 求答案!

[复制链接]

0

主题

19

帖子

25

积分

注册会员

Rank: 2

积分
25
发表于 2011-5-28 09:53:00 | 显示全部楼层

Re:求答案!

那答案是多少,谁来做下啊~

0

主题

7

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2011-6-2 20:33:00 | 显示全部楼层

Re:求答案!

我怎么用vba模拟出来就等于20了,这是什么状况,难道是excel抽掉了...有谁可以给我看看我的这段代码有问题?
Public Sub 模拟()
    Dim a As Integer
    Dim b As Integer
    Dim i As Integer
    Dim c As Integer
    Dim d As Integer
   
    d = 0 '等会用来计算平均次数
    For i = 1 To 1000
    b = 0 '计算伤害
    c = 0 '计数器
    Do
        a = Rnd()
        If a > 0.75 Then
        b = b + 0
        Else
        b = b + 1
        End If
        
        c = c + 1
    Loop While b < 10
   
    Worksheets("Sheet3").Cells(i, 1) = c '可以把每次数据输出到excel中
    d = d + c '把每次循环中所需要的战斗次数累积起来
   
    Next i
     
    d = d / 1000 '计算每次战斗所需要的次数
    Worksheets("Sheet3").Range("B1") = d '把计算出的平均次数输出到sheet2中B2中
   
End Sub

69

主题

2031

帖子

2356

积分

金牌会员

Rank: 6Rank: 6

积分
2356
发表于 2011-6-4 00:58:00 | 显示全部楼层

Re:求答案!

用excel不适合干这种模拟,如果要模拟,显然LUA好得多。

13

主题

832

帖子

1875

积分

金牌会员

空想家

Rank: 6Rank: 6

积分
1875
发表于 2011-6-15 12:08:00 | 显示全部楼层

Re:求答案!

用服务端实际开发的平台来模拟 比用脚本好,用脚本比用VBA好,用VBA比用公式拉好。

但,用公式拉最直观方便……。

0

主题

7

帖子

39

积分

注册会员

Rank: 2

积分
39
发表于 2011-7-8 12:24:00 | 显示全部楼层

Re:求答案!

说excel模拟无用的人,如果把玩家的攻击伤害不再是1,而是1-3之间的随机整数值(也就是1/3概率分别取到1,2,3),你们能算出平均需要的次数吗?
-----------------------------------------------
我算出来是7.5349。
【10/0.75+10/0.75/2+10/0.75/3+10/0.75/1.33+10/0.75/1.66+10/0.75/1.66+10/0.75/2+10/0.75/2.33+10/0.75/2.66】/9
用了比较笨的办法,意思也就是把所有可能的组合全部列出,然后去求得答案。
来高手验证吧。

0

主题

4

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2012-5-16 23:10:00 | 显示全部楼层

Re: 求答案!

22楼在声明a和d的时候用string即可

5

主题

1461

帖子

1526

积分

金牌会员

Rank: 6Rank: 6

积分
1526
发表于 2012-5-25 13:23:00 | 显示全部楼层

Re:求答案!

话说,对于游戏中的数值设计,如果只是这样一个模拟,都要做到如此复杂,是不是真的有这个必要?

实用数学和理论数学是有区别的,1+1=2,也一样可以用无比复杂的方式进行证明,但是对于大多数人来说,只需要知道1+1是应该=2的,就足够了

5

主题

1461

帖子

1526

积分

金牌会员

Rank: 6Rank: 6

积分
1526
发表于 2012-5-25 13:37:00 | 显示全部楼层

Re:求答案!

25楼的童鞋,你列的那9种组合,是根据什么理由来的呢?

换个题目:怪物100血,玩家攻击力为 10~20 之间随机,命中率75%,按照你的办法,应该怎么做?

10

主题

513

帖子

516

积分

高级会员

Rank: 4

积分
516
发表于 2012-5-29 16:37:00 | 显示全部楼层

Re: Re:求答案!

preprocessor: Re:求答案!

我怎么用vba模拟出来就等于20了,这是什么状况,难道是excel抽掉了...有谁可以给我看看我的这段代码有问题?...


1) 既然你拿a与一个浮点数0.75做比较, 那么你不应该dim a as intger, 要dim a as double, 但是其实你直接判断 rnd() > 0.75就可以了, 用a存储一下没意义

2) 你的结果d也不应该是一个intger类型, 而应该是一个double类型
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-29 09:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表