【问题标题】:corona sdk pick 4 random colors from an array of colorscorona sdk 从一组颜色中选择 4 种随机颜色
【发布时间】:2018-08-13 20:27:34
【问题描述】:

如何从 12 种颜色的数组中选择 4 种随机颜色,然后存储选择的 4 种颜色,以便游戏可以告诉用户在记忆游戏中找到 4 种颜色中的 1 种。

例如如果数组列表中有R,G,B,Y,P,O颜色

然后游戏选择 R,Y,B,O 并显示它们

玩家需要找到的颜色不能是绿色,例如只能是随机选择的4种颜色。

我真的很难解决这个问题,任何帮助都会很棒

【问题讨论】:

    标签: lua coronasdk


    【解决方案1】:

    这是许多可能的方法之一:

    allColors = {"black", "white", "red", "orange", "yellow", "green",
        "blue", "indigo", "violet", "gold", "silver", "bronze"}
    chosenColors = {}
    
    while #chosenColors < 4 do
        n = math.random(1, #allColors)
        table.insert(chosenColors, allColors[n])
        table.remove(allColors, n)
    end
    

    然后:

    for k, v in pairs(chosenColors) do
        print(k, v)
    end
    

    这将打印,例如:

    1 white
    2 indigo
    3 red
    4 gold
    

    【讨论】:

    • 是的,这可以正常工作,但是您如何确保它不会选择重复项?所以如果黑色在 selectedColors 表中,那么它不能再次添加它
    • 一种特定的颜色不能在chosenColors 表中出现多次。一旦第一次被选中,table.remove 调用将从allColors 表中删除该颜色。
    • 对于我的游戏来说,它应该是 choosenColors 表每次都重置为零并再次从 AllColors 表中选择新颜色。
    猜你喜欢
    • 2014-06-12
    • 2014-12-26
    • 2015-08-16
    • 2017-10-06
    • 1970-01-01
    • 1970-01-01
    • 2016-05-24
    • 2013-09-21
    • 2014-10-07
    相关资源
    最近更新 更多