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

0 投票
0 回答
138 浏览

user-interface - JavaFX 控制台游戏地图对象

我想用 JavaFX 创建小游戏应用程序,比如 RogueLike 游戏。

我的想法是在 3 个部分上分隔窗口,例如: - 右侧的详细信息/规格(从上到下) - 底部的玩家控制台执行命令、读取响应等 - 游戏地图(控制台样式,彩色标志是游戏元素:物品、敌人等)从顶部到玩家控制台。

我想用一些 .png 间隙或内置元素分隔这些部分。

我想知道什么对象可以给我改变它的背景等的可能性,并像在 2d 数组中那样迭代它的元素,加上它会在调整大小后以某种方式缩放。

感谢您的建议。

0 投票
1 回答
134 浏览

python - “Confused Digger”算法运行太慢,有什么办法可以加快速度?

我有一个基于回溯迷宫算法的算法,其中一些部分被移除,从而产生了这个美妙的地牢。不幸的是,它的运行速度非常慢,这使得几乎不可能填满一张合适大小的地图。我真的不想扔掉它,但我想不出任何方法来加速它。我正在使用 Python,所以我知道这是我的问题的一部分,但我并没有完全准备好丢弃我的 roguelike 的整个现有代码库,它现在运行得足够快。这是当前的代码:

[编辑]

  1. 为了回答评论中的一些问题,place_cell 根据位置参数 is_wall 在提供的位置元组处创建墙或空单元。例如,在上面的代码中,self.place_cell(new, is_wall=False)调用将地图上新位置的单元格更改为空单元格。
  2. 访问真的应该被称为别的东西,我只是......这样懒惰。我以后可能会修复它。
  3. < 300条件是因为 299 个单元格是它在合理的时间范围内最多可以绘制的。(超过 299 个单元,它突然开始挂起。)
0 投票
1 回答
87 浏览

c - C中的PDCurses(不断显示“访问冲突读取位置”)

我昨天刚开始了一个新项目(roguelike)。这是我的第一次,我一直遇到同样的错误。在尝试实现滚动地图后,我运行了程序,但每当我按下一个键时,Visual Studio 都会显示一个消息框,指出存在访问冲突读取位置。

这是代码:

0 投票
0 回答
156 浏览

c# - 我无法让我的玩家连续移动两次

抱歉,如果问题看起来含糊不清,但我正在创建一个基于回合的 2D roguelike 游戏用于编码练习,并希望玩家能够在用户单击按钮时移动两次而敌人移动一次。我尝试使用多个布尔值,但无济于事。

玩家回合是一个整数,一旦达到 0,就成为敌人回合。用户单击按钮时的代码:

我的播放器管理器中的移动代码(这是错误所在)

GameManager.instance.playersTurn--;即使我只移动了一次,也会减少到零。如何每次移动减少一次?我认为问题在于,这是在更新中调用的。任何指针都会有很大的帮助,谢谢大家。

这是我父类中的其他代码,以防错误可能出在此处:

0 投票
1 回答
332 浏览

java - 使用 Prim 算法在迷宫中放置房间

我试图在 ASCII 屏幕上放置房间,然后使用Prim 的算法用迷宫“填充”房间之间的空间,但实际上并没有闯入房间。我已经修修补补了几个小时,但我想不出办法阻止我的算法闯入我的房间。

谁能帮我?我很迷茫。我正在练习地图生成技术,这是我的第五个。不,我不想用另一种方式来做,我只是想用这种方式来做——但是对。

下面是我当前输出的带有房间的照片,我当前的不带房间的输出,以及相关源代码的链接(又名 Prim 的算法部分)。如果你真的能帮助我,再次感谢!

注意:所有相反的方法都是找出“父”单元格是哪个单元格,并据此确定方向。因此,如果父单元格的 x 值为 7,而子单元格的 x 值为 6,则它知道这是新的子单元。

没有房间

有房间

0 投票
1 回答
68 浏览

c# - 无法使用名为 RLNET 的 nuget 将带有 [] 的索引应用于 im 类型的表达式

这是我的代码,它给了我这个错误,我不明白人们在互联网上给出的解决方案

解释 Ruutu 是一个类,而 maa 是它的一个实例。Piirrä 是一种 ruutu 方法,应该将 maa 的字符绘制到控制台上

精确的错误是错误 CS0021 无法使用 [] 将索引应用于“Ruutu”类型的表达式

0 投票
0 回答
39 浏览

java - 从Java中的文件中读取数据以进行roguelike

我正在尝试创建一个简单的 roguelike,我想从数据文件中读取我的怪物信息,但是我在读取怪物符号时遇到了问题,因为游戏是 ascii。整个项目在 github 上https://github.com/Knickkennedy/roguelike-alpha

示例行如下:

我正在尝试用它创建一个新的“Mob”类,例如 Mob newMob = new Mob(etc) 但我不知道如何读取符号字符或解析颜色,因此为什么颜色被分成十六进制整数。任何帮助将不胜感激。谢谢!

0 投票
2 回答
126 浏览

c++ - 将多个向量转换为 void *

我目前正在研究 Roguelike,其中我有多个不同的事件队列(以向量的形式),它们处理多个不同的事件类别。或者更确切地说,不同的游戏对象有自己的私有事件队列。

在地图图块数据中,我有一个特殊的触发器结构,当玩家(或其他任何东西)进入图块时会激活它。此图块结构提供用于生成事件标志的数据,然后需要将其放置到适当的事件队列中。

瓦片结构如下:

触发器结构本身可以保存用于确定哪个队列是合适队列的信息,但是为地图中的每个图块保存指向所有可能事件队列的指针是不可行的,特别是当我让地图动态生成无限地图的地形时.

所以问题是双重的:在调用函数时将向量转换为 void 指针是否是个好主意:

对象本身将tile能够确定正确的队列向量类型并使用trigger t_dgram成员变量取消引用 void 指针,但这是个好主意吗?这有什么我不知道的危险吗?

您个人如何建议我达到类似的效果?

感谢您的时间。

0 投票
2 回答
442 浏览

java - java中如何用OOP设计一个RPG类系统?

我正在根据Trystan 的教程制作一个 roguelike,并遇到了实现类系统的问题。我很确定解决方案很简单,但请耐心等待。

我在“new Wizard()”后面的分号上收到“令牌“;”,预期的语法错误。我相当确定这不是问题,而是我的类和继承的设置方式。我应该如何设置代码?任何帮助,将不胜感激。

0 投票
1 回答
141 浏览

python - Libtcod python 3 在尝试移动角色时崩溃?

我正在尝试制作一个基本的 roguelike 并遵循本教程:http : //www.roguebasin.com/index.php?title=Complete_Roguelike_Tutorial,_using_python3%2Blibtcod,_part_1 我尝试使用 libtcod 使角色响应鼠标移动。我按照教程进行,一切顺利,我的角色出现在屏幕上,但由于某种原因,当我尝试执行移动命令时程序崩溃了。作为参考,我的代码在这里:

我将问题发布到另一个论坛,他们说我应该将 playerx 和 playery 定义为全局,所以我将其添加到 handle_keys() 函数中,但它只是在启动时崩溃。