2017-04-15 8 views
1

私はこのパズルを解くコードを書いておきます。 ルール:クロスカラーチェンジパズル論理ソリューション

  • あなたはそれがなりタイルをクリックした場合。
  • 赤色タイルをクリックすると、グレーになります。
  • グレータイルをクリックすると、緑色のになります。
  • また、タイルをクリックすると、縦と横の近隣の色も十字のように変わります。
  • タイルを好きなだけクリックできます。 exmapleについては

:私はその背後にあるロジックを探しています

は、これまでのところ、私は見当もつかない。私は、それは私が探しているものではなく、ソリューションの背後にある(数学的な)論理をコード化することができます。たとえば、ルービックキューブは、完全に順序付けられたキューブを持つようにします。私は自動的にこれを解決しようとするプログラムを作りたいと思う。

答えて

0

その非常に簡単なあなたは、配列でこれを行う場合、

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; 
} 
+0

は申し訳ありませんが、私のquestonは誤解を招くでした。私は、それは私が探しているものではなく、ソリューションの背後にある(数学的な)論理をコード化することができます。たとえば、ルービックキューブは、完全に順序付けられたキューブを持つようにします。私は自動的にこれを解決しようとするプログラムを作りたいと思う。 – huksha