Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        /// <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;
            }
        }