初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

Visual Basic 2019 入門

30.突破5 リトライとスコア

 

今回は [ 突破4 当たり判定 ] の続きです。

くり返し遊べるような仕組みと、スコアを入れていきます。

突破ゲームも今回で最後です。
あと少しがんばりましょう。

 

 

リトライできるようにしよう

くり返し遊べるようにリトライできる機能を入れていきます。
まずはボタンを配置してください。
Text プロパティには「リトライ」と入れましょう。

それからプログラムで使えるように、配置したボタンをダブルクリックして
Button1_Click を用意しておきましょう。

 

リトライのボタンを用意する

 

 

プログラムは3ヶ所変更します。

リトライの仕組みを入れる

リトライボタンを押したら Game_init によってゲームの初期化が行われます。
Game_init の中で Button1.Visible = False をしているので、ゲーム開始後とリトライボタンを押した後に非表示になります。
当たり判定のところで Button1.Visible = True にしてボタンを表示させます。

 

実行してみましょう。
開始したときボタンは見えず、ゲームオーバーになったら表示されることを確認してください。

ボタンのon,offを確認する

 

 

スコアを表示しよう

スコアの文字 SCORE: の表示から作ります。
これはラベルを使って表示します。
ラベルを適当な位置に配置したら、Size プロパティを 12 に変更します。
次に、Text プロパティを SCORE: に変更しましょう。

 

ラベルを使ってスコアを表示

 

続いてスコアの得点を作ります。
2つ目のラベルを配置しましょう。
Size プロパティは 12 に変更し、Text プロパティは 999 に変更します。
Text プロパティはゲーム中にプログラムで書き換えてしまうので、ここで設定する数値に意味はありません。
しかし、ダミーの数値を入れておくことで、デザイン画面で配置する場所を調整しやすくなります。

スコアの得点部分をラベルで用意する

 

 

2つ目に配置したラベルはプログラムで使います。
使いやすくする為に name プロパティを score に変更しておきます。

得点ラベルのnameを変更する

 

 

壁に当たらず通り抜けたらスコアになる仕組みを入れます。
Player_move でプレイヤーが画面上部まで来たかを判断しています。ここでスコアの加算をします。
Game_init ではスコアのクリアをしましょう。

スコアの加算プログラム

 

 

実行してスコアが加算されるのを確認しましょう。

スコアシステムの動作を確認する

 

 

ゲーム性を高めよう

ここまでの制作でゲームとしての形はできました。
次はゲーム性を高める要素を少し入れていきます。

いまは失敗しないかぎり、何度でもすき間を通すようにクリックできますよね。
これに「一度成功すれば、すき間が狭くなる」という仕組みを入れれば、だんだんと難易度があがって緊張感もでてきます。

プログラムを次のように変更しましょう。

 

ゲーム性を高める仕組みを入れる

Player_move のスコア加算と同じところに、すき間を少しずつ細くする仕組みをいれます。
Game_init には、すき間の幅の初期値を入れます。

 

実行してみましょう。
すき間を通すたび、すき間が狭くなっていくのを確認してください。
また、ゲームオーバー後リトライしたときに、すき間の幅が戻っているか確認しましょう。

すき間が狭くなることを確認する

 

 

これでゲームは完成しました。
全コードは次のようになります。

突破ゲームの全コード1 突破ゲームの全コード2

 

 

改造しよう

お疲れさまでした。
動きのあるゲームの仕組みが、それなりに理解できたと思います。
今回のゲームは、商品として売られているゲームに比べると見栄えはしょぼいです。しかし、同じような仕組みで動いている部分もあります。
いま持っているスキルだけでも、アイデア次第で面白いものが作れることでしょう。

 

これから先、何かプログラムをする予定があればいいのですが、予定がない人については心配しています。
それは、サンプルプログラムを入力して動かしているだけでは
プログラミング能力は身に付かないからです。
自分自身で考えて、プログラムを書くことが一番効果的です。

ということで、予定がなければ改造をしてみたらどうでしょうか。
これだけでもスキルアップが望めます。

 

プログラムの改造案

 

他にもハイスコアを付けてみたり、いろいろと改造しましょう。