コード例 #1
0
        //Starta nytt spel
        public void Start()
        {
            LaddaResultat();

            //Nollställ värden
            progressBar1.Value = 100;
            felsvarade.Clear();
            korrekta  = 0;
            felaktiga = 0;

            int antalUppgifter = 21 + nivå * 20;

            stapelKvar.Nollställ();
            stapelKvar.Max = antalUppgifter;

            //Generera gångeruppgifterna

            List <Uppgift> allaUppgifter = new List <Uppgift>();

            for (int i = 2; i <= 10; i++)
            {
                for (int j = 2; j <= 10; j++)
                {
                    Uppgift uppgift = new Uppgift(i, j);
                    allaUppgifter.Add(uppgift);
                }
            }
            foreach (Uppgift u in allaUppgifter)
            {
                Debug.WriteLine(u.Text);
            }

            //Slumpa uppgifter till den här omgången
            while (uppgifterna.Count < antalUppgifter)
            {
                int nr = rng.Next(allaUppgifter.Count - 1);
                uppgifterna.Add(allaUppgifter[nr]);
                allaUppgifter.RemoveAt(nr);
            }

            //Tidtadning
            tid.Reset();
            tid.Start();

            //Nedräkningen
            timer1.Start();

            //Starta spelet
            NästaUppgift();
        }
コード例 #2
0
        //Välj nästa uppgift
        private void NästaUppgift()
        {
            Debug.WriteLine(uppgifterna.Count);

            //Det finns uppgifter i båda listorna
            if (felsvarade.Count > 0 && uppgifterna.Count > 0)
            {
                //20 procents chans att hämta uppgift ur fellistan
                if (rng.Next(5) == 0)
                {
                    lblUppgift.ForeColor = Color.Blue;
                    int nr = rng.Next(felsvarade.Count - 1);
                    currentUppgift = felsvarade[nr];
                    felsvarade.RemoveAt(nr);
                }

                //Vanlig uppgift
                else
                {
                    currentUppgift = uppgifterna[0].Copy();
                    uppgifterna.RemoveAt(0);
                }
            }

            //Det finns uppgifter i uppgiftslistan
            else if (uppgifterna.Count > 0)
            {
                currentUppgift = uppgifterna[0].Copy();
                uppgifterna.RemoveAt(0);
            }
            //Det finns uppgifter i fellistan
            else if (felsvarade.Count > 0)
            {
                lblUppgift.ForeColor = Color.Blue;
                int nr = rng.Next(felsvarade.Count - 1);
                currentUppgift = felsvarade[nr];
                felsvarade.RemoveAt(nr);
            }

            //Inga uppgifter kvar
            else
            {
                S**t();
            }

            lblUppgift.Text = currentUppgift.Text;
            lblSvar.Text    = string.Empty;
        }