2007年09月19日
プログラムの汎用化
早速、昨日の続きから、お話いたします。
移動スピードが、+1 で固定でしたから、
そこを、まず構造体のメンバーに置き換えることが必要となります。
そこで、+1 から、speed_x と、speed_y に変更しました。
以下、このようになります。
data.pos_x = data.pos_x + data.speed_x
data.pos_y = data.pos_y + data.speed_y
もちろん、構造体も変更しましょう。
Public Type Type_Data
id As Integer
pos_x As Long
pos_y As Long
color As Long
speed_x As Long <<追加する
speed_y As Long <<追加する
End Type
あと、SPEED_X の初期設定も、EXCELのCELLから読み込むように変更しました。
下記から、ファイルをダウンロードして、プログラムを確認してみて下さい。
次に、SPEED Y を、『2』に変更してみて下さい。
移動が2コマに変わりますね。
このように、直値から(ここでは+1)、変数に置き換えること(SPEED_X)を、しっかり覚えて下さい。
よいプログラムは変数が多く、直接的な数値は、逆に少なくなります。
では、実際の数値は、どこに行ってしまうのかと申しますと、
データーの固まりとして、プログラム内の配列テーブルや、外部ファイルに置き換えられたりします。
その結果、プログラムに汎用性が出てくるのです。
※データーを変更するだけで、動作が変わるプログラム
また、追加するときは、構造体のメンバーを追加する。
これによって、関数の引数は、変更する手間が省けます。
さてここで、まだひとつ、気に入らない関数があります。
my_pos_init(ByRef data As Type_Data, x As Long, y As Long, c As Long, sx As Long, sy As Long)
この引数の長さは、気になるところです。
今日の課題は、ここをスッキリして見ましょう!
それでは、みなさんも、挑戦して下さい。
ツイッターはじめました~フォロー待ってま~す!!
↓↓↓下記の3つのバナーをクリックして下さい。ランキングUPにご協力をお願いします。↓↓↓
投稿者 shiozumi : 18:27 | コメント (1) | トラックバック (0)
コメント
??ブログ??教室??
研修社員が大勢いますので、少しでもキッカケになればと、技術面を公開しております。
投稿者 kirin : 2007年09月20日 00:52