问题标签 [roguelike]
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.
unity3d - Unity:如何在不改变场景的情况下拥有不同的房间
我正在尝试在 Rogue Legacy 的风格中创建一个 roguelike,但我需要知道如何不让敌人从一个房间带到另一个房间。离开房间时,所有敌人都需要空闲并重置。我想在不改变场景的情况下做到这一点,因为这会占用大量内存。
这是一个示例: https ://youtu.be/B5jL25HgSIs
如果您知道如何将电影机锁定到您所在的房间,则可以获得奖励积分。
python - int() 参数必须是字符串、类似字节的对象或数字,而不是“列表” Python python-tcod Roguelike
我正在使用 python-tocd roguelike 引擎制作一个 roguelike 游戏。我的游戏基于 python libtcod roguelike 教程。
我正在制作一个用于生成地图的常量列表
现在我在函数中使用一些代码来确定房间的大小。
我在这里定义了变量
现在当我启动游戏时,会出现这种情况?
我应该怎么办?
c++ - WriteConsoleOutputCharacter 绘制额外像素厚的空白空间
我一直在控制台中设计一款 roguelike 视频游戏。
我的问题是我最初使用 writeconsoleoutput 一次绘制整个地图,然后使用 writeconsoleoutputcharacter 重新绘制必要的内容。但我发现它在右侧画了一个额外的像素厚。这实际上从右侧的图块上擦除了一个像素。
有谁知道让它停止绘制字符并在字符右侧添加 1 个像素的空白区域的方法。
编辑:我发现的一种解决方法是重新绘制玩家踩踏的线条,但有时我会注意到闪烁,这并不完美。最好只在单个基础上重绘字符而不在末尾附加任何像素。或其他任何地方。用于打印字符的代码
例子:
人物走在路上之前:形象之前
人物走在路上之后: 图片之后
可执行链接:可执行
我创建了一个工作示例,你们可以编译(假设您使用 Windows)来查看发生了什么。在其中我创建了一个控制台,设置大小用 asci 符号 223 填充屏幕。然后我使用 Writeconsoleoutchar 打印一个绿色的 223 符号。您可以看到额外绘制的黑色像素线。
java - Java中的矩形重叠
我正在尝试制作一个随机地图生成器。它应该在随机坐标处创建一个随机大小的房间,并删除它与其他房间重叠的房间。但是,重叠检查不起作用。以下是代码的相关部分:
然后是 Room 类:
}
所以我一直在测试这个,它每次都会删除几个房间,但是根据房间的数量,总有一些是重叠的。一定有一些我现在看不到的愚蠢简单的解决方案......另外,除非我手动添加第一个房间,否则它为什么不生成任何房间?谢谢
c# - 在程序生成中对齐生成点
我创建了一些框来重新创建一个 2D 关卡,其中地牢是在程序生成中创建的。尽管如此,当我运行我的脚本时,它会创建正确的关卡,但它不会将 Spawnpoints 彼此对齐。
这会导致无限的关卡生成(因为生成点不接触),但它也确保角色无法从一种方式转到另一种方式。我确保每个级别都是 10 x 10 并且生成点距离房间中间 10 像素。我想确保生成点之间发生碰撞,但不幸的是,事实并非如此。
我创建了多个房间,每个房间都有自己的出口(生成点),具体取决于生成点的位置,它可以与另一个具有相同生成点的房间连接(左侧出口的房间与至少一个右出口)。
我把所有这些都放在一个 int 中,声明可用房间的数量。
房间生成器代码
房间模板
我对一个只有 1 个出生点的房间进行了新测试。我在创建第二个生成点的第二秒暂停了游戏,因此您可以看到创建的第二个关卡的高度与起始关卡的高度不同。
在下方,您可以看到连接房间在起始房间的上方生成。通过这样做,它会弄乱所有其他房间。
相反,我希望它是这样的
c# - 游戏关卡意外地相互叠加
我一直致力于程序生成关卡。我已经创建了根据它们的开口产生产卵的盒子。
如果一个盒子有一个左重生点。左边的生成将知道它需要在右边创建至少一扇门。这似乎有效,但由于某种原因,一段时间后,房间开始堆叠在一起。即使我的代码不允许这样做?
这可能是因为墙壁不是彼此完美对称的吗?因为我想拥有更广泛和不同类型的关卡,所以我认为只有生成点对齐就足够了?
这就是关卡如何启动 4 条不同的路径。
还是很顺利
还好
如您所见,起始楼层的每个入口都已被封锁。在此之后,他们不断堆叠彼此的顶部,从而使关卡的生成永无止境。
房间生成器
驱逐舰标签
房间模板
python - Pygame 墙精灵碰撞
我正在制作一个 roguelike 游戏,但在编码方面我是初学者。我已经让我的角色移动了,我的墙壁和地板精灵,但是我的代码中有一些错误允许角色穿过墙壁。
我用block_path
来在地板和墙砖之间进行选择,然后尝试使用它来识别墙壁,但它并没有真正起作用。
接下来,你可以看到我的代码:
`
c# - CS1503 参数 1:无法从“Poc.Core.Player”转换为“Poc.Interfaces.IScheduleable”
抱歉,我对编程很陌生,所以这可能是一个容易解决的问题,但我的知识不足,无法知道如何解决
我将本教程用于一个简单的地牢爬虫https://bitbucket.org/FaronBracy/roguesharpv3tutorial/src/master/
在实现狗头人(我项目中的突变体)的行为时,我会收到一条错误消息,提示“参数 1:无法从 'Poc.Core.(Player/monster)”转换为“Poc.Interface.ISchedule”
这发生在 DungeonMap.cs 中的 addplayer void、addmonster void 和 removemonster void 以及 CommandSystem.cs 中的 ActivateMonsters void 上两次
如果有人能帮我解决这个问题,我将不胜感激
问题空缺:
然后是我的调度系统代码
}
javascript - 画布:在循环中绘制图块导致仅绘制单个图块
我正在生成一个随机的“地图”,如下所示:
然后,我尝试通过映射行和单元格将其渲染到画布:
通过上面只渲染一个{x: 0, y:0}
. 当我检查 map 正在迭代的row
和cell
数组时,它们都有不同的坐标。这意味着生成部分工作正常,问题在于我如何循环和渲染地图。
我在 SO 上阅读了一些关于预加载图像的答案。这是未来需要考虑的事情,但由于我只加载一个精灵表,我认为这不是我的问题。
我无法弄清楚这一点,建议将不胜感激!
为了完整起见,这是我的绘图功能:
还有一个加载精灵表的函数:
此外,这里是一个要点,其中包含更完整的代码,展示了所描述的问题。
编辑:根据@CertainPerformance 的建议,我尝试了嵌套for
循环:
尽管如此,只有一个瓦片正在被渲染。
python - Pygame - 穿过墙壁的生物
您好,我正在 pygame 中制作 roguelike 游戏,我仍处于游戏的第一步,但我遇到了问题。我不知道为什么,但我创造的生物,在这种情况下是“骷髅”,不断地穿过每一面墙。它有一个随机的水平运动,但我添加了为我的主角创建的相同代码,但同时我的角色不能穿过墙壁,骨架只是穿过它们。