Пример #1
0
        //Zodra de form geladen is dan...
        /// <summary>
        /// Eerst wordt er met een if-statement gecontroleerd of er 1 of 2 namen zijn doorgegeven. En worden de namen weergegeven/ wordt de naam weergegeven.
        /// Ook wordt de naam van speler1 vetgedrukt om aan te geven dat hij als eerste aan de beurt is. Hierna wordt met nog een if-statement de data van speler 2
        /// niet weergegeven in het geval dat het spel in singleplayer modus is opgestart. Of juist wel in het geval dat het spel in multiplayer is opgestart.
        /// Daarna worden de methodes LoadImages en TimerTijd.Start aangeroepen om het speelveld in te vullen en de timer te starten.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void speelveld_Load_1(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(NamenInvoeren.naam2))
            {
                player1.Text = NaamInvoeren.naamP1;
                player2.Text = null;
            }
            else
            {
                player1.Text = null;
                player2.Text = null;

                player1.Text = NamenInvoeren.naam1;
                player1.Font = new Font(player1.Font, FontStyle.Bold);
                player2.Text = NamenInvoeren.naam2;
            }



            LoadImages();

            TimerTijd.Start();
            if (menu.ladenvansave == true)
            {
                laden();
            }


            //Als er niet met 2 spelers gespeeld wordt, maak dan de labels van speler 2 onzichtbaar
            if (menu.multiplayergame == false)
            {
                setsp2.Visible     = false;
                p2set.Visible      = false;
                p2zetlabel.Visible = false;
                p2zet.Visible      = false;
                ScoreP2.Visible    = false;
                ScoreP2Num.Visible = false;
            }
            else if (menu.multiplayergame == true)
            {
                setsp2.Visible     = true;
                p2set.Visible      = true;
                p2zetlabel.Visible = true;
                p2zet.Visible      = true;
            }
        }
