5
Minecraftのクラフトグリッドのようなものを実装するにはどうすればよいですか?
Minecraftのクラフトシステムは、2x2または3x3グリッドを使用します。材料をグリッドに配置し、適切な材料を適切なパターンで配置すると、レシピがアクティブになります。 設計に関するいくつかの興味深い点: 一部のレシピでは、特定の材料を他の材料と交換できます。たとえば、ピックは柄に棒を使用し、木製の板、玉石、鉄のインゴット、金のインゴット、またはダイヤモンドの宝石を頭に使用する場合があります。 パターン内の相対位置は重要であり、グリッド上の絶対位置ではありません。つまり、スティックと石炭(または木炭)を3x3グリッドの6つの位置のいずれかに正しいパターンで配置することにより、トーチを作成できます。 パターンは水平方向に反転する場合があります。 私はそれを考え直しているかもしれませんが、これは興味深い検索/セット削減の問題のようです。それで、アルゴリズム的に言えば、これはどのように機能しますか(またはできますか)?