/// <summary>
        /// zet alle variabelen in de game. draait omgedraaide kaarten om en revert niet gelijke kaarten als die geload zijn.
        /// </summary>
        private static void Initiate()
        {
            //laad alle variabelen
            BaseGame.Gamemode             = Convert.ToInt32(Loaddata[0]);
            BaseGame.Gamestate            = Convert.ToInt32(Loaddata[1]);
            BaseGame.Speelveld_types      = Utils.StringToArray(Loaddata[2]) as int[, ];
            BaseGame.Speelveld_omgedraaid = Utils.StringToArray(Loaddata[3]) as bool[, ];
            BaseGame.Height         = Convert.ToInt32(Loaddata[4]);
            BaseGame.Width          = Convert.ToInt32(Loaddata[5]);
            BaseGame.Zetten1        = Convert.ToInt32(Loaddata[6]);
            BaseGame.Zetten2        = Convert.ToInt32(Loaddata[7]);
            BaseGame.Score1         = Convert.ToInt32(Loaddata[8]);
            BaseGame.Score2         = Convert.ToInt32(Loaddata[9]);
            BaseGame.Kaart1x        = Convert.ToInt32(Loaddata[10]);
            BaseGame.Kaart1y        = Convert.ToInt32(Loaddata[11]);
            BaseGame.Kaart2x        = Convert.ToInt32(Loaddata[12]);
            BaseGame.Kaart2y        = Convert.ToInt32(Loaddata[13]);
            BaseGame.Kaartcounter   = Convert.ToInt32(Loaddata[14]);
            BaseGame.Naam1          = Convert.ToString(Loaddata[15]);
            BaseGame.Naam2          = Convert.ToString(Loaddata[16]);
            BaseGame.SpelerAanBeurt = Convert.ToInt32(Loaddata[17]);
            BaseGame.Tijdbeurt      = Convert.ToInt32(Loaddata[18]);
            BaseGame.Tijdtotaal     = Convert.ToInt32(Loaddata[19]);
            BaseGame.Terugdraai     = Convert.ToBoolean(Loaddata[20]);

            BaseGame.Render(); // rendered opgegeven waarden

            //draait omgedraaide kaarten om
            for (int h = 0; h < BaseGame.Height; h++)
            {
                for (int w = 0; w < BaseGame.Width; w++)
                {
                    BaseGame.ZetOmgedraaid(w, h, BaseGame.Speelveld_omgedraaid[w, h]);
                }
            }

            //draait 2 ongelijke kaarten terug als die geload zijn.
            try
            {
                if (BaseGame.Speelveld_types[BaseGame.Kaart1x, BaseGame.Kaart1y] != BaseGame.Speelveld_types[BaseGame.Kaart2x, BaseGame.Kaart2y])
                {
                    BaseGame.DraaiKaartenTerug();
                }
            }
            catch { }
        }
示例#2
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();
     }
 }
示例#3
0
        /// <summary>
        /// Opened het de startgame form zodat je een nieuw spel kunt doen met andere instellingen
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void ButtonInstellingen_Click(object sender, EventArgs e)
        {
            this.pictureBoxInstellingen.BackgroundImage = (Bitmap)Properties.Resources.ResourceManager.GetObject("InstellingenButtonBlauwEndgame2D");
            await Task.Delay(300);

            this.pictureBoxInstellingen.BackgroundImage = (Bitmap)Properties.Resources.ResourceManager.GetObject("InstellingenButtonBlauwEndgame");
            if (BaseGame.Gamemode == 2)
            {
                GameMultiplayerOnline.Disconnect();
            }
            this.Close();
            this.Dispose();
            GC.Collect();
            BaseGame.Reset();
            FormStartgame startgame = new FormStartgame();

            startgame.ShowDialog();
        }
 public static void Start(int Hoogte, int Breedte, string Naam)
 {
     BaseGame.Gamemode = 0;
     BaseGame.InitSpeelveld(Hoogte, Breedte);
     BaseGame.InitForm();
     BaseGame.FormSpeelveld.Label_Score_Speler_2.Visible    = false;
     BaseGame.FormSpeelveld.Label_Score_Speler_2.Visible    = false;
     BaseGame.FormSpeelveld.Label_Zetten_Speler_2.Visible   = false;
     BaseGame.FormSpeelveld.Label_Zetten_Speler_2.Visible   = false;
     BaseGame.FormSpeelveld.Textbox_Score_Speler_2.Visible  = false;
     BaseGame.FormSpeelveld.Textbox_Zetten_Speler_2.Visible = false;
     BaseGame.FormSpeelveld.Label_Beurt.Visible             = false;
     BaseGame.SpelerAanBeurt = 1;
     BaseGame.Gamestate      = 1;
     BaseGame.Naam1          = Naam;
     BaseGame.FormSpeelveld.Label_Score_Speler_1.Text = Naam + " : ";
     BaseGame.Timer();
     BaseGame.Render();
 }
