private void button1_Click(object sender, EventArgs e) { //naam opslaan in variable naaminvoeren = textBox1.Text; //opent een één speler spel speelveld sp = new speelveld(); sp.Show(); //naam invoeren en menu forms sluiten this.Hide(); }
/// <summary> /// Eerst word er gecontroleerd of er daadwerkelijk iets bij naam 1 & 2 is ingevuld. Als er niks is ingevuld komt er een messagebox die zegt dat je dit wel moet doen. Daarna worden de ingevulde namen in een string gezet /// zodat deze in het speelveld kunnen worden gebruikt. Hierna word met verschillende if statements en een radio button de string thema aangepast zodat het speelveld word gevuld met het juiste thema. Vervolgens word het /// form speelveld geopend, het form NamenInvoeren onzichtbaar gemaakt en doorgegeven dat het spel in multiplayer moet worden opgestart. /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { //checken of bij beide textboxen iets ingevuld is //textbox 1 if (string.IsNullOrEmpty(textBox1.Text)) { MessageBox.Show("Vul een naam in voor speler 1.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //textbox 2 checken if (string.IsNullOrEmpty(textBox2.Text)) { MessageBox.Show("Vul een naam in voor speler 2.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //namen van de spelers naar textbox naam1 = textBox1.Text; naam2 = textBox2.Text; if (RadioSH.Checked) { menu.thema = "sh"; } else if (RadioKM.Checked) { menu.thema = "km"; } else if (RadioKerst.Checked) { menu.thema = "kerst"; } //na het opslaan van de namen in de variabelen wordt het speelveld geopend menu.multiplayergame = true; speelveld speelveld = new speelveld(); speelveld.Show(); this.Hide(); // na het openen van het speelveld worden de naam popup en het menu gesloten }
/// <summary> /// Start een schone nieuwe versie van het zelfde form en sluit de oude. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void reset_Click(object sender, EventArgs e) { //menu.ladenvansave = false; if (menu.ladenvansave == true) { if (string.IsNullOrEmpty(player2.Text)) { NaamInvoeren.naamP1 = player1.Text; } else { NamenInvoeren.naam1 = player1.Text; NamenInvoeren.naam2 = player2.Text; } menu.ladenvansave = false; } if (MessageBox.Show("Weet je zeker dat je wilt resetten?", "Reset", MessageBoxButtons.YesNo) == DialogResult.Yes) { speelveld NewForm = new speelveld(); NewForm.Show(); Dispose(); } }
/// <summary> /// Een if statement controleert of iemand daadwerkelijk iets heeft ingevuld en geeft indien er niks is ingevuld een error. De ingevulde naam word een string die dan in het speelveld weer aangeroepen kan worden. /// Vervolgens controleren verschillende if statements het thema en veranderen dan de string thema naar de letters van het gewenste thema. Hierna word dit form verstopt en het speelveld geopend. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { //checken of er iets ingevuld is bij textbox 1 if (string.IsNullOrEmpty(textBox1.Text)) { MessageBox.Show("Vul een naam in voor speler 1", "Error", MessageBoxButtons.OK); return; } //naam naar variable naamP1 = textBox1.Text; if (RadioSH.Checked) { menu.thema = "sh"; } else if (RadioKM.Checked) { menu.thema = "km"; } else if (RadioKerst.Checked) { menu.thema = "kerst"; } //speelveld openen menu.multiplayergame = false; speelveld sp = new speelveld(); sp.Show(); //naam invoeren en menu forms sluiten this.Hide(); }
private void hervatten_Click(object sender, EventArgs e) { try { speelveld speelveld = new speelveld(); TextReader tr = new StreamReader("memory.sav"); if (tr.ReadLine() == "True") { multiplayergame = true; } tr.Close(); ladenvansave = true; speelveld.Show(); } catch (FileNotFoundException) { MessageBox.Show("Er is geen opgeslagen spel gevonden", "Foutmelding"); } }
/// <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(); } } }