Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.18 KB | None | 0 0
  1. // Задача 3.2
  2.  
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8.  
  9. namespace GenericMap
  10. {
  11.     class Program
  12.     {
  13.         static void Main(string[] args)
  14.         {
  15.             int width = 0, height = 0;
  16.  
  17.             // Начало игры
  18.             Console.WriteLine("Добро пожаловать в игру!\n");
  19.  
  20.             Console.WriteLine("Правила игры:");
  21.             Console.WriteLine("Символ X (сокровище) будет случайно генерироваться на игровом поле," +
  22.                 " чем больше поле, тем больше сокровищ.\nГенерация сокровища будет производится каждый" +
  23.                 " Ваш ход.\nИспытайте свою удачу и интуицию! Соберите три сокровища! Удачи!\n");
  24.            
  25.             Console.WriteLine("Настройки карты:");
  26.             // Настройка карты игроком
  27.             Console.Write("Введите ширину ");
  28.             width = Convert.ToInt32(Console.ReadLine());
  29.  
  30.             Console.Write("Введите высоту ");
  31.             height = Convert.ToInt32(Console.ReadLine());
  32.  
  33.             Console.Clear();
  34.  
  35.             // Координаты спавна игрока
  36.             int userY = 1, userX = 1;
  37.            
  38.             // Сумка
  39.             char[] bag = new char[0];
  40.  
  41.             Console.CursorVisible = false;
  42.  
  43.             while (true)
  44.             {  
  45.  
  46.                 Console.SetCursorPosition(height + 5, 0);   // Поближе к игровому полю
  47.                 Console.Write("Сумка: ");
  48.                 for (int i = 0; i < bag.Length; i++)
  49.                     Console.Write(bag[i] + " | ");
  50.  
  51.                 // Генерация карты
  52.                 Console.SetCursorPosition(0, 0);
  53.                 char[,] map_level_1 = new char[height, width];
  54.                            
  55.                 for (int i = 0; i < map_level_1.GetLength(0); i++)
  56.                 {
  57.                     for (int j = 0; j < map_level_1.GetLength(1); j++)
  58.                     {
  59.                         // По краям карты будут символы: '#'                    
  60.                         map_level_1[0, j] = '#';                            // верх
  61.                         map_level_1[map_level_1.GetLength(0) - 1, j] = '#'; // низ
  62.  
  63.                         map_level_1[i, 0] = '#';                            // левый
  64.                         map_level_1[i, map_level_1.GetLength(1) - 1] = '#'; // правый
  65.  
  66.                         // Внутри случайная генерация символа: 'X'
  67.                         Random rnd = new Random();
  68.  
  69.                         int value_i = rnd.Next(1, map_level_1.GetLength(0) - 2);
  70.                         int value_j = rnd.Next(1, map_level_1.GetLength(1) - 2);
  71.  
  72.                         map_level_1[value_i, value_j] = 'X';
  73.  
  74.                         Console.Write(map_level_1[i, j]);
  75.                     }
  76.                     Console.WriteLine();
  77.                 }
  78.                
  79.  
  80.  
  81.  
  82.                 Console.SetCursorPosition(userY, userX);
  83.                 Console.Write('@');
  84.  
  85.                 // Считывание ввода клавиатуры
  86.                 ConsoleKeyInfo charKey = Console.ReadKey();
  87.                 // Движение на стрелках
  88.                 switch (charKey.Key)
  89.                 {
  90.                     case ConsoleKey.UpArrow:
  91.                         if (map_level_1[userX - 1, userY] != '#')
  92.                             userX--;
  93.                         break;
  94.                     case ConsoleKey.DownArrow:
  95.                         if (map_level_1[userX + 1, userY] != '#')
  96.                             userX++;
  97.                         break;
  98.                     case ConsoleKey.LeftArrow:
  99.                         if (map_level_1[userX, userY - 1] != '#')
  100.                             userY--;
  101.                         break;
  102.                     case ConsoleKey.RightArrow:
  103.                         if (map_level_1[userX, userY + 1] != '#')
  104.                             userY++;
  105.                         break;
  106.                 }
  107.  
  108.                 if (map_level_1[userX, userY] == 'X')
  109.                 {
  110.                     map_level_1[userX, userY] = 'O';
  111.  
  112.                     char[] tempBag = new char[bag.Length + 1];
  113.  
  114.                     for (int i = 0; i < bag.Length; i++)
  115.                     {
  116.                         tempBag[i] = bag[i];
  117.                     }
  118.                     tempBag[tempBag.Length - 1] = 'X';
  119.                     bag = tempBag;
  120.  
  121.                     if (bag.Length == 3)
  122.                     {
  123.                         Console.SetCursorPosition(height + 5, 2);
  124.                         Console.Write("ВЫ ВЫИГРАЛИ!");
  125.  
  126.                     }
  127.                 }
  128.             }
  129.         }
  130.     }
  131. }
  132.  
  133.  
  134. // Задача 3.7 (уже сдавал, но почему то не засчитали)
  135.  
  136. using System;
  137. using System.Collections.Generic;
  138. using System.Linq;
  139. using System.Text;
  140. using System.Threading.Tasks;
  141.  
  142. namespace Task37
  143. {
  144.     class Program
  145.     {
  146.         static void Main(string[] args)
  147.         {
  148.             // Задача 3.7
  149.                        
  150.             Console.WriteLine("- - - - - М Е Н Ю - - - - -");
  151.             Console.WriteLine("1) Введите sum для суммирования всех вышевведенных чисел ");
  152.             Console.WriteLine("2) Введите sort для сортировки всех вышевведенных чисел ");
  153.             Console.WriteLine("3) Введите exit или 0 для выхода из программы");
  154.             Console.WriteLine("- - - - - - - - - - - - - -");
  155.            
  156.             string input;
  157.             int count = 1;
  158.             string[] inputArray = new string[1];
  159.             string[] outArray;
  160.  
  161.             int[] myArray = new int[1];
  162.  
  163.             while (true)
  164.             {
  165.                 input = Console.ReadLine();
  166.                                
  167.                 // Вводим данные в массив
  168.                 for (int i = 0; i < count; i++)
  169.                 {
  170.                     inputArray[i] = input;
  171.                 }
  172.  
  173.                 Console.Write("Массив: ");
  174.  
  175.                 // Вывод массива
  176.                 for (int i = 0; i < inputArray.Length; i++)
  177.                 {
  178.                     Console.Write(inputArray[i] + " ");
  179.                 }
  180.  
  181.                 Console.WriteLine();
  182.                 Console.WriteLine("count: " + count);
  183.  
  184.                 count++;
  185.  
  186.                 outArray = inputArray;
  187.  
  188.                 // Обнуляются данные
  189.                 inputArray = new string[count];
  190.  
  191.  
  192.  
  193.                 outArray = inputArray;
  194.                                
  195.                 if (input == "exit" || input == "0")
  196.                 {
  197.                     Console.WriteLine("Выход..");
  198.                     break;
  199.                 }
  200.             }
  201.         }
  202.     }
  203. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement