Advertisement
Seeptim

Lesson_4_4

Aug 17th, 2019
493
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.45 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Lesson_4_4
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.                 //Сделать игровую карту с помощью двумерного массива.Сделать функцию рисования карты.
  10.                 //Помимо этого, дать пользователю возможность перемещаться по карте и взаимодействовать с элементами
  11.                 //(например пользователь не может пройти сквозь стену)
  12.                 //Все элементы являются обычными символами
  13.  
  14.             int sum = 0;
  15.             Console.CursorVisible = false;
  16.             char[,] map =
  17.             {
  18.                 {'#','#','#','#','#','#','#','#','#','#','#','#','#','#','#' },
  19.                 {'#',' ','!',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#' },
  20.                 {'#','X',' ','X',' ',' ',' ',' ',' ',' ','!',' ','X','!','#' },
  21.                 {'#',' ',' ',' ',' ',' ',' ','X',' ',' ',' ',' ',' ',' ','#' },
  22.                 {'#',' ','!',' ',' ',' ',' ','!',' ',' ',' ',' ',' ',' ','#' },
  23.                 {'#',' ',' ',' ',' ','#',' ','#',' ',' ',' ',' ',' ',' ','#' },
  24.                 {'#',' ',' ',' ',' ','#','X','#',' ',' ','!',' ',' ',' ','#' },
  25.                 {'#',' ',' ',' ',' ','#','#','#',' ',' ',' ',' ',' ',' ','#' },
  26.                 {'#',' ',' ','X',' ',' ',' ',' ',' ',' ',' ',' ','X',' ','#' },
  27.                 {'#',' ',' ',' ',' ','!',' ',' ',' ','X','!',' ',' ',' ','#' },
  28.                 {'#',' ','!',' ',' ','X',' ','!',' ',' ',' ',' ',' ',' ','#' },
  29.                 {'#','X',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#' },
  30.                 {'#','#','#','#','#','#','#','#','#','#','#','#','#','#','#' },
  31.             };
  32.             Console.SetCursorPosition(0, 15);
  33.             Console.WriteLine("Соберите все Х. При касании ! игра заканчивается!");
  34.             Console.WriteLine("------------------------------------------------");
  35.             Console.SetCursorPosition(0, 0);
  36.             int userX = 3, userY = 3;
  37.  
  38.             while (true)
  39.             {
  40.                 Draw(map, sum);
  41.  
  42.                 Console.SetCursorPosition(userX, userY);
  43.                 Console.Write('@');
  44.  
  45.                 ConsoleKeyInfo charKey = Console.ReadKey();
  46.  
  47.                 switch (charKey.Key)
  48.                 {
  49.                     case ConsoleKey.LeftArrow:
  50.                         if (map[userY, userX - 1] != '#')
  51.                             userX--;
  52.                         break;
  53.                     case ConsoleKey.RightArrow:
  54.                         if (map[userY, userX + 1] != '#')
  55.                             userX++;
  56.                         break;
  57.                     case ConsoleKey.UpArrow:
  58.                         if (map[userY - 1, userX] != '#')
  59.                             userY--;
  60.                         break;
  61.                     case ConsoleKey.DownArrow:
  62.                         if (map[userY + 1, userX] != '#')
  63.                             userY++;
  64.                         break;
  65.                 }
  66.                 if (map[userY, userX] == 'X')
  67.                 {
  68.                     map[userY, userX] = 'O';
  69.  
  70.                     sum += 1;
  71.  
  72.                     if (sum == 10)
  73.                     {
  74.                         Console.SetCursorPosition(20, 1);
  75.                         Console.WriteLine("Вы собрали все элементы");
  76.                         Console.ReadKey();
  77.                         break;
  78.                     }
  79.                 }
  80.                 else if (map[userY, userX] == '!')
  81.                 {
  82.                     Console.SetCursorPosition(20, 3);
  83.                     Console.WriteLine("Проигрыш!!!");
  84.                     Console.ReadKey();
  85.                     break;
  86.                 }
  87.             }
  88.         }
  89.         static void Draw(char[,] map, int sum)
  90.         {
  91.             Console.SetCursorPosition(20, 0);
  92.             Console.Write("Счетчик: ");
  93.             Console.Write(sum);
  94.  
  95.             Console.SetCursorPosition(0, 0);
  96.             for (int i = 0; i < map.GetLength(0); i++)
  97.             {
  98.                 for (int j = 0; j < map.GetLength(1); j++)
  99.                 {
  100.                     Console.Write(map[i, j]);
  101.                 }
  102.                 Console.WriteLine();
  103.             }
  104.         }
  105.     }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement