问题标签 [rubiks-cube]
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.
javascript - 魔方的随机移动 javascript 加扰器
我目前正在研究网络计时器,并且我的加扰算法算法存在一些问题。由于是第一个版本,我只希望扰码器是随机移动而不是随机状态,因为它制作起来太复杂了,它将在未来的更新中推出。我有一个算法,它基本上会从可能性中选择一组随机移动,然后检查两个相同的字母(或移动)是否不相邻。一切正常,但我不知道如何添加一些可以避免以下情况的内容:例如“DU D”。两个相同的移动被另一个移动分开是可以接受的例如“DR D”,但不是“DU D”,因为它等于“D2 U”,因此是一个浪费的移动。
来自非立方体的信息:
每个字母代表它的脸,当它被阅读时,它会被移动。例如:“LU L”:“L”表示左脸顺时针旋转一次,“U”表示上脸顺时针旋转,最后“L”再次表示左脸再次旋转。如果一个字母后跟一个撇号,则表示该面应逆时针旋转。如果后面跟着一个“2”,则表示脸要连续旋转两次。L是左,R是右,F是前,B是后,D是下,U是上
这是代码:
java - 复制多维数组的一部分
我正在尝试为立方体的每个面使用 6 个二维数组创建一个 Rubiks 立方体。我可以使用此代码旋转整个立方体,但由于某种原因,当我尝试“转动”立方体的一个垂直条时,它无法正常工作。这是我到目前为止所拥有的
因此,如果这个立方体被向上翻转,那么立方体的底部变成了前面,后面变成了底部,等等。当我使用“Up1”命令执行此操作时,立方体的底部似乎从我的数组中消失了,并且top 被加倍为两个数组。我究竟做错了什么?我对使用多维数组很陌生,所以我犯了一些愚蠢的错误吗?
编辑:所以为了简化事情,出于某种原因,这是可行的
但这并不
为什么第二个版本不能正常工作?
编辑2:
正确工作的代码示例。它循环通过下,下,上,前,然后再下
输入:up1
输入:up1
输入:up1
输入:up1
使用无法正常工作的 2D 临时数组的代码示例。由于某种原因它跳过了立方体的底部
输入:up1
输入:up1
输入 up1
输入:up1
c++ - 使用 cout 打印字符串数组不起作用
我有这段代码,它应该计算一个数组的字符串,但它什么都不做:/而且,当我运行 .exe 文件本身时,它会给出一些在文件中找不到 basic_string 的错误。
我该如何解决这个问题,我做错了什么?
python - Python比较列表中的连续项目并在它们相同时删除它们
这是一个魔方打乱发生器的尝试。我有时会一个接一个地转动同一张脸,例如(R,R')。我试图使用 for 和 while 循环来解决这个问题,但它没有用。
java - JavaFX Rubik Cube - 魔方选择
我正在尝试从头开始构建一个魔方,作为我real
使用 JavaFx 的第一个应用程序。在Moves
类中,我根据位置从 ObservableList 中选择 Boxes。问题是 Box.getTranslate 剂量更新,因此当我尝试连续移动正面和左侧时,两者选择的框总是被移动,导致......混乱。我怎样才能重新编写它,以便 Move 方法正确选择要移动的框?这是代码,正在进行中。
主要的
魔方
移动
c++ - 为什么 BFS 算法并不总能找到魔方的解?
我正在尝试基于 BFS 算法编写 rubick 的立方体求解器。如果完成了一次洗牌(移动了一堵墙),它就会找到方法。当我做更复杂的随机播放时,内存有问题。
我写了立方体,所以可以在上面移动,所以移动效果很好。我正在通过将立方体与新立方体进行比较(而不是随机播放)来检查立方体是否已解决。我知道它并不完美,但无论如何它应该可以工作......
有一些代码:
java - 瓷砖从魔方旋转消失
我正在研究一个 2x2 魔方,并且无法通过我的程序进行一侧旋转。立方体是一个二维的正方形数组。我只是想逆时针旋转 90 度。
这就是发生的事情 https://imgur.com/a/tlskNKY
我改变了颜色,所以我可以看到特定的方块以及它们是如何变化的。我尝试更改顺序,一次移动特定的部分,看看问题是否只是重叠的部分(没有这样的运气)。
我希望输出是逆时针旋转的原始图像。
java - 创建一个名为 RubikRight 的 Rubik 类的子类
我有一个魔方课程,内容如下:
我正在尝试创建一个扩展 Rubik 的 RubikRight 类,并且 RubikRight 的方向是原始 Rubik 的右面现在面向前面。这就是我为 RubikRight 定义构造函数的方式:
但是,我收到错误消息
我可以知道为什么我似乎不能那样定义 RubikRight 吗?
prolog - 即使定义了基本谓词,prolog 查询也会卡住
我正在prolog 中创建一个魔方求解器。我已经实现了解决白边的谓词。但是当我查询它时,它会卡住。这是代码:
当我输入此查询时:-
:(假设 X 是立方体的任何混乱状态)它会卡住而不打印任何东西。如果您可以为我提供任何其他算法的实现或更好的我的实现(最好使用我的谓词 f、f'、u、r、b 等),那就更好了。
python - 在魔方中存储颜色
我正在尝试找到将颜色存储在魔方中的最佳方法。我决定使用以坐标为键、以立方体对象为值的字典。这很实用,因此我可以使用算法更改立方体的位置。将其绘制成 3d 图形也可能很好。问题是立方体必须存储颜色,我需要一个好方法来做到这一点。有些立方体必须存储 3 种颜色,而另一些只能存储 1 或 2 种颜色。此外,它应该具有旋转功能。这也很困难,这就是我需要帮助的原因。我不确定哪个更好,列表或字典,或者可能只是更改方向,因为生成了立方体并被加扰。
感谢您阅读发布答案。