2012-11-06 144 views
0

我正在研究开发一个类似于hackRUN或上行链路的网络安全文本游戏,但是我没有使用GUI编程的经验,我怀疑我家人中的任何人都想学习如何制作和运行.cpp文件。所以我需要创建一个类似于Linux或Windows“cmd”的自定义命令行的GUI。该地区是否有任何资源可用?如何为C++创建一个命令行模拟器GUI

+4

您是在谈论一个模仿命令行界面外观的GUI或可模仿GUI特定方面的命令行界面? –

+0

另外,您的家人不必编译源代码来运行程序吗?你总是可以给他们的二进制文件... –

+0

是的,你可以通过Visual Studio很容易地做到这一点,如果你只想让它成为Windows,那么我想看看的下一个最好的东西是GTK +,它是跨平台的,有点更难使用 – pyCthon

回答

1

您可以创建一个文本框控件,它是整个窗口的大小,并对其进行自定义以使其看起来像控制台。例如,将背景设置为黑色,将字母颜色设置为白色等。

如何创建该文本框取决于您使用的是哪个UI框架。对于C++,可以使用MFC或托管的WinForms,也可以使用WPF在C#中创建UI部分,并使用C++/CLI作为C++和C#之间的桥梁。但是如果你想让它在Windows和Linux上都可以使用,你可以使用wxWidgets或者Qt。

+0

谢谢,那是我开始的好地方。非常感激! – user1803796

+0

除非需要提供看起来像控制台的GUI(而不是看起来像控制台的控制台),否则这将在任何真正的工作开始之前将很多GUI搞乱。无论如何,当你有一个工作的游戏时,请尽量做到这一点。在你对我的回答的评论中,你提到这是一个学习C++的练习;与WinForms和MFC,你只会学习一些恼人的Windows API,不一定是C++本身。他们现在也不是最佳实践,在线教程也不会出现在C++ 11中,这应该是您作为初学者的起点。祝你好运。 –

0

可以通过读取从用户和分割线在第一空间(Python的/伪代码*)模拟一个命令:

for line in raw_input(): 
    command,arguments = line.split(' ',1) 

例如read book是命令read用参数book

然后你可以使用你自己的逻辑来处理他们给出的命令。这种方法的优点是,您可以通过桌面上的快捷方式(无论是Linux还是Windows)和操作系统控制台来支持交互来运行游戏。

有一类叫做“文本冒险”游戏的游戏,当图形有限或不存在时,这些游戏很受欢迎,您可能会发现它们特别相关。考虑使用现有的文本冒险引擎,以便您可以专注于游戏本身,而不是文本输入和解析的机制。 *考虑用Python或类似的脚本语言编写它,因为它们提供了对字符串的直接处理等。你不可能需要C++的原始力量和复杂性,以用于命令行式的家庭游戏。

+0

我很感谢你的建议,尽管我想用C++来做,主要是为了提高我在这门语言的技能,因为我在这个学期学习这门语言。感谢您的帮助 – user1803796

+0

@ user1803796:最好在问题中包含所有相关信息;这应该可以帮助你获得最有用的答案。通常包括较少的信息将导致人们给出更一般的答案,就像这里发生的那样。尽管如此,从提示中逐行读取命令的建议仍然存在,因为替代方法是编写一个GUI垃圾负载,只是为了给您输入相同的框。 –

相关问题