某所にあったC言語で書かれた『倉庫番を解くプログラム』をC#に移植しようとしているのですが、クラスの配列で止まっています。どこを間違っているのでしょうか?
C言語
/* -------------------------------------------------------- /
/ x, y の2点間を示す構造体 */
typedef struct {
int x, y;
} t_point;
/* 探索用キューに使う1要素あたりのノード /
typedef struct node {
t_point boxpos[MAP_BOXLIMIT]; / 箱の位置 /
t_point playerpos; / プレイヤーがいる位置 */
struct node backnode; / プレイヤーが前にいたノード /
int cost; / 現在位置のコスト(低いほどよい) */
} t_node;
t_point goalpos[MAP_BOXLIMIT]; /* ゴールの位置 */
t_node endnode; / ゴールに達したノード */
/* 4方向を調べるための相対座標 /
/ 左", "上", "右", "下"の順 */
t_point areadifpos[] = {{-1, 0}, {0, -1},
{1, 0}, {0, 1}};
C#言語でこうしてみたのですが、
/* -------------------------------------------------------- */
/* x, y の2点間を示す構造体 */ class t_point { int x; int y; }; /* 探索用キューに使う1要素あたりのノード */ class t_node { t_point[] boxpos = new t_point[MAP_BOXLIMIT]; /* 箱の位置 */ t_point playerpos; /* プレイヤーがいる位置 */ t_node backnode; /* プレイヤーが前にいたノード */ int cost; /* 現在位置のコスト(低いほどよい) */ }; t_point[] goalpos = new t_point[MAP_BOXLIMIT]; /* ゴールの位置 */ t_node endnode; /* ゴールに達したノード */ /* 4方向を調べるための相対座標 */ /* 左", "上", "右", "下"の順 */ t_point[] areadifpos = new t_point[4]; /* ここで書き込めない*/ areadifpos[]
使用言語 Visual Community 2017
使用環境 Windows10 64
質問するのは久しぶりで、空気を読んでいない点がありましたなら、失礼します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/14 06:09
2018/04/14 06:23
2018/04/14 08:01