ブロックが置かれたときに、
さっきの処理を呼び出せば、
揃ったら削除
が動くはずです。
procedure TForm1.Timer1Timer(Sender: TObject);
begin
(略)
if Piece.death then begin
FreeAndNil(Piece);
if not MapBlocks.GameOver then begin//ゲームオーバーじゃないなら次を産む
Piece:=TPiece.Create;
Piece.Init(5,-3,30,MapBlocks);
SetRandomShapeToPiece(Piece);
end;
end;
(略)
end;
ここを
if Piece.death then begin
FreeAndNil(Piece);
if not MapBlocks.GameOver then begin//ゲームオーバーじゃないなら
//消す判定
MapBlocks.DeleteBlocks;
//次を産む
Piece:=TPiece.Create;
Piece.Init(5,-3,30,MapBlocks);
SetRandomShapeToPiece(Piece);
end;
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: 897
- today: 1
- yesterday: 0
- online: 1