コマを用意したので、次は並べていきます。 ソースコードはこちらに公開しています。 https://github.com/et79 GameView へメンバーを追加 今後のコーディングのために、以下のクラスメンバーを追加します。 メンバ 補足 gridRect 外枠のサイズを表す emptyPosIdx 空セルの位置を保持する pieces コマを持つアレー isInit 最初の描画であることを表すフラグ private RectF gridRect = new RectF( // 外枠 gridOrg.x, gridOrg.y, gridOrg.x + gridWidth, gridOrg.y + gridWidth ); private int emptyPosIdx = -1; // 空白セルの位置 // コマ保持アレー private ArrayList<Piece> pieces = new ArrayList<Piece>(16); // 最初の描画フラグ private boolean isInit = true; GameView コンストラクタでコマのインスタンスを生成 コマのインスタンスを生成し、piecesアレーに格納します。 背景色も少し変えています。 そして、15ゲームの最初の空白セルの位置を15、右下に設定します。 // コンストラクタ public GameView(Context context){ super(context); setBackgroundColor(Color.parseColor("#d0d0d0")); // コマを生成 for( int i = 0; i < 16; i++ ) { Piece piece = new Piece( paint, this, i ); pieces.add(i, piece);