スコアとレベルを表示できるようにしましょう。
フォームをリサイズして、TLabelを貼り付けます。
ひさしぶりのGUI設計ですね。
スコアとレベルの値は、
このLabelのCaptionでそのまま保持します。
扱いやすいように、
Nameを変えておきましょう。
scoreとlevel・・・ スペル違うヨカーン
そしたら両方とも0にしときましょう。
半角数字で一文字、0 ですよん。
プロパティーはCaptionです。
まずは、新しく出てくるブロックが、
スコアに応じて、d_maxが変わる部分を作りましょう。
d_max=10−(レベル÷10)
でしたね。
procedure TForm1.Timer1Timer(Sender: TObject);
begin
(略)
Piece:=TPiece.Create;
Piece.Init(5,-3,30,MapBlocks);
SetRandomShapeToPiece(Piece);
(略)
end;
↓
procedure TForm1.Timer1Timer(Sender: TObject);
begin
(略)
Piece:=TPiece.Create;
Piece.Init(5,-3,10-(StrToInt(level.Caption) div 10),MapBlocks);
SetRandomShapeToPiece(Piece);
(略)
end;
10-(StrToInt(level.Caption) div 10)
の意味は、
10 − (レベル ÷ 10)
ですね。
除算に / ではなく、 div という演算子が使われていますが、
これは、/は小数を返し、divは余りを切り捨てた整数を返すからです。
d_maxは整数ですので、
小数を入れようとするとエラーになります。
divなら演算結果は常に整数になるので、divを使いました。
次回では、
ブロックが消える部分を修正して、
一段以上消えたとき1レベル上がるようにしましょうw(適当だなぁ
コンテンツ
最新の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: 1030
- today: 1
- yesterday: 0
- online: 1