找回密码
 立即注册
搜索
查看: 2647|回复: 17

[软件] 想用excel做个狗粮升级计算器

[复制链接]
     
发表于 2017-1-21 17:21 | 显示全部楼层 |阅读模式
0基础,想做个简单的狗粮升级计算器,大概:就是excel里用一个按钮,加一个计数器记点击了几次,每点击一次有概率+1,最后一个格子输出点击次数(喂多少个狗粮),喂N个狗粮后的等级数
卡在“每点击一次有X%概率+1”这个句子怎么写上了
百度有点困难,搜到的都是如何计算概率之类的方法
这个句子要用什么函数写?求超能力者指点一下
回复

使用道具 举报

     
发表于 2017-1-21 17:27 | 显示全部楼层
概率就是随机数嘛,excel的函数是RAND(),输出是0-1之间的一个数
然后根据百分比来判断这个数是大于还是小于某个值就可以了
回复

使用道具 举报

     
 楼主| 发表于 2017-1-21 18:19 | 显示全部楼层
ccen3020 发表于 2017-1-21 17:27
概率就是随机数嘛,excel的函数是RAND(),输出是0-1之间的一个数
然后根据百分比来判断这个数是大于还是 ...


End Sub
  1. Private Sub CommandButton1_Click()

  2.          
  3. If [Rand()<=0.2] Then [Range("A2") = 1 + Range("A2"):Range("A1") = 1 + Range("A1")] Else [Range("A2") = Range("A2"):Range("A1") = 1 + Range("A1")]

  4. End If


  5. End Sub
复制代码
这样写哪里不对,点击没有反应,,为什么会提示我end if 没有if块呢,删掉end if也没反应
回复

使用道具 举报

     
发表于 2017-1-21 18:30 来自手机 | 显示全部楼层
一般算概率的计算器不都是计算期望值吗?很少有直接模拟随机数的啊。

—— 来自 Meizu PRO 5, Android 5.1上的 S1Next-鹅版
回复

使用道具 举报

头像被屏蔽
     
发表于 2017-1-21 20:11 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2017-1-21 22:35 | 显示全部楼层
算期望值簡單得多而且人品這種東西不講道理
回复

使用道具 举报

     
发表于 2017-1-22 02:46 | 显示全部楼层
不会武术 发表于 2017-1-21 18:19
End Sub这样写哪里不对,点击没有反应,,为什么会提示我end if 没有if块呢,删掉end if也没反应 ...

http://jingyan.baidu.com/article/86f4a73e81e14837d6526990.html

写法不对吧
回复

使用道具 举报

     
发表于 2017-1-22 08:50 | 显示全部楼层
本帖最后由 runnerchin 于 2017-1-22 09:25 编辑
  1. if  xxx  then
  2.   yyy1
  3.   yyy2
  4.   ...
  5. else
  6.   zzz1
  7.   zzz2
  8.   ...
  9. end if
复制代码
一行的话,直接 if xxx then yyy else zzz,不需要end if多行代码的话才要end if,但是多行的情况最好写成语句块别写在一行
不需要中括号



回复

使用道具 举报

     
发表于 2017-1-22 11:05 | 显示全部楼层
Range是引用对象,单元格的值是Range([index]).Value
回复

使用道具 举报

     
发表于 2017-1-22 12:58 | 显示全部楼层
有概率加一 那这个概率是多少 你知道吗 还是你想算出来
回复

使用道具 举报

     
 楼主| 发表于 2017-1-22 19:28 | 显示全部楼层
michaelz 发表于 2017-1-22 12:58
有概率加一 那这个概率是多少 你知道吗 还是你想算出来

就是手动模拟喂狗粮的过程,每喂一个有20%概率+1,我想喂到+N需要点多少次

能直接自动算这个过程当然更好了但是语句好复杂的感觉
回复

使用道具 举报

发表于 2017-1-22 19:36 | 显示全部楼层
不会武术 发表于 2017-1-22 19:28
就是手动模拟喂狗粮的过程,每喂一个有20%概率+1,我想喂到+N需要点多少次

能直接自动算这个过程当然更 ...

20% 人品正常時  不就5次+1    5的倍數就是了
回复

使用道具 举报

     
 楼主| 发表于 2017-1-22 19:56 | 显示全部楼层
gofbayrf 发表于 2017-1-22 19:36
20% 人品正常時  不就5次+1    5的倍數就是了

问题是不累加,5个+1的概率是67%
回复

使用道具 举报

头像被屏蔽
     
发表于 2017-1-22 20:12 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2017-1-22 20:19 | 显示全部楼层
为啥要手点,最多达标退出的循环,然后按你要求个几百遍不就得了
理解不能……

难道你要给每个人去试手气?搞迷信吗?
回复

使用道具 举报

     
 楼主| 发表于 2017-1-22 21:20 | 显示全部楼层
董卓 发表于 2017-1-22 20:19
为啥要手点,最多达标退出的循环,然后按你要求个几百遍不就得了
理解不能……

是我自己在搞迷信啊
回复

使用道具 举报

     
发表于 2017-1-22 22:40 | 显示全部楼层
  1. Sub 按钮2_Click()

  2. Randomize Timer
  3. Range("A1").Value = Range("A1").Value + 1
  4. If Rnd() <= 0.2 Then Range("A2").Value = Range("A2").Value + 1

  5. End Sub
复制代码
这样应该可以的
回复

使用道具 举报

     
 楼主| 发表于 2017-1-23 09:58 | 显示全部楼层
Mitka 发表于 2017-1-22 22:40
这样应该可以的

这个可以用,感谢,我改了一下加了几条if进去可以正常模拟喂狗粮了
用for循环也可以模拟喂多少个能上多少级了

但是我想模拟升到X级需要多少个狗粮,最后输出一个循环次数要用什么指令实现?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-8-18 16:39 , Processed in 0.474438 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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