START/STOPボタンの設定
最後にStartButtonとStopButtonのOnClickイベントハンドラを設定します。StartButtonのイベントハンドラは、ボールの移動テストを行うために記述しましたが、スコアやラケット数の初期化をするためのコードを追加します。また、有効なボタンの変更も行います(太字部分)。
それぞれのOnClickイベントに設定するコードです。
void __fastcall TGameForm::StartButtonClick(TObject *Sender) { // 乱数の初期化 randomize(); // ボールの最初の角度を設定 Ang = random(45) + 90; // スコアとラケット数の初期化 Score = 0; RacketCount = 5; // ボールの初速 Speed = 8.0; // ボールの最初の位置 Ball->Position->X = Court->Width / 2; Ball->Position->Y = Court->Height / 3; // 移動量を計算 CalcNewDelta(); // ボールを表示 Ball->Visible = true; // タイマーを動作させる Timer1->Enabled = true; // ボタンの状態変更 StartButton->Enabled = false; StopButton->Enabled = true; } void __fastcall TGameForm::StopButtonClick(TObject *Sender) { // タイマーの停止 Timer1->Enabled = false; // ボタンの状態変更 StartButton->Enabled = true; StopButton->Enabled = false; }
これでこのプログラムは完成です。実際にプレイしてみましょう。
