根据变量中是否存在数字,绘制不同颜色的圆

时间:2017-11-20 13:34:11

标签: javascript

所以我得到了这个头奖编码。首先,它在1-36之间找到7个唯一的随机数:

function RandomTal(Limit)
{
        var RandomLottoTal
        var Cont = true
        while(Cont)
        {
                RandomLottoTal=Math.round(Math.random()*100+1)
                if (RandomLottoTal <= Limit)
                {
                        Cont = false
                }
        }
        return RandomLottoTal;
}
function FindLottoTal()
{
        var min = 1
        var RandomTalNy
        var LottoTal = []
        for (var i=min; i<=7; i++)
        {
                RandomTalNy = RandomTal(36)
                if(LottoTal.indexOf(RandomTalNy)<0)
                {
                        LottoTal[i] = RandomTalNy
                }
                else
                {
                        i--
                }
        }
        DineLottoTal.value = LottoTal
        return i;
}

然后,当我必须画圆圈时,某些东西不起作用。我想要它做的是检查1-36中的所有数字,如果它与我的7个随机累积奖金数字中的一个相同,则必须绘制一个红色圆圈,否则它必须绘制一个白色圆圈。 圆编码:

function TegnCirkel()
{
        var canvas = document.getElementById("LottoPlade")
        var ctx = canvas.getContext("2d")
        var LottoTalNy = FindLottoTal()
        for (var j=1; j<=4; j++)
        {
                var Tæller = 0
                for (var i=1; i<=9; i++)
                {
                        Tæller = Tæller + 1
                        XPos = i*100-50
                        YPos = j*100-50
                        if (LottoTalNy.indexOf(Tæller)<0)
                        {
                                // Color for white not yet added
                                ctx.beginPath()
                                ctx.arc(XPos,YPos,20,0,2*Math.PI)
                                ctx.stroke()
                        }
                        else
                        {
                                // Color for red not yet added
                                ctx.beginPath()
                                ctx.arc(XPos,YPos,20,0,2*Math.PI)
                                ctx.stroke()
                        }
                }
        }
}

任何人都知道什么是错的或修复。 非常感谢帮助:))

1 个答案:

答案 0 :(得分:0)

也许有帮助,但我没有太多时间去理解你想做什么

jsfiddle

 function TegnCirkel()
{
        var canvas = document.getElementById("LottoPlade")
        var ctx = canvas.getContext("2d")
        var LottoTalNy = FindLottoTal()
        for (var j=1; j<=4; j++)
        {
                var Tæller = 0
                for (var i=1; i<=9; i++)
                {
                        Tæller = Tæller + 1
                        XPos = i*100-50
                        YPos = j*100-50
                        if (LottoTalNy.toString().indexOf(Tæller)<0)
                        {
                                ctx.beginPath()
                                ctx.arc(XPos,YPos,20,0,2*Math.PI)
                                ctx.stroke()
                        }
                        else
                        {
                                ctx.beginPath()
                                ctx.arc(XPos,YPos,20,0,2*Math.PI)
                                ctx.stroke()
                        }
                }
        }
}
function RandomTal(Limit)
{
        var RandomLottoTal
        var Cont = true
        while(Cont)
        {
                RandomLottoTal=Math.round(Math.random()*100+1)
                if (RandomLottoTal <= Limit)
                {
                        Cont = false
                }
        }
        return RandomLottoTal;
}
function FindLottoTal()
{
        var min = 1
        var RandomTalNy
        var LottoTal = []
        for (var i=min; i<=7; i++)
        {
                RandomTalNy = RandomTal(36)
                if(LottoTal.indexOf(RandomTalNy)<0)
                {
                        LottoTal[i] = RandomTalNy
                }
                else
                {
                        i--
                }
        }
        FindLottoTal.value = LottoTal
        return i;
}