问题标签 [libtcod]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - libtcod 和 python 中的击键/控件?
在Roguebasin上的Python/Libtcod 教程中,用于控制角色的基本代码使用上下左右键。有没有办法让它使用 WSAD 或任何其他键?Libtcod 只允许我使用“特殊”键,例如箭头键、PGDN/PGUP、F1 F2 F3,但不能使用常规的字母数字键。
python - Python / LibTCOD - libtcod.console_wait_for_keypress(True) 为每个输入触发两次
我正在阅读Roguebasin python/libtcod roguelike 教程。我遇到的问题是,每次key = libtcod.console_wait_for_keypress(True)
调用时,主循环都不会触发一次,而是触发两次。处理键盘输入的代码如下:
代码从本教程的这一部分逐字提取(除了额外的四个空格缩进) 。请注意,该页面上有两个代码版本。我写了自己的版本,但即使直接复制/粘贴,我也会遇到问题。据我所知,这个问题贯穿了整个教程。
console_wait_for_keypress(True)
应该等待一个键并将其放入“键”变量中,这样我就可以对其做出反应。所有其他输入都应该被刷新。然后再次调用主循环的新迭代console_wait_for_keypress(True)
,这应该等待新的输入,依此类推。相反,触发器的每第二次迭代都console_wait_for_keypress(True)
无需等待新的输入。
游戏实际上运行良好,因为第二个输入不会触发任何console_is_key_pressed()
条件,并且handle_keys()
函数返回“didnt-take-turn”,它告诉游戏逻辑什么都不做。这仍然意味着对于每个周期,都会花费两个,这不是所需的行为。handle_keys()
如果您打印每个循环的结果,问题很容易观察到。它在“None”和“didnt-take-turn”之间交替。
老实说,我对此感到困惑。简单地按住一个方向按钮似乎不会产生'didnt-take-turn'输出,但该功能应该用于单个按键。延迟不能太短,因为正常的按键总是会产生两个输出。libtcod 文档无法帮助我。
我应该怎么做才能使单次击键仅触发一次console_wait_for_keypress()
?
python - Python程序在我运行时没有响应
我使用 Libtcod 在 python 中制作了一个 roguelike。当我运行代码时,会弹出窗口,在屏幕上绘制符号,但随后窗口冻结。然后它说它没有响应。我不明白发生了什么。这是代码:
python - 播放移动时Python程序没有响应
我正在用 libtcod 在 python 中写一个 roguelike。在我切换到面向对象之前,运动效果很好。当我运行我的 python 游戏时,它会弹出,但一旦我尝试移动播放器,它就会冻结。这是我的代码:
它可能与while循环和运动有关......呃我不知道
c++ - libtcod root 搞砸了
每次我运行这个窗口立即关闭,并返回 3
python - python 和 libtcod:使用 perlin 噪声生成地形
我发现了一篇关于世界生成的好帖子,可以在这里找到。
它很好地描述了需要做什么,但我无法弄清楚如何在 python 中做到这一点。我相信它是在 as3 中完成的,但我不确定。无论如何,我还发现了一个针对 perlin 噪声的 libtcod 函数:
我真的不知道如何实现这一点,然后根据高度分配字符。
如果有人可以帮助我将文章中的步骤翻译成 python,我将非常感激。谢谢
c++ - C++:如何在函数中使用 %i?
我有一个小问题,是否可以在函数中使用 %i ?这是我需要做的。我有一个函数回调:
我想以这种方式使用它:
我需要如何实现它,或者这甚至是不可能的?我尽力去做某事,但我没有成功。:(我想这样做的原因是玩家复仇到下一个级别,engine.level计数得到++,所以玩家升级他可以在不同级别获得更多敏捷,然后升级他可以被告知有多少他能得到的敏捷。
c++ - 为什么 libtcod samples_cpp 会这样运行?
我已经在我的机器(版本 1.5.1)中构建了 libtocd dll,但是当我使用 win32 控制台项目运行 samples_cpp.cpp 时。一些混乱字体显示为附图。有谁知道为什么会这样?非常感谢您的回复。
我发现如果我在 main 函数中注释这段代码,结果会很好。但我不知道根本原因。以前的:
====>
较新:
结果img如下: 在此处输入链接描述
抱歉,使用图片 URL 来发布图片的信誉少于 10 个。
PS:构建libtcod dll时的另一个问题:使用zlib-1.2.3时,在头文件zconf.h中,我需要更改如下,原:
====>
较新:
否则,编译器输出头文件 unistd.h 找不到。
python - 我正在用 Python 编写 Roguelike,我需要一个特定的怪物跟随脚本
我正在使用 libtcod 和 python 制作一个 roguelike;我跟随怪物的教程只有在你在他们的视野中时才会跟随你。显然这是不够的;因为这意味着您可以转弯,而他们不会在拐角处跟随您。
我尝试过这样的事情;
无济于事。它提出了
TypeError:
take_turn()
正好需要 2 个参数(给定 1 个)
不知道如何实现这一点。
我在打电话 我在打电话给 take_turn