帮助算法动态更新文本显示

Ape*_*ago 4 c++ perl console-application ascii-art

首先,一些背景故事:

我正在制作可能相当于" roguelike "游戏的东西,所以我可以夸大一些有趣的想法,我已经浮现在脑海中.游戏玩法不会是一个地下城爬行,但无论如何,显示器将以类似的方式完成,具有简单的ascii字符.

由于这是一个自我练习,我努力自己编写大部分内容.

最终我想让游戏在任意大型游戏世界中运行.(到了我预计游戏网络化并跨越计算机实验室中的许多监视器的程度).

现在,我有一些代码可以读写文本控制台的任意部分,并设置一个简单的分区系统,以便我可以有效地进行路径查找.


现在的问题是:

我已经运行了一些基准测试,最大的瓶颈是重新绘制文本控制台.

拥有大型游戏世界需要智能更新显示器.我不想每帧都重新推送我的整个游戏缓冲区... 我需要一些关于如何设置它的指针,以便它只绘制游戏中已更新的部分.(而不仅仅是我现在拥有的个人角色)

我一直在通过windows.h操作windows控制台,但我也有兴趣让它通过连接到服务器的puTTY客户端在linux机器上运行.

我已经尝试过调整一些视频处理程序,因为像素和角色之间的比例几乎是1:1,但我没有运气.

真的,我想简单解释一下它背后的一些原理.但是一些示例(psudo)代码也会很好.

MkV*_*MkV 6

使用Curses,或者如果您需要自己动手,请阅读有关VTnnn控制代码的信息.这两个应该适用于Windows和*nix术语和控制台(和Windows).您还可以查阅nethack源代码以获取提示.这样,您可以在屏幕上更改已发生更改的字符.