static void Main(string[] args) { int x, y, r; string e; Console.WriteLine("BubbleBreaker Console:"); Console.WriteLine("======================"); Console.Write("Anzahl Zeilen? "); e = Console.ReadLine(); x = int.Parse(e); Console.Write("Anzahl Spalten? "); e = Console.ReadLine(); y = int.Parse(e); GameMatrix SpielLogik = new GameMatrix(x, y); SpielLogik.ResetMatrix(); Console.WriteLine(MatrixAusgeben(SpielLogik)); // Main Loop while (SpielLogik.EsGibtGleicheNachbarnUndMatrixIstNichtLeer()) { Console.Write("Element auswählen (#zeile,#spalte): "); e = Console.ReadLine(); // Ich mache keine checks ob die Eingabe korrekt ist, ich gehe davon aus, dass korrekte Eingaben erfolgen string[] pStringArray = e.Split(',', ':', '/', '.', ';', ' '); if (pStringArray.Length != 2) { continue; // Falscheingaben abfangen } x = int.Parse(pStringArray[0]); // x Adresse y = int.Parse(pStringArray[1]); // y Adresse if (x < 0 || x >= SpielLogik.Zeilen) { continue; // Falscheingaben abfangen } if (y < 0 || y >= SpielLogik.Spalten) { continue; // Falscheingaben abfangen } r = SpielLogik.FindeGleicheNachbarn(x, y); Console.WriteLine(string.Format("Gefundene gleichfarbige Bubble: {0}", r)); SpielLogik.EnferneAusgewaehlteBubbles(); Console.WriteLine(); Console.WriteLine(MatrixAusgeben(SpielLogik)); } Console.WriteLine(); Console.WriteLine("Spiel ist zu ende! Kein weiterer Zug möglich!"); Console.ReadLine(); }
/// <summary> /// Mausklick / Touch verarbeiten. Erkennen ob das Spiel zu Ende ist /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MyCanvas_PointerPressed(object sender, PointerRoutedEventArgs e) { Point zellAdr = SpielGfx.ZellAdresseBerechnen(e.GetCurrentPoint(MyCanvas).Position); int r = SpielLogik.FindeGleicheNachbarn((int)zellAdr.Y, (int)zellAdr.X); SpielLogik.EnferneAusgewaehlteBubbles(); SpielGfx.BubblesAnzeigen(); SpielGfx.ZeigeZellFokus(zellAdr, true); PunktzahlAnzeigen(); if (!SpielLogik.EsGibtGleicheNachbarnUndMatrixIstNichtLeer()) { // Spiel zu Ende MyCanvas.PointerMoved -= MyCanvas_PointerMoved; MyCanvas.PointerPressed -= MyCanvas_PointerPressed; StartMsg.Visibility = Visibility.Visible; } }