Example #1
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="form">指定する形</param>
        public Tetrimino(Form_mino form)
            : base()
        {
            this.form = form;
            col       = (Blk_Col)((int)form);

            Initialize();
        }
Example #2
0
        private Random rnd;                  //ランダムオブジェクト
        #endregion フィールド

        /// <summary>
        /// コンストラクタ.
        /// </summary>
        public Tetrimino()
            : base()
        {
            //ランダムを生成
            rnd = DeviceManager.CreateInstance().GetRandom();
            //テトリミノの型の中からランダムに型を指定
            int enumLength = Enum.GetValues(typeof(Form_mino)).GetLength(0);

            form = (Form_mino)(rnd.Next(0, enumLength));
            //使用色ブロックを指定(formの値に対応した色を指定する)
            col = (Blk_Col)((int)form);

            Initialize(); //各種変数の初期化
        }
Example #3
0
 /// <summary>
 /// 座標補正を用いない描画
 /// (主にネクストミノ、ホールドミノ用)
 /// </summary>
 /// <param name="renderer"></param>
 /// <param name="center"></param>
 /// <param name="color"></param>
 /// <param name="alpha"></param>
 public void NotOffsetRender(Renderer renderer, Vector2 center, Blk_Col color, float alpha = 1.0f)
 {
     for (int y = 0; y < data[color].GetLength(0); y++)
     {
         for (int x = 0; x < data[color].GetLength(1); x++)
         {
             if (fieldMatrixData[y, x] != 0)
             {
                 renderer.DrawTexture(
                     color.ToString(),
                     center + new Vector2((x - 2) * Size.WIDTH, (y - 2) * Size.HEIGHT),
                     alpha);
             }
         }
     }
 }
Example #4
0
 /// <summary>
 /// テトリミノの描画
 /// </summary>
 /// <param name="renderer"></param>
 /// <param name="center">回転配列の中心座標</param>
 /// <param name="color">描画を行うテトリミノのblk_Colメンバ</param>
 /// <param name="alpha">透明度(デフォルト値1.0)</param>
 public void RenderTetrimino(Renderer renderer, Vector2 center, Blk_Col color, float alpha = 1.0f)
 {
     for (int y = 0; y < data[color].GetLength(0); y++)
     {
         for (int x = 0; x < data[color].GetLength(1); x++)
         {
             //0(Space)でなければ描画する
             if (fieldMatrixData[y, x] != 0)
             {
                 renderer.DrawTexture(
                     color.ToString(),
                     center + new Vector2((x - 2) * Size.WIDTH, (y - 2) * Size.HEIGHT) + offset,
                     alpha);
             }
         }
     }
 }