コード:
namespace game
{
class Program
{
// 仮に全3ステージ、ステージの広さを10*10とする
const int STAGE_MAX = 3;
const int STAGE_WIDTH = 10;
const int STAGE_HEIGHT = 10;
enum Map
{
NOTHING, STONE, GOAL
}
class Field
{
public Map[,] map = new Map[STAGE_WIDTH, STAGE_HEIGHT];
}
static void Main (string[] args)
{
Map[][,] stage = new Map[STAGE_MAX][,]
{
// ステージ1
new Map[STAGE_WIDTH, STAGE_HEIGHT]
{
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING }
},
// ステージ2
new Map[STAGE_WIDTH, STAGE_HEIGHT]
{
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING }
},
// ステージ3
new Map[STAGE_WIDTH, STAGE_HEIGHT]
{
{ Map.STONE, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING },
{ Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING, Map.NOTHING }
},
};
Field[] field = new Field[STAGE_MAX];
for (int i = 0; i < STAGE_MAX; ++i)
{
field[i] = new Field();
field[i].map = (Map[,])stage[i].Clone();
}
}
}
}