На вскидку, набирая с телефона можно сделать так: создавать свою енамкц не нужно. Кнопки есть в консолкее. Но можно пойти дальше. При нажатии вправо выводить на консоль пробел, если вниз, то добавлять перенос строки + подстроку между двумя переносами строк. Обернув все это в проверки на края экрана можно добиться того, что курсор будет перемещаться стрелками.
@CryptoPaddincgron Жыл бұрын
этой лучший канал по c# не забрасывай пж
@alexeyni722 Жыл бұрын
брат, спасибо тебе большое:)
@freshhuk Жыл бұрын
Буду честен мне твой урок больше понравился чем у simple code
@МихайлоАнатолійовичБабич Жыл бұрын
Пишу комент для хайпа, надеюсь ролик залетит кому-то в реки
@flore82118 ай бұрын
Привет, пришел сюда от симпл кода,жалко забросил и ты,но снимаете почти один в один контент. Пришел именно на этот видос так как не понял у симпла енам,здесь понял,но вот дз не очень. Енам то создашь на легке с такими же клавишами,что есть в консол кей. Только вот толку от этого нет) Ибо ридкей считывает консол кей и если попробовать привести твой енам к ридкею нихуя с этого не выйдет. Но вот обьяснил нормально
@pieshock5827 Жыл бұрын
Чтобы не спойлерить, оставлю решение ДЗ в комментариях комментария
@pieshock5827 Жыл бұрын
namespace Enum { enum KeyMove { A = 65, D = 68, S = 83, W = 87 } internal class Program { static void Main(string[] args) { while (true) { KeyMove a = (KeyMove)Console.ReadKey().Key; switch (a) { case KeyMove.A: Console.WriteLine(" Игрок идёт влево"); break; case KeyMove.D: Console.WriteLine(" Игрок идёт право"); break; case KeyMove.W: Console.WriteLine(" Игрок идёт вперёд"); break; case KeyMove.S: Console.WriteLine(" Игрок идёт назад"); break; } } } } }
@ТагирЮсупов-г6ж11 ай бұрын
лучшее объяснение, а то сколько можно уже
@fo4a299 Жыл бұрын
люблю задания спс
@cunning_jumper Жыл бұрын
Короче это что-то типа создания объекта, понятно.
@Dm_Freyr Жыл бұрын
А почему просто не использовать строки?
@VaultBoyVaultBoy Жыл бұрын
*На проэкте где как минимум несколько человек работают используют enum, чтобы другой разработчик при написании кода не напридумывал лишней логики, которая повторяется, но под другим названием. К примеру один из разрабов сделает логику с проверкой на строку с названием "speed", а другой на строку velocity. Смысл то один, а код будет дублирован. А так ему скажут или в документации опишут, что есть для его нужд перечисление, он найдёт это перечисление и увидит какие уже существуют названия и просто к ним обратится при проверке, ну там if (fieldSelected == Details.Speed) { ... }*
@Dm_Freyr Жыл бұрын
@@VaultBoyVaultBoyспасибо, за разбор!
@rafk53415 ай бұрын
@@Dm_Freyr енум - это просто числа, строка - это массив символов, быстрее сравнить одно число с другим, чем посимвольно перебирать строки
@ВладимирКожевников-ъ8м3 ай бұрын
Правильно говорить "Энам"
@karimahmed6363 Жыл бұрын
Йэнам, йэнтер? страно звучит😅
@FrameCheats15 күн бұрын
сделал но посвоему
@FrameCheats15 күн бұрын
class Program { static void Main() { while (true) { ConsoleKey key = Console.ReadKey().Key; switch (key) { case ConsoleKey.A: Console.WriteLine("character is walking left"); break; case ConsoleKey.S: Console.WriteLine("character is walking backward"); break; case ConsoleKey.D: Console.WriteLine("character is walking right"); break; case ConsoleKey.W: Console.WriteLine("character is walking forward"); break; } } } }
@FrameCheats15 күн бұрын
или using System; using System.Runtime.CompilerServices; enum PlayerMovement { A, W, S, D } class Program { static void Main() { while (true) { PlayerMovement key = (PlayerMovement)Console.ReadKey().Key; switch (key) { case PlayerMovement.A: Console.WriteLine(key); break; case PlayerMovement.W: Console.WriteLine(key); break; case PlayerMovement.S: Console.WriteLine(key); break; case PlayerMovement.D: Console.WriteLine(key); break; } } } }
@Firverkqz7 Жыл бұрын
Тело свитча в одну строку уместил case ConsoleKey.W:Console.WriteLine("Вы идете вперед");break;case ConsoleKey.S:Console.WriteLine( "Вы идете назад");break;case ConsoleKey.D:Console.WriteLine("Вы идете направо");break;case ConsoleKey.A: Console.WriteLine("Вы идете налево");break; Я гений?
@A_coder240 Жыл бұрын
да я тоже так сделал но будет легче с помощю goto key;
@tizzireactions91976 ай бұрын
enum Movement { W, A, S, D } while (true) { var key = Console.ReadKey().Key.ToString(); if(Enum.TryParse(key, out Movement movement)) { var tryKey = Enum.Parse(typeof(Movement), key); switch (tryKey) { case Movement.W: Console.WriteLine("Вы идёте вперёд"); break; case Movement.A: Console.WriteLine("Вы идёте налево"); break; case Movement.S: Console.WriteLine("Вы идёте назад"); break; case Movement.D: Console.WriteLine("Вы идёте направо"); break; } }
@king_fox_3106 Жыл бұрын
Ого, да ты многого не знаешь. Существует еще такой класс в системе, Enum называется. Да, точно так же как и твоё перечисление. Много чего умеет, в том числе преобразовывать из текста в перечисление. Можно создать массив перечислений и много чего ещё интересного =)
@senior_v_IT Жыл бұрын
Да но мы даже не изучали классы. Я не могу сразу к этому классу перейти так как мы с абсолютного нуля по очереди проходим все темы
@king_fox_3106 Жыл бұрын
@@senior_v_IT Это классика =)
@safuzeplay9543 Жыл бұрын
Решение: namespace Enum { enum Dvij { W, A, S, D } internal class Program { static void Main(string[] args) { while (true) { ConsoleKey dvij = Console.ReadKey().Key; switch (dvij) { case ConsoleKey.W: Console.WriteLine("Игрок идёт вперёд"); break; case ConsoleKey.A: Console.WriteLine("Игрок идёт влево"); break; case ConsoleKey.S: Console.WriteLine("Игрок идёт назад"); break; case ConsoleKey.D: Console.WriteLine("Игрок идёт влево"); break; } } } } }
@gopnikkasarj679711 ай бұрын
не догадался бы, спс
@arsJS11 ай бұрын
это не правильное решение задачи@@gopnikkasarj6797
@shotdan11 ай бұрын
И смысл? Ты используешь enum ConsoleKey, а не свой Dvij.
@W_O_I_F7 ай бұрын
@@shotdan { enum Dvij { Вперед, Назад, Налево, Направо, Стоп } static void Main(string[] args) { while (true) { ConsoleKey dvij = Console.ReadKey().Key;// Переменная типа ConsoleKey switch (dvij) { case ConsoleKey.W: Console.WriteLine(" " + (Dvij)0); break; case ConsoleKey.A: Console.WriteLine(" " + (Dvij)2); break; case ConsoleKey.S: Console.WriteLine(" " + (Dvij)1); break; case ConsoleKey.D: Console.WriteLine(" " + (Dvij)3); break; case ConsoleKey.Spacebar: Console.WriteLine(" " + (Dvij)4); break; } } } вот так наверное имелось ввиду в задании
@СергейФаюршин-н8з5 ай бұрын
Почему вы все используете метод Console.ReadKey().Key? Когда говорилось о преобразовании типа enum? enum move { W, S, A, D, L } static class Program { static void Main(string[] args) { while (true) { switch ((move)(Convert.ToInt32(Console.ReadLine()))) { case move.W: Console.WriteLine("Персонаж движется вверх"); Console.WriteLine(Convert.ToInt32(move.W)); break; case move.D: Console.WriteLine("Персонаж движется вправо"); Console.WriteLine(Convert.ToInt32(move.D)); break; case move.A: Console.WriteLine("Персонаж движется влево"); Console.WriteLine(Convert.ToInt32(move.A)); break; case move.S: Console.WriteLine("Персонаж движется вниз"); Console.WriteLine(Convert.ToInt32(move.S)); break; } } } }