vendredi 4 août 2017

C# Next random number position decrease by 1

I have a C# code that randomly set label position on screen. Positions are fixed, but choosen randomly. However for some reason the location of label36 decrease by 1. ONLY label36. Example: the position of label36 choosed randomly is 50, the next RANDOMLY position choosed by computer itself is 49, the next is 48 and that goes on and on, when reach 0 it backs again to 63 (max. position). The timer2 interval is 1000. The "while" is for two labels don't have same position. Any idea? Thanks.

    int ptbr = 0;
    int enen = 0;
    int enus = 0;

Point[] points = new Point[]
    {
        new Point {X = 10, Y = 60},
        new Point {X = 10, Y = 82},
        new Point {X = 10, Y = 104},
        new Point {X = 10, Y = 126},
        new Point {X = 10, Y = 148},
        new Point {X = 10, Y = 170},
        new Point {X = 10, Y = 192},
        new Point {X = 10, Y = 214},
        new Point {X = 110, Y = 60},
        new Point {X = 110, Y = 82},
        new Point {X = 110, Y = 104},
        new Point {X = 110, Y = 126},
        new Point {X = 110, Y = 148},
        new Point {X = 110, Y = 170},
        new Point {X = 110, Y = 192},
        new Point {X = 110, Y = 214},
        new Point {X = 210, Y = 60},
        new Point {X = 210, Y = 82},
        new Point {X = 210, Y = 104},
        new Point {X = 210, Y = 126},
        new Point {X = 210, Y = 148},
        new Point {X = 210, Y = 170},
        new Point {X = 210, Y = 192},
        new Point {X = 210, Y = 214},
        new Point {X = 310, Y = 60},
        new Point {X = 310, Y = 82},
        new Point {X = 310, Y = 104},
        new Point {X = 310, Y = 126},
        new Point {X = 310, Y = 148},
        new Point {X = 310, Y = 170},
        new Point {X = 310, Y = 192},
        new Point {X = 310, Y = 214},
        new Point {X = 410, Y = 60},
        new Point {X = 410, Y = 82},
        new Point {X = 410, Y = 104},
        new Point {X = 410, Y = 126},
        new Point {X = 410, Y = 148},
        new Point {X = 410, Y = 170},
        new Point {X = 410, Y = 192},
        new Point {X = 410, Y = 214},
        new Point {X = 510, Y = 60},
        new Point {X = 510, Y = 82},
        new Point {X = 510, Y = 104},
        new Point {X = 510, Y = 126},
        new Point {X = 510, Y = 148},
        new Point {X = 510, Y = 170},
        new Point {X = 510, Y = 192},
        new Point {X = 510, Y = 214},
        new Point {X = 610, Y = 60},
        new Point {X = 610, Y = 82},
        new Point {X = 610, Y = 104},
        new Point {X = 610, Y = 126},
        new Point {X = 610, Y = 148},
        new Point {X = 610, Y = 170},
        new Point {X = 610, Y = 192},
        new Point {X = 610, Y = 214},
        new Point {X = 710, Y = 60},
        new Point {X = 710, Y = 82},
        new Point {X = 710, Y = 104},
        new Point {X = 710, Y = 126},
        new Point {X = 710, Y = 148},
        new Point {X = 710, Y = 170},
        new Point {X = 710, Y = 192},
        new Point {X = 710, Y = 214},
    };

private void timer2_Tick(object sender, EventArgs e)
    {
        Random random = new Random();
        ptbr = random.Next(1, 63);
        while (ptbr == enen || ptbr == enus)
        {
            ptbr = random.Next(1, 63);
        }
        label37.Location = points[ptbr];

        enen = random.Next(1, 63);
        while (enen == ptbr || enen == enus)
        {
            enen = random.Next(1, 63);
        }
        label40.Location = points[enen];

        enus = random.Next(1, 63);
        while (enus == ptbr || enus == enen)
        {
            enus = random.Next(1, 63);
        }
        label36.Location = points[enus];
    }




Aucun commentaire:

Enregistrer un commentaire