Пример #1
0
 /// <summary>
 /// Gibt die Bubble Matrix ohne Animationanhand des aktuellen Spielstands aus
 /// Die Matrix wird immer komplett neu gezeichnet
 /// </summary>
 public void BubblesAnzeigen()
 {
     _bubbles = new Ellipse[_matrix.Zeilen, _matrix.Spalten];
     _canvas.Children.Clear();
     _fokusAn = false;
     for (int i = 0; i < _matrix.Zeilen; i++)
     {
         for (int j = 0; j < _matrix.Spalten; j++)
         {
             Zelle zelle = _matrix.ZelleDerAdresse(i, j);
             if (zelle.Status == ZellStatus.Belegt)
             {
                 Tuple <double, double> ZeileSpalte = ZelleNachZeileSpalte(i, j);
                 _bubbles[i, j] = ErzeugeBubble(zelle.Farbe);
                 Canvas.SetTop(_bubbles[i, j], ZeileSpalte.Item1);
                 Canvas.SetLeft(_bubbles[i, j], ZeileSpalte.Item2);
                 _canvas.Children.Add(_bubbles[i, j]);
             }
         }
     }
 }
Пример #2
0
        /// <summary>
        /// Ausgabe der Matrix, trennung Präsentationslogic von spiel Logic !!!
        /// </summary>
        /// <param name="matrix"></param>
        /// <returns></returns>
        static string MatrixAusgeben(GameMatrix matrix)
        {
            string result = "";
            string crlf   = Environment.NewLine;
            string xAchse = "    |";

            for (int i = 0; i < matrix.Spalten; i++)
            {
                xAchse += string.Format(" {0,2} |", i);
            }
            xAchse += crlf;
            string xDiv = " ";

            foreach (char e in xAchse)
            {
                xDiv += "-";
            }
            xDiv += crlf;

            string Zeile  = "";
            string punkte = string.Format("Punktzahl: {0}", matrix.Score) + crlf + crlf;

            result += punkte;
            result += xAchse;
            result += xDiv;

            for (int i = 0; i < matrix.Zeilen; i++) // Zeilen
            {
                Zeile = string.Format(" {0,2} |", i);
                for (int j = 0; j < matrix.Spalten; j++)
                {
                    Zeile += string.Format("  {0} |", matrix.ZelleDerAdresse(i, j).FarbRepraesentation());
                }
                Zeile  += string.Format(" {0,2}", i);
                Zeile  += crlf;
                result += Zeile;
                result += xDiv;
            }
            result += xAchse;
            return(result);
        }