示例#5
0
        /// <summary>
        /// Dit is de timer die langzaam afteld en een beurt afpakt wanneer dde timer afloopt.
        /// </summary>
        public static async void Timer()              //timer methode
        {
            while (Gamestate == 1)
            {
                while (Tijdbeurt > 0)   //loop die secondes telt
                {
                    if (Gamestate == 2) // killed de timer als het spel is afgelopen.
                    {
                        return;
                    }
                    await Task.Delay(1000);

                    if (Terugdraai == false)
                    {
                        Tijdbeurt--;
                    }
                    Tijdtotaal++;
                    FormSpeelveld.Textbox_Timer.Text = Convert.ToString(Tijdbeurt);
                }

                Tijdbeurt = 10; //timer reset

                if (SpelerAanBeurt == 1)
                {
                    Zetten1++;
                    FormSpeelveld.Textbox_Zetten_Speler_1.Text = Convert.ToString(Zetten1);
                }
                if (SpelerAanBeurt == 2)
                {
                    Zetten2++;
                    FormSpeelveld.Textbox_Zetten_Speler_1.Text = Convert.ToString(Zetten2);
                }

                BaseGame.VolgendeBeurt();
            }
        }
 /// <summary>
 /// saved de game en stopt de game
 /// </summary>
 public static void SaveEnEnd()
 {
     Savegame();
     Bestandslocatie = "";
     BaseGame.Exitgame();
 }
示例#7
0
        /// <summary>
        /// load het dynamisch speelveld met de opgegeven grootte. afhankelijk van hoeveel kaarten moeten afgebeeld worden, worden de picture boxes groter gemaakt.
        /// ook de settings van de pictureboxes worden hier geset.
        /// </summary>
        public FormSpeelveld()
        {
            double yTussenruimte = 10;
            double xTussenruimte = 60;
            double xSizeTemp     = 150;
            double ySizeTemp     = 225;

            InitializeComponent();
            PictureBox[,] Kaart = new PictureBox[BaseGame.Width, BaseGame.Height];
            if (BaseGame.Width == 2 && BaseGame.Height == 2) //speelveld 2x2 vergroot de kaarten met factor 2
            {
                xSizeTemp *= 2;
                ySizeTemp *= 2;
            }
            else if (BaseGame.Width == 3 && BaseGame.Height == 2) //speelveld 2x3 vergroot de kaarten met 1.5
            {
                xSizeTemp *= 1.5;
                ySizeTemp *= 1.5;
            }
            else if (BaseGame.Width == 4 && BaseGame.Height == 2) //speelveld 2x4 vergroot de kaarten met 1.15
            {
                yTussenruimte = 10;
                xSizeTemp    *= 1.15;
                ySizeTemp    *= 1.15;
            }
            else if (BaseGame.Width == 4 && BaseGame.Height == 3) //speelveld 3x4 vergroot de kaarten met 1.15
            {
                yTussenruimte = 10;
                xSizeTemp    *= 1.15;
                ySizeTemp    *= 1.15;
            }
            else if (BaseGame.Width == 4 && BaseGame.Height == 4) //speelveld 4x4 geen vergroting
            {
                yTussenruimte = 10;
                xSizeTemp    *= 1;
                ySizeTemp    *= 1;
            }
            int yLocation = 25;

            for (int y = 0; y < BaseGame.Height; y++) //voert alle kaarten in met goede tussenruimtes en juiste locatie
            {
                int xLocation = 366;                  //begin locatie
                for (int x = 0; x < BaseGame.Width; x++)
                {
                    string Kaartnaam = "Kaart" + x + "" + y;                                              //juiste naam geven
                    Kaart[x, y]       = new PictureBox();                                                 //maakt nieuwe picturebox
                    Kaart[x, y].Name  = Kaartnaam;
                    Kaart[x, y].Size  = new Size(Convert.ToInt32(xSizeTemp), Convert.ToInt32(ySizeTemp)); //juiste size per speelveld
                    Kaart[x, y].Image = (Bitmap)Properties.Resources.ResourceManager.GetObject(ManagerThema.Themaprefix + "Voorkant");
                    Kaart[x, y].BackgroundImageLayout = ImageLayout.Stretch;
                    Kaart[x, y].BackColor             = Color.Transparent;
                    Kaart[x, y].Visible  = true;
                    Kaart[x, y].Anchor   = AnchorStyles.Left;
                    Kaart[x, y].SizeMode = PictureBoxSizeMode.Zoom;
                    Kaart[x, y].Location = new Point(xLocation, yLocation); //nieuwe locatie
                    Kaart[x, y].BringToFront();
                    string eventnaam = Kaartnaam + "_Click";
                    int    x2        = x;
                    int    y2        = y;
                    Kaart[x, y].Click += new EventHandler((sender, e) => {
                        BaseGame.KaartKlik(x2, y2);
                    });
                    this.Controls.Add(Kaart[x, y]);
                    xLocation += Convert.ToInt32(xSizeTemp) + Convert.ToInt32(xTussenruimte); //nieuw x coördinaat
                }
                yLocation += Convert.ToInt32(ySizeTemp) + Convert.ToInt32(yTussenruimte);     //nieuw y coördinaat
            }
        }
示例#8
0
 /// <summary>
 /// called de exitgame methode
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void exitToolStripMenuItem1_Click(object sender, EventArgs e)
 {
     BaseGame.Exitgame();
 }