草庐IT

java - 令人困惑的 Java 语法

我正在尝试将以下代码(来自Wikipedia)从Java转换为JavaScript:/**3June2003,[[:en:User:Cyp]]:*Maze,generatedbymyalgorithm*24October2006,[[:en:User:quin]]:*Sourceeditedforclarity*25January2009,[[:en:User:DebateG]]:*Sourceeditedagainforclarityandreusability*1June2009,[[:en:User:Nandhp]]:*SourceeditedtoproduceSVGfilewh

Unity3D Maze 迷宫生成算法

环境:Unity2021.1.14语言:C#总起本文的源代码可以在以下网址的TestMaze中找到:https://github.com/anguangzhihen/TestOdinInspector《人工智能与游戏》关于PCG文章的末尾提供了一个生成迷宫的练习:Maze,aUnityC#Tutorial该练习对Unity中使用的常规技术讲解的十分详细,很适合刚接触Unity的新手,当然本文不会对Unity过多的展开。该工程的主要代码在TestMaze中,游戏开始会启动一个协程,用于创建地板(Cell)和墙壁,我们主要聚焦的就是这生成步骤的实现。后续原文的实现中还会有装饰画、门、合并房间的内容

C# Maze Generation 我自己实现的Prim的算法Bug

首先让我为尺寸道歉我会尽量保持它尽可能小在尝试完全按照维基百科上所说的那样构建prim的算法后,我发现它无法按照我构建的迷宫方式运行。所以我尝试做同样的想法来适应我的迷宫,但我看到了一个奇怪的错误,当我的游戏开始时,它只是没有正确地build我的迷宫,我不知道为什么这是偶尔发生的事情其他时候它工作得很好,所以我有一个publicDictionary>maze当它开始时,它占据了迷宫,迷宫是所有的树篱,然后我继续像这样build路径privatestaticvoidbuildPath(){List>ends=newList>();ends.Add(newKeyValuePair(newM

java - 使用堆栈遍历和解决迷宫 - Java

所以我正在尝试创建一个迷宫求解器程序来解决X和O的迷宫。我想做的是创建一个点类,这样我就可以创建一个二维点数组,它允许打印到输出页面以及相对简单地实现堆栈。我想在实际程序本身中实现的总体思路的最简单算法我认为应该是:1)Moveforward2)Areyouatawall?2a)Ifyes,turnleft3)Areyouatthefinish?3a)Ifno,goto13b)Ifyes,solved但是我在想出更深入的算法以及定位我的Points类时遇到了麻烦。我知道对于Points我应该设置X坐标,并设置Y坐标以及两者的setter/getter。你认为我需要比这两个更多的方法吗?

java - 这是什么迷宫求解算法?

我想弄清楚这个算法是A*(A星)算法还是其他什么,但我仍然很困惑。Stackstack=newStack();stack.push(maze.start());stack.peek().mark(SOLUTION_MARK);while(!stack.peek().hasMark(Cell.END)){Cellcurrent=stack.peek();ArrayListdirs=current.neighbors();booleanfound=false;for(Cellnext:dirs){if(next.hasMark(ERROR_MARK)||next.hasMark(SOLUT

java - 我怎么能停止在我的 ascii 迷宫中打印一面墙的两面?

我已经编写了一些代码来为我生成迷宫。迷宫由(nxn)个单元格组成,每个单元格都有一个boolean值来表示一堵墙(北、南、东西)。它工作正常,我写了下面的函数来打印出迷宫:publicstaticvoidprintMaze(Cell[][]maze){for(inti=0;i但是,因为单元格共享墙壁,所以我在打印功能中产生了一种双壁走廊外观:+--++--++--++--++--++--++--++--++--++--+||||||+--++++--++--++++--++--++++++--++--++++--++--++++--++--++++++--+||||||||||+++-

java - 在 Java 中创建迷宫求解算法

我被分配了用Java创建迷宫解算器的任务。这是作业:Writeanapplicationthatfindsapaththroughamaze.Themazeshouldbereadfromafile.Asamplemazeisshownbelow.OOOOOXOXXOXOOXOXOOXXXXXXOOXOXXXXOOXOOOOOOOXXOXXXO字符“X”代表一堵墙或被阻挡的位置,字符“O”代表一个开仓。你可能会假设迷宫的入口总是在右下角角,导出总是在左上角。你的程序应该发送它的输出到一个文件。如果找到路径,则输出文件应包含该路径。如果路径是未找到消息应发送到文件。请注意,一个迷宫可能有

java - Java 中的吃 bean 迷宫

所以我正在用Java构建pacman游戏来自学游戏编程。我有一个基本的游戏窗口,其中绘制了吃beanSprite和幽灵Sprite,吃bean使用箭头键移动,不会超出窗口的墙壁等等。现在我正在尝试构建迷宫,如图所示:在没有给我直接/完整的解决方案的情况下,有人可以指导我如何构建它吗?我在这里只谈论边界和管道('T'标记),你不能穿过它们,你必须绕过它们。不是pacman吃的点。这是我的问题:1)创建这个迷宫最有效的算法/方法是什么?每次调用paint()方法时是否都必须绘制它,或者有没有办法只在游戏开始时绘制它而不再绘制?2)这实际上将如何绘制到屏幕上?我假设fillRect()将被使

java - 矩形之间的碰撞检测(无重叠)- libgdx

我已经做了2-3周了,但我仍然无法进行适当的碰撞检测。我用矩形创建了一个迷宫。我希望我的对象(在矩形中)在我的对象与任何墙壁碰撞时停止,并且能够移动到任何地方(或滑下墙壁)。我的墙(矩形)有负坐标,如下所示:shapeRenderer.rect(0.9f,12,1.15f,0,Color.RED,Color.RED,Color.RED,Color.RED);//NORTHshapeRenderer.rect(1,12,0,-1.05f,Color.RED,Color.RED,Color.RED,Color.RED);//WESTshapeRenderer.rect(2,12,0,-1.

java - Java 中 8x8 网格的广度优先搜索

我想做的是计算使用最短路径到达目标需要多少步。它必须使用广度优先搜索来完成。我将8x8网格放入一个二维数组中,其中填充了四个字符之一,E表示空(可以移动到这些位置),B表示阻塞(不能移动到这里),R表示机器人(起点),或G为目标。该算法必须按向上、向左、向右、然后向下的顺序检查可移动空间,我相信我做对了。检查节点后,它将其内容更改为“B”。如果无法达到目标,则应返回0。我已经更改了我的代码来实现Kshitij告诉我的内容,并且它运行得很漂亮。我只是太累了,看不到在每个新数据集之后我都没有初始化我的队列,哈哈。感谢您的帮助!publicstaticintbfSearch(){Queueq