Ejemplo n.º 1
0
 /// <summary>
 /// Set all cases from a set of lines
 /// </summary>
 /// <param name="lines">Enumerable of strings, each string being a row</param>
 public void InitializeCases(IEnumerable<string> lines )
 {
     int count = Symbols.Count();
     Cases = new Case[count, count];
     for (int i = 0; i < count; i++)
     {
         for (int j = 0; j < count; j++)
         {
             Cases[i,j] = new Case(lines.ElementAt(i).ElementAt(j));
         }
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Init all cases with empty value
 /// </summary>
 public void InitializeCases()
 {
     Cases= new Case[Size, Size];
     for (int i = 0; i < Size; i++)
     {
         for (int j = 0; j < Size; j++)
         {
             Cases[i,j] = new Case(Case.EmptyCase);
         }
     }
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Create a case view in a specific location in the grid
        /// </summary>
        /// <param name="case">Case object where value is retrieved</param>
        /// <param name="i">Row index</param>
        /// <param name="j">Column index</param>
        /// <param name="regionSize">The size of region side, for calculating purposes</param>
        /// <returns>Case view object</returns>
        private FrameworkElement CreateCaseView(Case @case, int i, int j, int regionSize)
        {
            int regionNb = ((i/regionSize)*regionSize) + (j/regionSize);

            Border border = new Border
            {
                BorderBrush = Brushes.Black,
                BorderThickness = new Thickness(1)
            };
            if ((regionSize%2 == 0 && (((regionNb/regionSize)%2 == 0 && regionNb%2 == 0) || ((regionNb/regionSize)%2 == 1 && regionNb%2 == 1)))
                || (regionSize % 2 == 1 && (((regionNb / regionSize) % 2 == 0 && regionNb % 2 == 0) || (regionNb/regionSize)%2 ==1 && regionNb%2 == 0)))
                border.Background = Brushes.LightGray;
            string text = (@case.Value.Equals(Case.EmptyCase) ? "" : @case.Value.ToString());
            border.Child = new TextBlock()
            {
                Text = text,
                TextAlignment = TextAlignment.Center,
                VerticalAlignment = VerticalAlignment.Center

            };
            Grid.SetColumn(border, j);
            Grid.SetRow(border, i);
            return border;
        }