问题标签 [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 投票
1 回答
589 浏览

c++ - (C++) libtcod 返回 3?

我在这里使用指南:http: //codeumbra.eu/complete-roguelike-tutorial-using-c-and-libtcod-part-1-setting-up

以下代码打开一个控制台窗口和一个游戏主窗口。游戏窗口在打开半秒后关闭,然后在控制台窗口上按一个键只会返回 3。

进程以状态 3 终止(0 分 3 秒)

-

我不知道为什么会这样,但显然其他人也有同样的问题。这发生在 libtcod 版本 1.5.0、1.5.1 和现在的 1.5.2 中。我敢肯定这不仅仅是版本和兼容性。

截至目前,我在 Windows 7 上使用带有 libtcod 1.5.2(每晚)的 code::blocks。

我已经为此工作了好几个小时,而且我对整个编码有点厌倦了。请stackoverflow之神帮助我;_;

0 投票
2 回答
406 浏览

python - 我可以将项目及其属性存储在外部文件中并在需要时调用它吗?(在 Python 中编写 Roguelike 时)

我刚刚完成了使用 Python 编写 Roguelike 的本教程,现在我完全靠自己来弄清楚下一步该去哪里以及该做什么。

我的困境是代码的混乱。我想在某处存储元素,例如项目;生物; 技能;任何可能有大量属性的地方。

目前,所有这些代码都在一个非常大的文件中,这是最基本的。在关卡上放置物品的函数现在看起来很像这样:(这个函数在关卡生成时被调用)

当我打算添加更多项目时,这个函数会变得很长,然后需要创建的所有函数来处理每个项目的作用。我真的很想将它从 main.py 中取出并将其存储在其他地方,以使其更易于使用,但我目前不知道如何执行此操作。

以下是我尝试解决问题的尝试:

我可以有一个包含项目类的文件,其中每个项目包含许多属性吗?(名称、类型、条件、附魔、图标、重量、颜色、描述、equip_slot、材料)。然后将项目的功能存储在文件中?主文件如何知道何时调用此其他文件?

是否可以将所有项目数据存储在外部文件(如 XML 或其他文件)中并在需要时从那里读取?

显然,我可以应用的不仅仅是物品。当我真正想要的是一个主循环和更好的组织结构时,这对于没有一个非常臃肿的 main.py 非常有用,该文件包含游戏中所有的生物、物品和其他对象膨胀的数千行代码。

0 投票
2 回答
197 浏览

c - libtcod - 运动功能不响应输入

我正在使用 libtcod 和 c 并且我的移动函数不响应输入,这是函数在被调用时的样子

这是实际的源代码

奇怪的是,当 move_entity 内部的代码被复制到程序响应的主函数中时,这里是主循环

}

我敢肯定这只是我忽略的一些愚蠢的事情,但它真的让我大吃一惊,我很感激你的帮助:)

*编辑销售商的建议是我编辑的代码

在主循环中调用的代码

以及函数中的代码

0 投票
1 回答
221 浏览

c++ - 在 MinGW 的 Shell 中编译 libtcod 时出现“错误 1”

我目前正在为 MinGW 安装 libtcod 以制作 roguelike,并按照他们网站上文档中的说明进行操作:http ://doryen.eptalys.net/data/libtcod/doc/1.5.2/html2/compile_libtcod_mingw.html?c =true&cpp=true&cs=true&py=true&lua=true 一切都在编译libtcod(最后)...

...我在文件 src\zlib\zutil.c 上得到错误 1。这是一个截图:http: //i855.photobucket.com/albums/ab112/maximemoring/error1.png

有谁知道这个问题和/或知道如何解决它?

0 投票
1 回答
441 浏览

c++ - 使用 Libtcod,如何控制台->打印具有动态颜色数量的字符串?

我有一个辅助函数,它接受一个字符串和一个颜色向量来格式化字符串,现在我的解决方案是手动检查颜色向量的大小并使用相同数量的颜色调用控制台打印。

假设我的颜色向量为 4,在代码中它会执行以下操作:

虽然这可行,但它很糟糕,我正在寻找不同的方法来实现它,允许超过 16 种颜色等。

我尝试sprintf为向量中的每种颜色做一个,将它添加到 out_string 并重复。我试过用 ostringstream 做同样的事情。我尝试拆分 msg_str "%c",然后在将颜色添加到每个字符串后加入结果字符串。它从来没有成功,总是使用第一种颜色,然后使用随机字符而不是从那里开始的颜色。

我希望上述任何一种方法都能奏效,因为只需sprintf(out_char, format_msg, TCOD_COLCTRL_1)打印到控制台(使用console->print(out_char))就好了。

我的问题是:有没有一种好方法可以将不同数量的颜色传递给控制台->打印功能并让它准确地显示这些颜色,而不会出现严重的代码冗余?


作为后备,我可以打印出字符串的一部分直到第一种颜色,计算它的大小,移动x那么多并打印下一部分,但这并不理想。

我想这个问题也可以概括为关于常规printf替换的同样问题。

0 投票
1 回答
90 浏览

c++ - 带有 libtcod 的 C++ 不允许 TCODColor 类型声明

我正在尝试用 c++ 和 libtcod 制作一个简单的胭脂之类的游戏。我正在尝试编译使用 TCODColor 声明 col 变量的代码

TCODColor col;

这是实际的错误:

error: TCODColor does not name a type

错误出现在头文件中,但我#include "libtcod.h"在 .cpp 文件中包含了必要的内容。我不知道为什么它不允许我声明这种类型。有任何想法吗?

0 投票
2 回答
344 浏览

api - 加密货币 Api 帮助(cryptsy、mintpal、coins-e 等)

我正在开发一个基于比特币的网站,我想将比特币转换为山寨币,然后将山寨币自动发送给给定山寨币地址的用户,但是当我尝试实现它时,我没有找到合适的 api 来实现它网站所以我的问题是如何通过 API 将 BTC 转换为任何山寨币,以及如何使用 api 将硬币发送到任何地址。

我目前正在使用 cryptsy.com API,他们也没有提供任何使用 API 服务发送硬币的功能。

请帮我解决这个问题。

0 投票
1 回答
95 浏览

c++ - 追踪物品和怪物位置

我一直在研究 libtcod/C++ roguelike,但遇到了一个小问题。

当玩家在楼层之间移动时,前一层的物品会留在新地图上,最终会出现在墙壁上,每次我在楼层之间移动时,都会生成更多物品,直到地图被淹没。

有什么方法可以保存特定的楼层(可能是种子),以便保留演员当前的 x/y 以供以后重新加载?

0 投票
1 回答
100 浏览

python - Python libtcod:对象描述功能错误

我正在学习 libtcod python 教程,我决定弄乱一些代码以使其今天更加独特,并决定从允许玩家将鼠标悬停在对象上的功能开始并按“d”获取该对象的描述。

我目前遇到一个属性错误:'str' object has no attribute 'describe' line 657。我尝试了很多不同的东西,但似乎没有用,不幸的是我现在的理解水平非常有限,所以我可以'不知道出了什么问题。

以下是相关的类和函数:

任何帮助将非常感激!

0 投票
1 回答
95 浏览

python - Python libtcod 奇怪的描述错误

我很惊讶这没有崩溃,但我真的不确定这里发生了什么。在鼠标悬停+键时,按“d”应该会在鼠标下调出对象菜单(确实如此)。选择对象时,它应打印出从该对象描述的台式。但它不会,它会打印类似<__main__.Object instance at 0x02AE1800>.

这是相关代码