示例#1
0
 /// <summary>
 /// laad het standaard thema bij opstarten van het programma
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void FormMenu_Load(object sender, EventArgs e)
 {
     Geluid.Volume = true;
     this.Volume.BackgroundImage = (Bitmap)Properties.Resources.ResourceManager.GetObject("Geluidsicoontje");
     ManagerThema.Themaprefix    = "Thema0";
     ManagerThema.Themanummer    = 0;
     this.BackgroundImage        = (Bitmap)Properties.Resources.ResourceManager.GetObject(ManagerThema.Themaprefix + "MenuAchtergrond");
     Geluid.AchtergrondMuziek();
 }
示例#2
0
        /// <summary>
        /// veranderd de muziek het achtergrond wanneer de combobox word verandert.
        /// ook word hier een variabele geupdtate die gebruikt word om de theam's te laden in andere forms
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ThemaComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            ManagerThema.VeranderThema(ThemaBox.Text);

            this.BackgroundImage = (Bitmap)Properties.Resources.ResourceManager.GetObject(ManagerThema.Themaprefix + "MenuAchtergrond");
            Geluid.Player.Dispose();
            Geluid.str.Dispose();
            GC.Collect();
            Geluid.AchtergrondMuziek();
        }
示例#3
0
 /// <summary>
 /// mute en unmute het geluid. set ook een variabele die word gebruikt bij het loaden van aaandere froms om te bepalen of het geluid uit of aan moet.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Volume_Click(object sender, EventArgs e)
 {
     if (Geluid.Volume == true)
     {
         Geluid.Volume = false;
         this.Volume.BackgroundImage = (Bitmap)Properties.Resources.ResourceManager.GetObject("GeluidsicoontjeKruis");
         Geluid.Player.Stop();
         Geluid.Player.Dispose();
     }
     else
     {
         Geluid.Volume = true;
         this.Volume.BackgroundImage = (Bitmap)Properties.Resources.ResourceManager.GetObject("Geluidsicoontje");
         Geluid.AchtergrondMuziek();
     }
 }
示例#4
0
 /// <summary>
 /// redirect naar de exit game methode van de betreffende gamemode.
 /// </summary>
 public static void Exitgame()
 {
     Geluid.GameOver();
     if (Gamemode == 0)
     {
         GameSingleplayer.Exit();
     }
     else if (Gamemode == 1)
     {
         GameMultiplayerLocal.Exit();
     }
     else if (Gamemode == 2)
     {
         GameMultiplayerOnline.Exit();
     }
 }
示例#5
0
 /// <summary>
 /// zet bij het loaden van de form de scores in de labels
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void FormEndgame_Load(object sender, EventArgs e)
 {
     Geluid.AchtergrondMuziek();
     if (BaseGame.Gamemode == 0 && BaseGame.Checkwin() == true) //1 speler spel
     {
         LabelResultatenMatch2.Visible = false;
         LabelResultatenmatch.Text     = "Gefeliciteerd! U heeft gewonnen.\nU heeft een score behaald van " + BaseGame.Score1 + " punten."
                                         + "\nU had " + BaseGame.Tijdtotaal + " seconden nodig om te winnen."
                                         + "\nU had " + BaseGame.Zetten1 + " zetten nodig om te winnen.";
     }
     else if (BaseGame.Checkwin() == true) //2 speler spel
     {
         LabelResultatenmatch.Visible = false;
         String winnaam     = BaseGame.Score1 > BaseGame.Score2 ? BaseGame.Naam1 : BaseGame.Naam2;
         String verliesnaam = BaseGame.Score1 < BaseGame.Score2 ? BaseGame.Naam1 : BaseGame.Naam2;
         if (BaseGame.Score1 != BaseGame.Score2)
         {
             //Er is een winnaar
             LabelResultatenMatch2.Text = winnaam + " heeft gewonnen!\n"
                                          + BaseGame.Naam1 + " heeft score: " + BaseGame.Score1 + " (Zetten: " + BaseGame.Zetten1 + ")\n"
                                          + BaseGame.Naam2 + " heeft score: " + BaseGame.Score2 + " (Zetten: " + BaseGame.Zetten2 + ")";
         }
         else
         {
             //Is aantal zetten gelijk?
             if (BaseGame.Zetten1 != BaseGame.Zetten2)
             {
                 winnaam     = BaseGame.Zetten1 < BaseGame.Zetten2 ? BaseGame.Naam1 : BaseGame.Naam2;
                 verliesnaam = BaseGame.Zetten1 > BaseGame.Zetten2 ? BaseGame.Naam1 : BaseGame.Naam2;
                 LabelResultatenMatch2.Text = winnaam + " heeft gewonnenen met minder zetten!\n"
                                              + BaseGame.Naam1 + " heeft score: " + BaseGame.Score1 + " (Zetten: " + BaseGame.Zetten1 + ")\n"
                                              + BaseGame.Naam2 + " heeft score: " + BaseGame.Score2 + " (Zetten: " + BaseGame.Zetten2 + ")";
             }
             else
             {
                 LabelResultatenMatch2.Text = "Gelijkspel! Beide spelers hebben evenveel score en zetten.\n"
                                              + BaseGame.Naam1 + " heeft score: " + BaseGame.Score1 + " (Zetten: " + BaseGame.Zetten1 + ")\n"
                                              + BaseGame.Naam2 + " heeft score: " + BaseGame.Score2 + " (Zetten: " + BaseGame.Zetten2 + ")";
             }
         }
     }
     else
     {
         LabelResultatenmatch.Text     = "Het spel is voortijdig beëindigt.";
         LabelResultatenMatch2.Visible = false;
     }
 }
