// 4 in 1 function with VisibleElementTypesEnum class. private void PaintOnGrid(int rowPosition, int columnPosition, VisibleElementTypesEnum VisibleType) { var image = GetImage(rowPosition, columnPosition); switch (VisibleType) { case VisibleElementTypesEnum.SnakeHead: image.Icon = FontAwesome.WPF.FontAwesomeIcon.Circle; image.Foreground = Brushes.Black; image.Opacity = 1; break; case VisibleElementTypesEnum.SnakeNeck: image.Icon = FontAwesome.WPF.FontAwesomeIcon.Circle; image.Foreground = Brushes.Gray; image.Opacity = 1; break; case VisibleElementTypesEnum.Food: image.Icon = FontAwesome.WPF.FontAwesomeIcon.Apple; image.Foreground = Brushes.Red; image.Opacity = 1; break; case VisibleElementTypesEnum.EmptyArenaPosition: image.Icon = FontAwesome.WPF.FontAwesomeIcon.SquareOutline; //image.Foreground = Brushes.Black; image.Opacity = 0; break; default: break; } }
/// <summary> /// Rajzol egy elemet a Canvas-ra. /// </summary> /// <param name="rowPosition">sorpizíció</param> /// <param name="columnPosition">oszloppozíció</param> /// <returns>A kirajzolt elem, amit aztán majd törölni kell</returns> /// private UIElement PaintOnCanvas(int rowPosition, int columnPosition, VisibleElementTypesEnum visibleType) { var paint = new Ellipse(); //a megjelenítés után az aktiális mérete ezzel kérdezhető le egy-egy //megjelenített elemnek paint.Height = View.ArenaCanvas.ActualHeight / RowCount; paint.Width = View.ArenaCanvas.ActualWidth / ColumnCount; switch (visibleType) { case VisibleElementTypesEnum.SnakeHead: paint.Fill = Brushes.Black; break; case VisibleElementTypesEnum.SnakeNeck: paint.Fill = Brushes.Gray; break; case VisibleElementTypesEnum.Food: //A kitöltő szín legyen ugyanolyan piros, mint az almáé a Grid-en paint.Fill = Brushes.Red; break; //ilyen többé nem lesz, nem felülsatírozzuk a színt, hanem a childrenből töröljük //case VisibleElementTypesEnum.EmptyArenaPosition: // paint.Fill = Brushes.Aquamarine; // break; default: break; } //Meg kell határoztatni Canvas koordinátákban a kirajzolandó pozíciót Canvas.SetTop(paint, rowPosition * paint.Height); Canvas.SetLeft(paint, columnPosition * paint.Width); //Végül hozzáadjuk a Canvas-hoz, ezzel megjelenítjük View.ArenaCanvas.Children.Add(paint); return(paint); }
private void PaintOnGrid(int rowPosition, int columnPosition, VisibleElementTypesEnum visibleType) { var image = GetImage(rowPosition, columnPosition); //és már el tudom érni az ikon tulajdonságot switch (visibleType) { case VisibleElementTypesEnum.SnakeHead: image.Icon = FontAwesome.WPF.FontAwesomeIcon.Circle; image.Foreground = Brushes.Black; image.Opacity = 1; //visszaállítjuk láthatóra, hogy ahol a kígyó már járt ott is látszódjon break; case VisibleElementTypesEnum.SnakeNeck: image.Icon = FontAwesome.WPF.FontAwesomeIcon.Circle; image.Foreground = Brushes.Gray; image.Opacity = 1; //visszaállítjuk láthatóra, hogy ahol a kígyó már járt ott is látszódjon break; case VisibleElementTypesEnum.Food: image.Icon = FontAwesome.WPF.FontAwesomeIcon.Apple; image.Foreground = Brushes.Red; image.Opacity = 1; //visszaállítjuk láthatóra, hogy ahol a kígyó már járt ott is látszódjon break; case VisibleElementTypesEnum.EmptyArenaPosition: image.Icon = FontAwesome.WPF.FontAwesomeIcon.SquareOutline; //image.Icon = FontAwesome.WPF.FontAwesomeIcon.None; //ez nem akart működni, szemetet hagy magamögött //image.Foreground = Brushes.White; //a mögötte lévő (megevett ételek száma) számon látszik a fehér, ez sem jó image.Opacity = 0; //átállítjuk átlátszóra, így nem látszik. break; default: break; } }
/// <summary> /// It paints an element on the canvas. /// </summary> /// <param name="rowPosition"></param> /// <param name="columnPosition"></param> /// <returns>The painted item what has to be deleted.</returns> private UIElement PaintOnCanvas(int rowPosition, int columnPosition, VisibleElementTypesEnum VisibleType) { var paint = new Ellipse(); paint.Height = View.ArenaCanvas.ActualHeight / RowCount; paint.Width = View.ArenaCanvas.ActualWidth / ColumnCount; switch (VisibleType) { case VisibleElementTypesEnum.SnakeHead: paint.Fill = Brushes.Black; break; case VisibleElementTypesEnum.SnakeNeck: paint.Fill = Brushes.Gray; break; case VisibleElementTypesEnum.Food: paint.Fill = Brushes.Red; break; // We don't need this snipet anymore. We delete the canvas. //case VisibleElementTypesEnum.EmptyArenaPosition: // paint.Fill = Brushes.Aquamarine; // break; default: break; } Canvas.SetTop(paint, rowPosition * paint.Height); Canvas.SetLeft(paint, columnPosition * paint.Width); View.ArenaCanvas.Children.Add(paint); return(paint); }