-1

正直に言うと、これは学校のプロジェクトのためのものです。このような六角形のボードを含むゲームのソルバーを設計することになっています (詳細には触れません。それは私の投稿の目的ではありません) 。私の問題はこれです: このボードをデータとして表現する方法がわかりません。これには関数型言語を使用しています (ここでは詳しく説明しません)。関数型プログラミングはあまり得意ではありません。関数型プログラミング パラダイムで六角形のゲーム ボードをデータとして表現する方法についてのヒントがあれば、それは素晴らしいことです。

この投稿が非常に漠然としている可能性があることは承知しています...私はデータ表現にこだわっています.このボードをデータとして。

4

1 に答える 1

1

2D 配列の使用を示唆している、交互の行が完全に並んでいることに注目してください。さらに、その間の行もすべて完全に整列していることに注意してください。これは、2 つのアプローチを示唆しています。

  1. 2 つの異なる 2D 配列を使用します。1 つは奇数行用、もう 1 つは偶数行用です。
  2. 奇数行はすべて偶数行から 1/2 列オフセットされていることに注意して、単一の 2D 配列を使用します。

配列を直接使用できない場合でも、セルをこのように編成することを考えて、制約に適した方法でそれらの位置を表すことができます。列インデックスに float を使用することもできます (これにより、?.5 の x-index を使用して行要素の中間位置をより忠実に表すことができます)。

于 2014-10-23T20:38:19.373 に答える