29. Unity:C#スクリプト(Grid)の編集
___|_0_|_1_|_2_|...
0 | o | x | x |...
1 | o | x | o |...
2 | x | x | o |...
...|...|...|...|...
// Is there a block at (3,4)?
if (grid[3,4] != null)
// Do Stuff...
? Gridの内容
2次元配列 「 × 」がブロック有り、「 O 」がブロック無しで実プログラムではnull判定する。
Girdは、幅10 x 高さ20で生成する。
? Girdスクリプトの編集
下記の関数を作成する。Start()とUpdate()は削除
public static Vector2 roundVec2(Vector2 v)
public static bool insideBorder(Vector2 pos)
public static void deleteRow(int y)
public static void decreaseRow(int y)
public static bool isRowFull(int y)
public static void deleteFullRows()
using UnityEngine;
using System.Collections;
public class Grid : MonoBehaviour {
// The Grid itself
public static int w = 10;
public static int h = 20;
public static Transform[,] grid = new Transform[w, h];
public static void deleteFullRows() {
for (int y = 0; y < h; ++y) {
if (isRowFull(y)) {
deleteRow(y);
decreaseRowsAbove(y+1);
--y;
}
}
}