![]() |
1
4
我不会声称理解这一点,但我相信这与詹姆斯·戈斯林的传奇故事背后的问题很接近。 Gosling Emacs 重新绘制代码。参见他的论文,题目适当,“一个重新显示算法”,以及 string-to-string correction problem . |
![]() |
2
6
使用诅咒,或者如果你需要自己动手,请阅读vtnn控制代码。这两种方法都适用于Windows和*nix术语和控制台(以及Windows)。您还可以参考nethack源代码获取提示。这将允许您在发生更改的地方更改屏幕上的字符。 |
![]() |
3
1
游戏世界的大小并不真正相关,因为您所需要做的只是为每个客户端计算出可见区域并发送数据。如果你有一个典型的80x25控制台显示,那么你每次只发送2或3千字节的数据,即使你添加了色码等。这是大多数这种性质的在线游戏的典型特征:更新人们所能看到的,而不是世界上所有的东西。 如果你想尝试找到一种方法来减少你发送的内容,那么为了学习的目的,你可以自由地这样做,但是我们已经过了10年,在接近实时的情况下更新一个控制台显示是低效的,浪费时间来修复一个不需要修复的问题是很遗憾的。请注意,上面链接的PDF提供了一个O(n d)解决方案,而简单地发送整个控制台是O(n)的一半,其中n定义为A、B和D的长度之和。 |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |