/// <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 { } }
/// <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(); } }
/// <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(); }
/// <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(); }
/// <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 } }
/// <summary> /// called de exitgame methode /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void exitToolStripMenuItem1_Click(object sender, EventArgs e) { BaseGame.Exitgame(); }