所以,作为一个初学者,这个程序让我很头疼。当然,我并不是要求任何完整的代码,我想了解逻辑和我的选择。
在大学里,我们已经涵盖(或将要涵盖)的 C 编程主题不超过动态数组。我们可以使用结构体、函数、数组、指针,但不能使用类,因为这是 C,而不是 C++。
我擅长解决问题,但不擅长解谜题。我尝试过制作一个带有 6 个整数(代表边)的立方体 struct,然后制作一个 立方体 数组。
我可以做的另一件事是制作一个 [6][3][3] 数组,但我认为这会让它太复杂?总结一下我要问的内容,
要求
- 控制台应用程序
- 没有花哨的图形或任何东西
- 没有解决方案
- 只是一个工作立方体
- 可以初始化用户输入
级别:业余
这是正确的方法吗?您认为我应该如何旋转线路?再说一次,不需要代码,如果你能解释一下主要逻辑以及我应该如何分解代码甚至伪代码,那就太好了。
你认为我应该使用立方体 rubik[3][3][3]
制作一个完整的立方体吗?或者处理像 cube face[3][3]
这样的脸?
我将添加您需要的任何额外信息来帮助解决我的问题。
编辑 - 附加信息: 这是我的立方体数组(这里的编辑器稍微搞乱了缩进):
int cube[6][3][3] = {{{1,1,1},{1,1,1},{1,1,1}},
{{2,2,2},{2,2,2},{2,2,2}},
{{3,3,3},{3,3,3},{3,3,3}},
{{4,4,4},{4,4,4},{4,4,4}},
{{5,5,5},{5,5,5},{5,5,5}},
{{6,6,6},{6,6,6},{6,6,6}} };
最佳答案
您所描述的任何一个选项都可以完成任务。如何用逻辑来分解它实际上取决于什么对你来说最有意义。可能有帮助的是写下一个魔方具有哪些特征的列表,然后重新排列,直到你有办法表示该对象的每个部分。你的数组想法是一个很好的开始。
... [6][3][3] array but I think that'd make it too complex?
我认为这很有意义,并且实际上是解决您问题的相当简单的解决方案。我的建议是顺其自然并尝试一下。
关于c - 用C编写的一个简单的控制台魔方(无需求解,只需设计),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19913109/