Пример #2
0
        /// <summary>
        /// De methode begint met een if-statement die zorgt dat je niet meer kaartjes kan omdraaien dan timer1 toelaat. Daarna komt er een stukje dat er voor zorgt dat als je op een picturebox klikt je de juiste informatie
        /// aan het programma doorgeeft. Hierna volgen weer een serie if-statements. Eerst wordt er gekeken of de picturebox waar op geklikt is wel data bevat (dus niet al is omgedraaid). Als de picturebox data bevat wordt
        /// deze in een aparte variabele opgeslagen en vervolgens met je tweede klik vergeleken. Als ze allebei hetzelfde zijn blijven ze staan en anders worden ze weer omgedraaid. Vervolgens wordt er gecontroleerd of er
        /// 1 of 2 spelers zijn. Als er maar 1 speler is word er 1 bij de variabele die het aantal zetten bijhoud. Bij 2 spelers wordt er eerst nog gecontroleerd of het de beurt van speler-1 of 2 is en wordt vervolgens hetzelfde
        /// gedaan als het 1 speler spel, maar dan voor de correcte speler die op dat moment aan de beurt is.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        //wat te doen als er geklikt word op 1 van de picture boxes
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            if (timer1.Enabled == true)
            {
                return;
            }

            PictureBox pictureboxklik = sender as PictureBox;

            object O = Properties.Resources.ResourceManager.GetObject(pictureboxklik.AccessibleDescription);

            pictureboxklik.Image = (Image)O;

            if (pictureboxklik != null)
            {
                if (pictureboxklik == EersteKlik)
                {
                    return;
                }

                if (EersteKlik == null)
                {
                    EersteKlik = pictureboxklik;
                    return;
                }
                else if (TweedeKlik == null)
                {
                    TweedeKlik = pictureboxklik;

                    if (menu.multiplayergame == true) //multiplayer
                    {
                        if (p1 == true)
                        {
                            if (EersteKlik.AccessibleDescription == TweedeKlik.AccessibleDescription) //een set voor p1
                            {
                                scoreP1         = scoreP1 + 20;
                                ScoreP1Num.Text = Convert.ToString(scoreP1); //bij een goede set + 20;
                                setp1++;
                                p1set.Text = Convert.ToString(setp1);
                            }
                            else
                            {
                                zetp1++;
                                p1zet.Text   = Convert.ToString(zetp1);
                                p1           = false;
                                p2           = true;
                                player1.Font = new Font(player1.Font, FontStyle.Regular);
                                player2.Font = new Font(player1.Font, FontStyle.Bold);
                                scoreP1      = scoreP1 - 10;
                            }
                        }
                        else if (p2 == true)
                        {
                            if (EersteKlik.AccessibleDescription == TweedeKlik.AccessibleDescription) //een set voor p2
                            {
                                scoreP2         = scoreP2 + 20;
                                ScoreP2Num.Text = Convert.ToString(scoreP2);
                                setp2++;
                                p2set.Text = Convert.ToString(setp2);
                            }
                            else
                            {
                                zetp2++;
                                p2zet.Text   = Convert.ToString(zetp2);
                                p2           = false;
                                p1           = true;
                                player2.Font = new Font(player1.Font, FontStyle.Regular);
                                player1.Font = new Font(player1.Font, FontStyle.Bold);
                                scoreP2      = scoreP2 - 10; // - 10 punten bij geen set
                            }
                        }

                        //multiplayer gewonnen melding
                        if (setp1 + setp2 == 8)
                        {
                            TimerTijd.Stop();      //tijd stoppen als P1 of P2 gewonnen heeft.

                            if (scoreP1 > scoreP2) //speler 1 gewonnen
                            {
                                //het opslaan van de highscore

                                //opslaan van beide scores met de winnaar
                                using (StreamWriter sw = new StreamWriter(@"highscore.txt", true))
                                {
                                    sw.WriteLine("Winnaar: " + NamenInvoeren.naam1 + ": " + scoreP1.ToString());
                                    sw.WriteLine("Verloren: " + NamenInvoeren.naam2 + ": " + scoreP2.ToString());
                                }

                                //order file leegmaken
                                File.WriteAllText("order.txt", String.Empty);
                                using (StreamWriter sw = new StreamWriter(@"score.txt", true))
                                {
                                    sw.WriteLine(NamenInvoeren.naam1 + " " + scoreP1.ToString());     //naam en score naar tekstbestand schrijven
                                }
                                //sorteren van hoog naar laag
                                string[] scores        = File.ReadAllLines("score.txt");
                                var      orderedScores = scores.OrderByDescending(x => int.Parse(x.Split(' ')[1]));

                                foreach (var score in orderedScores)
                                {
                                    using (StreamWriter order = new StreamWriter(@"order.txt", true))     //gesorteerde inhoud naar order.txt schrijven
                                    {
                                        order.WriteLine(score);
                                    }
                                }


                                if (MessageBox.Show("Het spel is afgelopen, " + NamenInvoeren.naam1 + " heeft gewonnen, wil je opnieuw spelen? ", "Spel Afgelopen", MessageBoxButtons.YesNo) == DialogResult.Yes)
                                {
                                    speelveld NewForm = new speelveld();
                                    NewForm.Show();
                                    Dispose();
                                }

                                else     //nee
                                {
                                    // speelveld afsluiten
                                    this.Hide();
                                }
                            }

                            //speler 2 gewonnen
                            if (scoreP2 > scoreP1)
                            {
                                //het opslaan van de highscore

                                //opslaan van beide scores met de winnaar
                                using (StreamWriter sw = new StreamWriter(@"highscore.txt", true))
                                {
                                    sw.WriteLine("Winnaar: " + NamenInvoeren.naam2 + ": " + scoreP2.ToString());
                                    sw.WriteLine("Verloren: " + NamenInvoeren.naam1 + ": " + scoreP1.ToString());
                                }

                                //order file leegmaken
                                File.WriteAllText("order.txt", String.Empty);
                                using (StreamWriter sw = new StreamWriter(@"score.txt", true))
                                {
                                    sw.WriteLine(NamenInvoeren.naam2 + " " + scoreP2.ToString()); //naam en score naar tekstbestand schrijven
                                }
                                //sorteren van hoog naar laag
                                string[] scores        = File.ReadAllLines("score.txt");
                                var      orderedScores = scores.OrderByDescending(x => int.Parse(x.Split(' ')[1]));

                                foreach (var score in orderedScores)
                                {
                                    using (StreamWriter order = new StreamWriter(@"order.txt", true)) //gesorteerde inhoud naar order.txt schrijven
                                    {
                                        order.WriteLine(score);
                                    }
                                }
                                //score opgeslagen


                                if (MessageBox.Show("Het spel is afgelopen, " + NamenInvoeren.naam2 + " heeft gewonnen, wil je opnieuw spelen? ", "Spel Afgelopen", MessageBoxButtons.YesNo) == DialogResult.Yes)
                                {
                                    speelveld NewForm = new speelveld();
                                    NewForm.Show();
                                    Dispose();
                                }

                                else     //nee
                                {
                                    // speelveld afsluiten
                                    this.Hide();
                                }
                            }
                        }
                    }
                    else
                    {
                        zetp1++;
                        p1zet.Text = Convert.ToString(zetp1);
                    }
                }



                //twee dezelfde plaatjes gedraaid houden
                if (EersteKlik.AccessibleDescription == TweedeKlik.AccessibleDescription)
                {
                    if (menu.multiplayergame == false) //singleplayer
                    {
                        scoreP1         = scoreP1 + 20;
                        ScoreP1Num.Text = Convert.ToString(scoreP1);
                        setp1++;
                        p1set.Text = Convert.ToString(setp1);
                        //singeplayer gewonnen
                        if (setp1 == 8)
                        {
                            TimerTijd.Stop();

                            //het opslaan van de highscore
                            //opslaan naar tekstbestand met naam en score en wie gewonnen heeft.
                            using (StreamWriter sw = new StreamWriter(@"highscore.txt", true))
                            {
                                sw.WriteLine("Gewonnen: " + NaamInvoeren.naamP1 + ": " + scoreP1.ToString());
                            }

                            //order file leegmaken
                            File.WriteAllText("order.txt", String.Empty);
                            using (StreamWriter sw = new StreamWriter(@"score.txt", true))
                            {
                                sw.WriteLine(NaamInvoeren.naamP1 + " " + scoreP1.ToString()); //naam en score naar tekstbestand schrijven
                            }
                            //sorteren van hoog naar laag
                            string[] scores        = File.ReadAllLines("score.txt");
                            var      orderedScores = scores.OrderByDescending(x => int.Parse(x.Split(' ')[1]));

                            foreach (var score in orderedScores)
                            {
                                using (StreamWriter order = new StreamWriter(@"order.txt", true)) //gesorteerde inhoud naar order.txt schrijven
                                {
                                    order.WriteLine(score);
                                }
                            }
                            //score opgeslagen


                            if (MessageBox.Show("Gefeliciteerd " + NaamInvoeren.naamP1 + ", je tijd was " + seconden.ToString() + " seconden. \nJe score was: " + scoreP1.ToString() + "\n" + "Wil je opnieuw spelen?", "Spel Afgelopen", MessageBoxButtons.YesNo) == DialogResult.Yes)
                            {
                                speelveld NewForm = new speelveld();
                                NewForm.Show();
                                Dispose();
                            }
                            else //gebruiker klikt op "nee"
                            {
                                //speelveld afsluiten
                                this.Close();
                            }
                        } //einde singleplayer
                    }
                    EersteKlik.Enabled = false;
                    TweedeKlik.Enabled = false;
                    EersteKlik         = null;
                    TweedeKlik         = null;
                }

                else if (menu.multiplayergame == false)
                {
                    timer1.Start();
                    scoreP1 = scoreP1 - 10;
                }
                else
                {
                    timer1.Start();
                }
            }
        }