170 похожих чатов

Добрый вечер. Я человек с основным гуманитарным образованием. Если не

вдаваться в подробности, прохожу сейчас курс C# Foundational от Freecodecamp Microsoft Learn. В одном модуле в петпроекте (https://learn.microsoft.com/ru-ru/training/modules/challenge-project-create-mini-game/3-exercise-add-code-to-end-game) надо написать в консоли "игру" типа Пакмана. Первая задача состоит в том, чтобы закрывать игру если а) игрок нажимает любую клавишу кроме стрелок (это сделано), б) если игрок изменяет размер консоли.
При тестировании задание требует от меня изменить консольной командой размер окна, чтобы затем проверить, что приложение закроется.
Допустим, команду я знаю mode(cols, lines). Но как ее ввести, если консоль в принципе занята игрой?

20 ответов

99 просмотров

Каким образом занята?

Rustam
Каким образом занята?

Скажем, одна из проверок этого задания должна завершать игру, закрывать консоль, если игрок нажимает какую-либо клавишу, кроме стрелок. Соответственнно, если я попытаюсь ввести mode, то при нажатии клавиши "m", игра завершится, не дав мне проверить закрытие приложения при изменении размера консоли

Rustam
Можно выразиться ещё раз?

1) выбираю режим с отслеживанием ввода клавиш, не являющихся стрелками 2)Пытаюсь ввести "mode" - после нажатия клавиши "m" выпадает сообщение 3) Программа закрывается

Андрей Соловьев call80/1710527
screenshot

Программа тобой написана?

Rustam
Программа тобой написана?

Основная часть написана заранее авторами курса, от меня требовалось добавить тот или иной функционал. Первый шаг - сделать логику завершения программы при вводе клавиш, не являющихся клавишами направления, и завершения при изменении размера консоли

Rustam
Так значит ее и надо дебажить)

Так я изначально не понимал, как это проверить. Просто по логике вещей и по тому порядку тестирования, что от меня требуется в задании, нужно сначала запустить программу, и только потом менять размер консоли для "проверки" - чтобы программа знала, какой размер окна был изначально и какой стал после такого "чита" При этом, по логике этой "игры" проверка на ввод клавиш-не-стрелок и изменение окна консоли должны быть параллельны, то есть нельзя сначала проверить то, потом это Ну и вишенка на торте (может, для меня, гуманитария) - как я могу ввести консольную команду посреди выполнения программы в консоли?

Андрей Соловьев call80/1710527
Нашел, но что это даст?

Ну тебе же надо было сделать проверку

Skuli Dropek
Ну тебе же надо было сделать проверку

Так проверку на клавиши, не являющиеся стрелками я сделал, это не сложно. У меня вопрос, как мне при запущенном в консоли приложении консольной командой изменить размер этой самой консоли. Особенно если учесть, что параллельно я сам написал логику, по которой программа не позволяет мне вводить что-то кроме клавиш со стрелками

Нет, об этом голова и болит. Как тогда, хотя бы в общих чертах, это сделать можно?

Андрей Соловьев call80/1710527
Нет, об этом голова и болит. Как тогда, хотя бы в ...

Т.е. даже нажатие функциональных клавиш закрывает консоль?

Кот Сумасброд
Т.е. даже нажатие функциональных клавиш закрывает ...

В самой задаче сказано,ч то к закрытию должно приводить нажатие "nondirectional key", то есть, как я понял, любой клавиши, не являющейся стрелкой

Андрей Соловьев call80/1710527
Так проверку на клавиши, не являющиеся стрелками я...

Если ты делал через Console.ReadKey(), то я бы добавил возможность вводить "/", которая бы обозначала ввод команды

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта