Vapio

task28

Apr 27th, 2021 (edited)
442
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.52 KB | None | 0 0
  1. using System;
  2.  
  3. public class Program
  4. {
  5.     public static void Main()
  6.     {
  7.         Player player = new Player(3, 2, '@');
  8.         Renderer renderer = new Renderer(player);
  9.         renderer.DrawMap();
  10.     }
  11. }
  12.  
  13. public class Renderer
  14. {
  15.     private Player _player;
  16.     private int _mapWidth;
  17.     private int _mapHeight;
  18.     private char _mapSign;
  19.  
  20.     public Renderer(int x, int y, char playerSign, int mapWidth = 5, int mapHeight = 5, char mapSign = ' ')
  21.     {
  22.         _player = new Player(x, y, playerSign);
  23.         _mapWidth = mapWidth;
  24.         _mapHeight = mapHeight;
  25.         _mapSign = mapSign;
  26.     }
  27.  
  28.     public Renderer(Player player, int mapWidth = 5, int mapHeight = 5, char mapSign = ' ')
  29.     {
  30.         _player = player;
  31.         _mapWidth = mapWidth;
  32.         _mapHeight = mapHeight;
  33.         _mapSign = mapSign;
  34.     }
  35.  
  36.     public void DrawMap()
  37.     {
  38.         Console.Clear();
  39.  
  40.         for(int i = 0; i < _mapHeight; ++i)
  41.         {
  42.             if (i != _player.Y)
  43.                 Console.WriteLine(new string(_mapSign, _mapWidth));
  44.             else
  45.                 Console.WriteLine(new string(_mapSign, _player.X - 1) +
  46.                                   _player.Sign + new string(_mapSign, _mapWidth - _player.X));
  47.         }
  48.     }
  49. }
  50.  
  51. public class Player
  52. {
  53.     public int X { get; private set; }
  54.     public int Y { get; private set; }
  55.     public char Sign { get; private set; }
  56.  
  57.     public Player(int x, int y, char sign)
  58.     {
  59.         X = x;
  60.         Y = y;
  61.         Sign = sign;
  62.     }
  63. }
  64.  
Advertisement
Add Comment
Please, Sign In to add comment