【问题标题】:Cross Color Change Puzzle logical solution交叉变色拼图逻辑解决方案
【发布时间】:2017-04-15 10:16:10
【问题描述】:

我想编写一个代码来为我解决这个难题。 规则:

  • 如果您点击绿色图块,它会变为红色
  • 如果您点击红色图块,它会变为灰色
  • 如果您点击灰色图块,它会变为绿色
  • 另外,如果您点击一个图块,它的相邻的垂直和水平方向也会改变颜色,就像一个十字。
  • 您可以随意点击一个图块。

例如:

我正在寻找它背后的逻辑,到目前为止我不知道。我可以编写代码,这不是我要寻找的,而是解决方案背后的(数学?)逻辑。例如,Rubik's Cube 步骤来制作一个完整的有序立方体。我想制作一个自动尝试解决这个问题的程序。

【问题讨论】:

    标签: colors logic


    【解决方案1】:

    如果你用数组来做这件事就很简单了,

    int[][] box;
    
    if(//if you click box[a][b])
    {
        change_color(a,b);
        change_color(a-1,b);
        change_color(a+1,b);
        change_color(a,b-1);
        change_color(a,b+1);
    }
    
    change_color(int x,int y)
    {
          if(box[x][y]==red)
          box[x][y]=grey;
          if(box[x][y]==grey)
          box[x][y]=green;
          if(box[x][y]==green)
          box[x][y]=red;
    }
    

    【讨论】:

    • 抱歉,我的问题具有误导性。我可以编写代码,这不是我要寻找的,而是解决方案背后的(数学?)逻辑。例如,Rubik's Cube 步骤来制作一个完整的有序立方体。我想制作一个自动尝试解决这个问题的程序。
    猜你喜欢
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    相关资源
    最近更新 更多