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

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

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

Small Basic 入門

19.メテオゲームを作ろう

 

これから新しいゲームを作ります。
飛んでくる隕石をプレイヤーが避ける、といったシンプルなものです。

これまでに使った機能の説明は簡略化していきます。
よく分からないことがでてきたら、前のページを再読してください。
私もプログラミングを勉強するとき、一度やったことのあるチュートリアルを
数日後にやり直すことは普通にあります。

 

 

隕石をよけるゲーム

今回のゲームは、飛んでくる隕石を避けるだけのゲームです。
マウスを使ってプレイヤー機を操作します。

隕石を避けるゲーム

プログラムをシンプルにするため、仕様を簡単にしています。
アイテムなども出さずに使用する絵も少なめです。

 

 

自機を表示しよう

それではゲーム制作を始めます。
私の場合、この最初の部分が一番ドキドキします。
なにか冒険にでも行くような感じです。

プレイヤーが操作する自機の表示から行います。

ゲームを作るための最初のプログラム

 

とりあえず、自機の絵を四角で表現しました。
変数 pw, ph は幅と高さです。
画面の左上が座標 x=0,y=0となるので、画面中央の下の方に自機が表示されます。

今後のことを考えて、サブルーチンを使いました。
基本的には次のような形になります。

サブルーチンの構成

init の中には、実行後1回だけの処理を入れます。
start には、ゲーム開始前にセットしたいものを入れます。
ゲーム中に自機の座標が変わっても、ここでリセットされます。

 

 

自機を動かそう

自機をマウスで操作できるようにします。
MouseMove にサブルーチンを登録して、マウスを動かしたときに呼ばれるようにします。

マウスカーソル座標を読み取る

マウスを動かしたとき、マウス座標 MouseX, MouseY を取得して自機の座標とします。
実行すると、マウスカーソルに四角がぴったりとくっ付いて動きます。

 

ゲームの仕様では、プレイヤー操作は左右のみです。
プログラムを変更して左右移動だけに限定します。

横移動だけに制限する

変更点は、サブルーチン OnMouseMove の中だけです。
MouseY の取得を止め px だけを使い、横移動だけするようにしました。
28行目は、自機が右端にめり込まないようにしています。
ウィンドウの幅から自機の幅を引き、その値よりも右側に存在したら、自機の幅だけ左に戻しています。
変数 pw は自機の幅です。9行目で設定しています。

 

 

プログラムを保存しよう

ここまでのプログラムを保存します。
このあとの作業に影響するので、必ず保存してください
それでは保存アイコンをクリックします。

プログラムの保存方法

 

保存するフォルダを決めて、任意のファイル名を入力します。
今回は絵を使うので、このゲーム専用のフォルダを作った方がいいでしょう。
最後に保存ボタンをクリックします。

プログラムを保存する

 

これでプログラムの保存ができました。
私は meteor というフォルダを作り、そこに保存しました。
なお、保存した場所は覚えておいてください。

プログラムを保存したフォルダを確認する

フォルダを確認すると、拡張子 sb のファイルができています。

 

 

実行ファイルを作ろう

実行ファイル(拡張子.exe)を作ります。

作り方は簡単で、プログラムを保存した後でツールから実行するだけです。

実行ファイルを作る

.exe ファイルをダブルクリックするだけでプログラムを実行できます。

Small Basic がインストールされていない環境でも実行できます。
ただし、実行には SmallBasicLibrary.dll が必要となります。
必ず同じフォルダに入れておきましょう。