问题标签 [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.
c - 在原生 C 中制作 Roguelike 的方法
几个月来我一直梦想着制作 Roguelike,不知为何,我固执的头脑不让我使用图书馆。如果不使用 stdio.h 以外的其他库,如何绘制地图并对其进行操作?
c# - 列表中的 X 和 Y 轴索引对于 Roguelike
在分析了此链接中的一段代码(C# 部分)后,我尝试自己进行一些练习。
但是,我对以下部分如何转换为字符串列表中的 X、Y 索引以及为什么 if() 语句在 X 之前具有 Y 索引感到困惑。
列表如下所示:
任何帮助将不胜感激,在此先感谢您!
c - 在 2d 锥形中找到网格点
我正在写一个 roguelike 并且需要一个算法(最好是 ac 实现)来找到一个锥形区域中的所有网格点,效果攻击延伸到与玩家的距离 r。
任何人都可以帮忙吗?
arrays - 从函数 C++ 访问数组
我已经仔细检查过这个特定问题之前是否有人问过,但我找不到任何有用的东西,太......
我已经设法使用我的 PNRG 将十个数字存储在一个数组中,但我不知道如何使用它们来“保留”我的地牢楼层。我试图弄清楚如何使用指针,但这对我可怜的大脑来说太混乱了!
如果这已经被问到,只需指出我(嘿,geddit?点?指针?嗯,我觉得这很有趣......)正确的方向!
提前致谢!
haskell - 将地图约束表示为 ADT
这是一个玩具问题:
(roguelike)2D 地图由方形单元组成,每个单元都有一种材料(岩石或空气)。
每个单元格有四个边界(N、S、E 和 W)。每个边界由两个单元共享。
仅当一侧是岩石而另一侧是空气时,边界才可以选择包含“墙特征”。
(墙壁特征可以是杠杆、图片、按钮等)
只有当一侧是岩石而另一侧是空气时,什么代数数据类型设计才能有一个存储墙壁特征的地方?即数据结构不能表示两个空气单元或两个岩石单元之间边界上的壁特征。
我尝试过的一种方法是在单元格值上对棋盘模式进行异或运算,反转更改和未更改。
我一直对细胞之间存在多条等效路线这一事实感到困惑 - SSW 与 SWS 相同(这个问题的 1D 版本是微不足道的)。
(我认识到 ADT 表示不会特别“可查询”。)
尝试失败更新:
称东边界 E 和南边界 S。让每个边界为Same
或Diff Feature
。这种方法的问题在于它允许存在不一致的路由,例如:
是否有一个数学名称可以表示不同的路线必须聚合到相同的总数?
您可以说 Same 为 1 而 Diff 为 -1,并且沿任何两个单元格之间的每条路径的乘积必须相等(1 或 -1)。
python - 我正在用 Python 编写 Roguelike,我需要一个特定的怪物跟随脚本
我正在使用 libtcod 和 python 制作一个 roguelike;我跟随怪物的教程只有在你在他们的视野中时才会跟随你。显然这是不够的;因为这意味着您可以转弯,而他们不会在拐角处跟随您。
我尝试过这样的事情;
无济于事。它提出了
TypeError:
take_turn()
正好需要 2 个参数(给定 1 个)
不知道如何实现这一点。
我在打电话 我在打电话给 take_turn
python - 用pygame在矩形上方绘制Ascii字符
我正在尝试像使用 pygame 一样制作流氓。
实际上,我可以毫无问题地绘制代表游戏背景的第一个网格(使用mapLoaded
它包含原始地图和drawMap()
返回Case
对象列表的函数)。
我喜欢矩形,但为了将来我想在这个矩形上绘制存储到Case
对象中的 ascii 字符。
使用此方法通过 char 覆盖 rect,我可以稍后创建Object
类似播放器“@”,它也绘制在此背景矩形或字符的顶部。
我的问题与这张图片有关,我如何在用于绘制背景每个单元格@
的函数的顶部中心绘制(然后移动)一个 ascii 字符(这里是播放器)(使用定义的字符属性)。pygame.draw.rect()
Case
我的初始化代码:
我用于将背景绘制到的实际代码drawRogue.py
:
您可以在此处下载并测试这两个 python 文件:
python - 使用组合、策略模式和字典更好地实例化存储在字典中的类
我在 python 中开发了一个 RogueLike,我尝试用 OOP 和我的一点知识来为学生构建一个 python 课程。
我想将此字符串映射转换为 2D 列表,其中包含定义我在 RogueLike 中的图块性质的对象。为此,我决定在读取此变量时使用字典来映射字符键和类以进行实例化mapRogue
。
我找到了一个使用继承的解决方案,但是恕我直言,这段代码并没有我想要的那么优雅,如果我以后想添加其他类型的平铺行为,可能不是很灵活。
使用继承的 DOOR 类
使用组合的 DOOR 类
我怀疑还有其他使用组合和/或策略模式的答案,所以我尝试用 Door 行为装饰 Tile 对象,但我被这个字典阻止了......
实际上我尝试了多种解决方案但没有成功,你有没有一个建议可以帮助我使用优雅的 oop 和 python 解决这个概念问题?
一些信息的更新:
感谢@User和@Hyperborreus的回答,你是对的,我在这里简化了我的例子,在我的代码中,我有两层:
Tile
不动的,- 以及
GameObjects
可以移动、攻击、防御和许多其他功能,composition
就像本教程中使用的一样
使用pygame
,我使用函数显示我的所有Tiles
对象。draw_tile()
所以在这一点上,我需要一个Door
和Tile
类之间的链接,以便稍后为玩家正确计算 fov,因为Door
我的角色有行为并限制了我的角色的视野(属性被阻止或 fovState)。在那之后,我gameObject
在这些已经绘制的Tile
表面上绘制了所有的 。Door 是仅特定于 Tile 的计算的一部分,以及 roguelike 中的其他东西,所以这解释了为什么我定义了Door
我希望的 like。
所以可能你对游戏定义字典的提议是正确的,我需要改变我实例化对象的方式,门/瓷砖的 oop 定义是一样的,但是当我阅读包含项目、门和的初始字符串映射时静态对象,我将gameObject
实例化和Tile
实例化分开..
字典在字符串列表中定义的 rogueLike 映射上实例化元素的想法基于此处建立的想法:https ://bitbucket.org/BigYellowCactus/dropout/
也许这段代码的创建者@dominic-kexel 也可以帮助我们解决这一点?
python - PyGame:精灵不会移动
我正在使用 PyGame 制作一个小游戏,其中相机聚焦在一个代表角色的精灵上,当按下箭头键时地图会围绕它移动。问题是地图不动。我以前多次遇到过这个问题,我想我已经把它缩小到可能的范围,但我不知道如何实际解决这个问题。
这是代码:
根据我过去的 PyGame 程序,我一直在移动通过for
循环绘制到屏幕上的精灵集时遇到问题,例如我在这里所做的。即使是平庸和简单的例子也失败了。我想知道这是为什么,我怎样才能简洁地绘制大地图并且仍然让它们移动?range()
制作一个列表,据我所知,列表元素是可变的,那么为什么地图的位置没有改变?
java - 如何使用图像图块将地牢构建算法打印到 jframe?
我目前正在学习 Java,正在使用 Swing GUI,并试图了解一些较大的 roguelike 地牢构建器算法是如何工作的。
我在java中遇到了这个算法的例子 -
而且我有兴趣修改此代码以将图像图块显示到 Swing JFrame -
我想知道实现这一目标的最佳方法是什么——通过在 JFrame 中创建一个新网格?有人可以为我提供示例代码吗?
谢谢。