さて、ここからどこを作るかいくつか選択肢があります。
・左右に動かせるようにする
・次が落ちてくるようにする
・ピース形状関連の処理を最適化する
まぁ、しばらく考えたんですが、
左右に動かせる→一個だけじゃつまらない→次が落ちるようになった後
次が落ちてくる→同じ形が落ちてきたらつまらない→ピース定義をしたあと
ピース定義→結果反映が遅い→最初にやるには萎える
と、どれから始めてもイマイチなので、
先につまらないピース定義から実装しましょう。
そのかわし、ちょっと新手法出します
ピースは必ず、4*4に収まる形です。
で、さまざまな種類があります。
でも、4*4に収まるって事は、
3次元配列でうまく整理できる
ってところに注目です。
3次元です。
俺は2次元にしか興味ないって人も、
今回はついてきてくださいね。
要素数は莫大なものになりますが、
そのうち二次元はピースの形、と考えれば、
「ピースの形が並んでいる配列」
と捉えられます。
そしたら少しは・・・簡単?
さて、上の画像にもありますが、
ピースを二次元目、3次元目を使って二次元情報としてもち、
一次元目はピースの識別番号にしたいと思います。
ここ、書いては消し、書いては消しで、
だいぶ時間かかってしまいましたが、
とりあえずピース情報は根性で実装しようと思います。
Formのpublic変数と、
手続き一つを追加します。
TForm1 = class(TForm)
(略)
private
{ Private 宣言 }
public
{ Public 宣言 }
(略)
PieceShapeTables:Array[0..6,0..3,0..3]of Boolean;
procedure InitPST;
(略)
end;
0から6までで7種類定義します。その後の0..3,0..3は、
先の0..3がy座標、後の0..3がx座標となります。
InitPST手続きってのは、
PieceShapeTablesの略です。
じゃぁ、initPSTを実装します・・・
実装部は一番下にしましょうね。
見るのは今だけにしましょう。
procedure TForm1.InitPST;
begin
//深呼吸
end;
ちょっとこの中身は次ページにしようやっぱうん
コンテンツ
最新の12件
2023-06-12
2021-02-15
2013-06-19
2012-07-14
2012-02-04
2012-01-06
2011-03-31
2010-08-26
2010-03-15
2009-10-21
2009-02-12
2008-11-18
メニュー編集
- counter: 976
- today: 1
- yesterday: 0
- online: 1