我正在使用C ++编程语言进行练习(第325页,练习12.7,问题2)。
它说:
使用任何图形工具实现简单的图形系统 在您的系统上可用(如果您没有一个好的图形系统 或者没有经验,你可能会考虑一个简单的“巨大的一点 ASCII实现“一个点是一个字符位置和你 通过放置一个合适的容器来写,例如*在某个位置)
现在,我从中收集的是,如果我不想使用GDI +或Direct X,那么我可以使用诸如_
,*
或{{之类的字符在控制台应用中执行此操作1}}。
我是否正确地思考这个问题?
如果我是,我是否正确地认为我需要能够在控制台的任何位置绘制角色?
如果是这样,我如何在控制台的任何位置绘制-
?
或者我可能错了,你可以告诉他我想尝试的东西(如果可能的话,不是GDI + / DirectX)
答案 0 :(得分:1)
为了在控制台的任何位置绘制角色,您确实需要使用特定于操作系统的库来进行控制台访问,或者使用跨平台控制台库。
如果您是在为Windows执行此操作,则可以使用Windows Console API (MSDN),可以将字符绘制到特定位置的函数为FillConsoleOutputCharacter (MSDN)。
答案 1 :(得分:1)
以前可以使用ANSI转义序列,但是在阅读了您的问题并调查here之后,它们似乎已不再存在。
最佳选择似乎是使用Windows控制台API,记录为here。
看起来有一个很好的例子,说明如何继续here。
祝你好运,听起来很有趣!
答案 2 :(得分:1)
在计算机课上这样做的美好回忆,当我们用▀cha进行了打破。双分辨率图形;)。如果您想在第8列中选择一个,则在其前面打印7个空格。如果你想要它在第3行,你可以在前面打印两个\n
。但是,是的,你必须事先考虑你要画的东西。要重绘一个角色,您必须重新绘制所有内容。