示例#1
0
 /// <summary>
 /// 2つの座標をセットするコンストラクタ
 /// <para>指定した座標の大小関係からマップの座標を自動的に決定します。</para>
 /// </summary>
 /// <param name="x1">座標1</param>
 /// <param name="x2">座標2</param>
 public MapField(Pos x1, Pos x2)
 {
     this.param = new FieldParameter();
     this.param.leftX = this.param.rightX = x1.x;        // 座標をセットしておく
     this.param.upperY = this.param.lowerY = x1.y;
     SetPos(x2, ref this.param);                         // もう一点は判定ののちに追加する
     return;
 }
示例#2
0
 /// <summary>
 /// 1つの座標をセットするコンストラクタ
 /// <para>自動的にPos(0, 0)をもう一点として張ります。</para>
 /// <para>マップのサイズを表すのに便利かと思います。</para>
 /// </summary>
 public MapField(Pos pos)
 {
     this.param = new FieldParameter();
     SetPos(pos, ref this.param);
     return;
 }
示例#3
0
 /// <summary>
 /// 座標をセットする
 /// <para>引数で渡された座標を検査して、領域を増やすことができれば拡張が実行されます。</para>
 /// </summary>
 /// <param name="pos">追加・検査する座標</param>
 /// <param name="param">領域のパラメータ(参照渡し)</param>
 private static void SetPos(Pos pos, ref FieldParameter param)
 {
     if (param.upperY > pos.y) param.upperY = pos.y;
     if (param.lowerY < pos.y) param.lowerY = pos.y;
     if (param.leftX > pos.x) param.leftX = pos.x;
     if (param.rightX < pos.y) param.rightX = pos.x;
     return;
 }