private Figure() { blocks = new Block[4]; for (int i = 0; i < blocks.Length; i++) { blocks[i] = new Block (this); } }
public DrawEventArgs(List<Figure> figures, Block[,] blocks) { this.figures = figures; this.Blocks = blocks; }
public void DrawBoard(List<Figure> figures, Block[,] board) { foreach (var f in figures) { if (!figColsSymbols.ContainsKey (f)) figColsSymbols.Add (f, new FigureColorNSymbol { Color = Colors[rnd.Next (Colors.Length)].ToWebString (), Symbol = symbols[rnd.Next (symbols.Length)] }); } var sb = new StringBuilder ("<span weight=\"bold\" size=\"xx-large\" font=\"Monospace\" bgcolor=\""); sb.Append (TangoColors.Aluminium3.ToWebString ()); sb.Append ("\" fgcolor=\""); sb.Append (TangoColors.Aluminium3.ToWebString ()); sb.Append ("\">"); for (int y = 5; y < board.GetLength (1); y++) { for (int x = 0; x < board.GetLength (0); x++) { if (board[x, y] == null) { sb.Append (" "); } else if (board[x, y] == Block.Kretu) { sb.Append ("<span color=\"black\" weight=\"bold\">⍨</span>"); } else { var idx = figures.IndexOf (board[x, y].Figure); sb.Append ("<span color=\""); sb.Append (figColsSymbols[board[x, y].Figure].Color); sb.Append ("\">"); sb.Append (figColsSymbols[board[x, y].Figure].Symbol); sb.Append ("</span>"); } } sb.AppendLine (); } sb.Append ("</span>"); lbl.Markup = sb.ToString (); }