检查随机动作的结果?

Posted

技术标签:

【中文标题】检查随机动作的结果?【英文标题】:Checking the result of a random action? 【发布时间】:2016-06-17 17:23:59 【问题描述】:
var colorize1 = SKAction.colorizeWithColor(.redColor(), colorBlendFactor: 1.0, duration: 0.3)

        var colorize2 = SKAction.colorizeWithColor(.greenColor(), colorBlendFactor: 1.0, duration: 0.3)

        var colorize3 = SKAction.colorizeWithColor(.blueColor(), colorBlendFactor: 1.0, duration: 0.3)

        var actions = [colorize1, colorize2, colorize3]

        var randomIndex = Int(arc4random_uniform(3))

        var action = actions[randomIndex]

        let seconds = 0.14
        let delay = seconds * Double(NSEC_PER_SEC)  // nanoseconds per seconds
        let dispatchTime = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))

        dispatch_after(dispatchTime, dispatch_get_main_queue(), 


            self.Ball.runAction(action)


        )

    

因此,这段代码将我的球着色为红色、绿色或蓝色。有没有办法在我的游戏运行时检查它选择了哪种颜色?它不只是选择一个然后就完成了,我的球的颜色每隔几秒钟就会改变一次。如何构造一个 if 语句,例如:“如果我的操作选择的随机颜色是红色,那么 print("hey") 或类似的东西?

edit我是 swift 和 xCode 的新手,所以我可能需要更深入的帮助。

【问题讨论】:

你不能在randomIndex 的值上只用switch 吗? @AMomchilov 你能给我举个例子吗? 我觉得您一直在问问题而没有真正告诉我们您要完成的工作。您询问检查所选颜色的问题,但随后描述了执行随机操作,例如打印字符串...您实际上之后是什么值以及您需要它们用于什么什么 ? 我正在尝试制作我的第一个应用程序,但对 xCode 的经验很少。这是我需要的。如果我的球员试图进入两堵墙之间的空隙,如果墙和球的颜色不同,我需要他输掉比赛。 @T.BenjaminLarsen 我一直在问,因为我绝对想不通,我正在努力获得有关如何做到这一点的有用帮助。 我真的不介意提供帮助,但您提出的问题与几个小时前您现在描述的完全相同的问题。我提供了一个答案(可能有帮助也可能没有帮助),但不是继续讨论,而是创建一个新线程...... 【参考方案1】:

你可以打开你的randomIndex:

switch randomIndex  
case 0:
    print("colorize1")
case 1:
    print("colorize2")
case 2:
    print("colorize3")

【讨论】:

@TiptonixBeats 你应该考虑将colorize1colorize2colorize3 变成一个枚举。

以上是关于检查随机动作的结果?的主要内容,如果未能解决你的问题,请参考以下文章

强化学习—— 离散与连续动作空间(随机策略梯度与确定策略梯度)

市场监管总局证监会联合开展 “双随机一公开”抽查工作

micro:bit怎么随机显示动作

动作脚本 3. 检查数组是不是有任何元素不跳转,然后跳转

单因素完全随机实验的方差分析

gym强化学习入门demo——随机选取动作 其实有了这些动作和反馈值以后就可以用来训练DNN网络了