Я занимаюсь разработкой текстовой игры о кибербезопасности, похожей на hackRUN или uplink, но у меня нет опыта программирования с использованием графического интерфейса, и я сомневаюсь, что кто-то в моей семье захочет узнать, как создать и запустить файл .cpp. Поэтому мне нужно создать графический интерфейс с настраиваемой командной строкой, похожей на Linux или windows «cmd». Есть ли ресурсы в этой области?
Вы можете создать текстовый элемент управления размером всего окна и настроить его так, чтобы он выглядел как консоль. Например, установите черный цвет фона, белый цвет букв и т. Д.
То, как вы создаете это текстовое поле, зависит от того, какую среду пользовательского интерфейса вы используете. Для C ++ есть MFC или управляемые WinForms, или вы можете создать часть пользовательского интерфейса в C # с помощью WPF и использовать C ++ / CLI в качестве моста между C ++ и C #. Но если вы хотите, чтобы он работал как в Windows, так и в Linux, вы можете использовать wxWidgets или Qt.
Вы можете смоделировать командную строку, прочитав строку от пользователя и разделив ее на первый пробел (Python / pseudocode *):
for line in raw_input():
command,arguments = line.split(' ',1)
Например read book
это команда read
с аргументом book
,
Затем вы можете обработать команду, которую они дали, используя вашу собственную логику. Преимущество этого подхода заключается в том, что вы можете просто запустить свою игру с помощью ярлыка на рабочем столе (будь то Linux или Windows), и консоль ОС будет поддерживать взаимодействие.
Существует класс игр под названием «текстовые приключения», которые были популярны еще тогда, когда графика была ограничена или вообще отсутствовала, что вы можете найти особенно актуальным. Подумайте об использовании существующего текстового движка приключений, чтобы вы могли сосредоточиться на самой игре, а не на механизме ввода текста и разбора.
* Попробуйте написать это на Python или аналогичном языке сценариев, поскольку они обеспечивают простую обработку строк и т. Д. Вам вряд ли понадобится грубая мощь и сложность C ++ для семейной игры в стиле командной строки.