C#

三次元

C#

C#の多次元配列の書き方はちょっと特殊。 long[, ,] = new long[x,y,z]; なんかこんな感じ。使うときも long[x,y,z] こう。 インデクサ定義するときも当然 long this[int x,int y, int z]; こうなる。 最初何も考えずにlong[ ][ ][ ]って書いてたら怒られて…

まっぷ

C#

マップと言ってもSTLにあるマップじゃなくて、RPGにあるマップ。STG向けだけどアクションとかにも応用できるように&ガルーダとかぐわんげ普通に横にも動くからこの形態をとる。 つまり、最初にあるようにRPGのマップ。特に広さを限定しない(座標系がfloat…

enumのみを受け取りたかった男

C#

昨日の続き。本当はenumのみを受け取りたかったけど無理っぽいので、enum発int経由Int32経由でたどり着くIConvertibleで制限をかけてみる。つまり public class Flags where T: IConvertible { public bool this[T index] { get { return flags[index.ToInt3…

フラグ管理

C#

using System; using System.Collections.Generic; using System.Text; namespace Game { /// /// ただのbool配列だけどEnumでフラグっぽく加工 /// /// IConvertible実装(特にToInt32必須)クラス。enum推奨。intで可。 [Serializable()] public class Flags…