コード例 #1
0
 private void ButtonLås_Click(object sender, EventArgs e)
 {
     if (brett.låst)
     {
         JaNeiVindu.Class1 spørreVindu = new JaNeiVindu.Class1();
         if (spørreVindu.JaNei("Vil du virkelig låse opp brettet?"))
         {
             LåsOppBrett();
         }
     }
     else
     {
         if (brett.feil)
         {
             JaNeiVindu.Class1 spørreVindu = new JaNeiVindu.Class1();
             if (spørreVindu.JaNei("Det er feil på brettet. Vil du likevel låse?"))
             {
                 LåsBrett();
             }
         }
         else
         {
             LåsBrett();
         }
     }
 }
コード例 #2
0
        private void ButtonLagSpill_Click(object sender, EventArgs e)
        {
            string lenke = "";

            if (nRot == 3)
            {
                lenke = "http://www.menneske.no/sudoku/random.html";
            }
            else if (nRot == 4)
            {
                lenke = "http://www.menneske.no/sudoku/4/random.html";
            }
            else
            {
                labelTekst.Text = "Greier ikke å lage " + nRot + "x" + nRot + " brett.";
                return;
            }
            bool fortsett = true;

            if (brett.gjenværendeCeller < n * n)
            {
                JaNeiVindu.Class1 spørreVindu = new JaNeiVindu.Class1();
                fortsett = spørreVindu.JaNei("Hvis du fortsetter, så vil du miste det nåværendet spillet.\nVil du opprette nytt spill?");
            }
            if (fortsett)
            {
                brett.LagBrettFraNett(lenke, out string tekst);
                OppdaterDgValue();
                NullstillKladd();
                BindKladd();
                labelTekst.Text = tekst;
            }
        }
コード例 #3
0
 private void ButtonVisLøsning_Click(object sender, EventArgs e)
 {
     JaNeiVindu.Class1 spørreVindu = new JaNeiVindu.Class1();
     if (spørreVindu.JaNei("Trykk ja for å vise løsning på dette brettet"))
     {
         FormVisLøsning form = new FormVisLøsning(brett.VisLøstBrett(out string løsning));
         form.ShowDialog();
         //Bruker ikke Messagebox siden den ikke har konstant spacing for hvert tegn.
         labelTekst.Text = løsning;
     }
 }
コード例 #4
0
 void TekstN_LostFocus(object sender, EventArgs e)
 {
     if (focus)
     {
         if (Int32.TryParse(tekstN.Text, out int nRotTemp) && nRotTemp > 1 && nRotTemp < 7)
         {
             if (nRot == nRotTemp)
             {
                 return;
             }
             focus = false;
             bool fortsett = true;
             if (brett.gjenværendeCeller < n * n)
             {
                 JaNeiVindu.Class1 spørreVindu = new JaNeiVindu.Class1();
                 fortsett = spørreVindu.JaNei("Hvis du fortsetter, så vil du miste det nåværendet spillet.\nVil du endre brettstørrelsen?");
             }
             if (fortsett)
             {
                 RemoveObjects();
                 nRot = nRotTemp;
                 n    = nRot * nRot;
                 double faktor = 1;
                 if (nRot == 3)
                 {
                     faktor = 0.9;
                 }
                 else if (nRot == 4)
                 {
                     faktor = 0.7;
                 }
                 else if (nRot == 5)
                 {
                     faktor = 0.5;
                 }
                 størrelse = new Størrelse(faktor, nRot);
                 CreateObjects();
                 Construct();
                 LayoutObjects();
                 this.Refresh();
                 brett = new Brett(nRot);
                 OppdaterDgValue();
                 NullstillKladd();
                 BindKladd();
             }
             focus = true;
         }
         else
         {
             labelTekst.Text = "Kunne ikke lese verdien. Venligst oppgi verdien som et heltall (f. eks. 4).";
         }
     }
 }
コード例 #5
0
        private void ButtonNy_Click(object sender, EventArgs e)
        {
            bool fortsett = true;

            if (brett.gjenværendeCeller < n * n)
            {
                JaNeiVindu.Class1 spørreVindu = new JaNeiVindu.Class1();
                fortsett = spørreVindu.JaNei("Hvis du fortsetter, så vil du miste det nåværendet spillet.\nVil du nullstille brettet?");
            }
            if (fortsett)
            {
                brett = new Brett(nRot);
                OppdaterDgValue();
                NullstillKladd();
                BindKladd();
            }
        }
コード例 #6
0
 private void ButtonSisteRette_Click(object sender, EventArgs e)
 {
     if (brett.feil)
     {
         JaNeiVindu.Class1 spørreVindu = new JaNeiVindu.Class1();
         if (spørreVindu.JaNei("Trykk ja for å åpne siste brettversjon med alle ruter riktige."))
         {
             brett.HentSisteRetteBrett();
             OppdaterDgValue();
             KopierKladdFraBrett();
             BindKladd();
         }
     }
     else
     {
         labelTekst.Text = "Ingen feil på brettet.";
     }
 }
コード例 #7
0
        private void ButtonÅpne_Click(object sender, EventArgs e)
        {
            if (brett.gjenværendeCeller != n * n)
            {
                JaNeiVindu.Class1 spørreVindu = new JaNeiVindu.Class1();
                if (!spørreVindu.JaNei("Hvis du fortsetter, så vil du miste det nåværendet brettet.\nVil du åpne et lagret brett?"))
                {
                    return;
                }
            }

            string mappe = Application.StartupPath + "\\Lagret_brett\\";

            string[] filer = System.IO.Directory.GetFiles(mappe, "*.dat");
            for (int i = 0; i < filer.Length; i++)
            {
                filer[i] = filer[i].Remove(0, mappe.Length);
                filer[i] = filer[i].Remove(filer[i].Length - 4); //Removes .dat ending
            }
            LagreÅpne form = new LagreÅpne(filer, false);

            form.ShowDialog();
            string fil = form.Fil;

            if (String.IsNullOrEmpty(fil))
            {
                return;
            }
            fil = new System.IO.DirectoryInfo(Application.StartupPath).FullName + "\\Lagret_brett\\" + fil + ".dat";

            NullstillKladd();
            if (!brett.Åpne(fil, out string beskjed))
            {
                labelTekst.Text = beskjed;
                return;
            }
            OppdaterDgValue();
            brett.VisLøstBrett(out string løsning);
            labelTekst.Text = løsning;
            KopierKladdFraBrett();
            BindKladd();
        }