问题标签 [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.

0 投票
2 回答
2647 浏览

python - libtcod 和 python 中的击键/控件?

在Roguebasin上的Python/Libtcod 教程,用于控制角色的基本代码使用上下左右键。有没有办法让它使用 WSAD 或任何其他键?Libtcod 只允许我使用“特殊”键,例如箭头键、PGDN/PGUP、F1 F2 F3,但不能使用常规的字母数字键。

0 投票
1 回答
1527 浏览

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()

0 投票
1 回答
8859 浏览

python - Python程序在我运行时没有响应

我使用 Libtcod 在 python 中制作了一个 roguelike。当我运行代码时,会弹出窗口,在屏幕上绘制符号,但随后窗口冻结。然后它说它没有响应。我不明白发生了什么。这是代码:

0 投票
1 回答
231 浏览

python - 播放移动时Python程序没有响应

我正在用 libtcod 在 python 中写一个 roguelike。在我切换到面向对象之前,运动效果很好。当我运行我的 python 游戏时,它会弹出,但一旦我尝试移动播放器,它就会冻结。这是我的代码:

它可能与while循环和运动有关......呃我不知道

0 投票
1 回答
568 浏览

c++ - libtcod root 搞砸了

每次我运行这个窗口立即关闭,并返回 3

0 投票
2 回答
588 浏览

python - Python Roguelike:背景问题

我正在关注一个关于在 python 中制作 roguelike 的教程,它实际上非常好。但是,我遇到了一个小图形问题:对于玩家和敌人,他们都有黑色背景,这是我不想要的。我已经尝试将背景更改为无,但我似乎无法弄清楚如何修复它。如果有人能帮助我解决这个问题,我将不胜感激。以下是显示此问题的图像的链接:

另外,如果有帮助,我正在使用 notepad++ 和 libtcod。

谢谢。

0 投票
1 回答
2359 浏览

python - python 和 libtcod:使用 perlin 噪声生成地形

我发现了一篇关于世界生成的好帖子,可以在这里找到。

它很好地描述了需要做什么,但我无法弄清楚如何在 python 中做到这一点。我相信它是在 as3 中完成的,但我不确定。无论如何,我还发现了一个针对 perlin 噪声的 libtcod 函数:

我真的不知道如何实现这一点,然后根据高度分配字符。

如果有人可以帮助我将文章中的步骤翻译成 python,我将非常感激。谢谢

0 投票
2 回答
166 浏览

c++ - C++:如何在函数中使用 %i?

我有一个小问题,是否可以在函数中使用 %i ?这是我需要做的。我有一个函数回调:

我想以这种方式使用它:

我需要如何实现它,或者这甚至是不可能的?我尽力去做某事,但我没有成功。:(我想这样做的原因是玩家复仇到下一个级别,engine.level计数得到++,所以玩家升级他可以在不同级别获得更多敏捷,然后升级他可以被告知有多少他能得到的敏捷。

0 投票
1 回答
106 浏览

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 找不到。

0 投票
2 回答
1230 浏览

python - 我正在用 Python 编写 Roguelike,我需要一个特定的怪物跟随脚本

我正在使用 libtcod 和 python 制作一个 roguelike;我跟随怪物的教程只有在你在他们的视野中时才会跟随你。显然这是不够的;因为这意味着您可以转弯,而他们不会在拐角处跟随您。
我尝试过这样的事情;

无济于事。它提出了

TypeError:take_turn()正好需要 2 个参数(给定 1 个)

不知道如何实现这一点。

我在打电话 我在打电话给 take_turn