示例#6
0
 /// <summary>
 /// redirect naar de end game van de betreffende gamemode en slaat highscores op.
 /// </summary>
 public static void Endgame()
 {
     Geluid.GameOver();
     BaseGame.GameResultatenOpslaan();
     if (Gamemode == 0)
     {
         GameSingleplayer.End();
     }
     else if (Gamemode == 1)
     {
         GameMultiplayerLocal.End();
     }
     else if (Gamemode == 2)
     {
         GameMultiplayerOnline.End();
     }
 }
示例#7
0
        /// <summary>
        /// Deze methode word gecalled wanneer er een kaart op het speelveld word aangeklikt.
        /// Eerst word gechecked of de aangeklikte kaart al is omgedraaid of dat er al 2 kaarten zijn omgedraaid deze beurt, als dit zo is dan word de methode stopgezet.
        /// vervolgens word de kaart omgedraaid en word de counter die bijhoud hoeveel kaarten zijn omgedraaid deze beurt verhoogd.
        /// Als dit de tweede kaart is die word aangeklikt dan word gechecked of ze gelijk zijn. zo ja dan word de score van de speler die aan beurt is verhoogd, zo niet dan word de methode zetomgedraaid gecalled om ze weer terug te draaien.
        /// ook word dan gecheckt of dit het laatst omgedraaide paar is. zo ja dan word de endgame methode gecalled.
        /// vervolgens word de beurt aaan de andere speler gegeven mits er een multiplayer spel word gespeeld
        /// </summary>
        /// <param name="x"> x coordinaat van aangeklikte coordinaat</param>
        /// <param name="y"> y coordinaat van aangeklikte kaart</param>
        /// <param name="Negeerkaartklik"> word op false gezet wanner de ander speler aan de beurt is in een online multiplayer spel. voorkomt dat de speler die niet aan beurt is kaarten kan omdraaien.</param>
        public static void KaartKlik(int x, int y, bool Negeerkaartklik = true)   //word op false gezet als andere speler aan beurt in is GameMultiplayerOnline spel
        {
            if (Speelveld_omgedraaid[x, y] == true)
            {
                return;                                     //Negeer klikken op kaart als de kaart al omgedraait is
            }
            if (Kaartcounter == 2)
            {
                return;                    //Negeer als er al 2 kaarten omgedraait zijn
            }
            if (Gamemode == 2 && Negeerkaartklik)
            {
                if (GameMultiplayerOnline.KlikKaart(x, y))
                {
                    return;
                }
            }

            //Keer kaart om
            ZetOmgedraaid(x, y, true);


            Kaartcounter++;
            if (Kaartcounter == 1)
            {
                //Sla eerste kaart op
                Geluid.KaartKlik();
                Kaart1x = x;
                Kaart1y = y;
            }
            else if (Kaartcounter == 2)
            {
                //Verhoog aantal zetten
                if (SpelerAanBeurt == 1)
                {
                    Zetten1++;
                }
                if (SpelerAanBeurt == 2)
                {
                    Zetten2++;
                }

                //Sla tweede kaart op
                Kaart2x = x;
                Kaart2y = y;

                //Kijk of kaarten gelijk zijn
                if (Speelveld_types[Kaart1x, Kaart1y] == Speelveld_types[Kaart2x, Kaart2y])
                {
                    Geluid.KaartGelijk();
                    if (SpelerAanBeurt == 1)
                    {
                        Score1++;                       //Voeg 1 bij de score toe
                    }
                    if (SpelerAanBeurt == 2)
                    {
                        Score2++;
                    }
                    Kaartcounter = 0;
                    Tijdbeurt    = 10; //reset timer

                    if (Checkwin())    //Check voor win
                    {
                        Render();
                        Endgame();
                        return;
                    }
                }
                else
                {
                    Geluid.KaartKlik();
                    DraaiKaartenTerug(); //Draai beide kaarten terug om
                }
                Render();
                if (Negeerkaartklik)
                {
                    VolgendeBeurt();
                }
            }
        }