カタツムリ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にご協力をお願いします。↓↓↓

にほんブログ村 経営ブログへランキングUP!

ランキングUP!

banner2.gif 人気blogランキング!

投稿者 shiozumi : 18:27 | コメント (1) | トラックバック (0)

このエントリーのトラックバックURL

http://blog.e-smile.ne.jp/cgi-bin/mt/mt-tb.cgi/60

コメント

??ブログ??教室??

研修社員が大勢いますので、少しでもキッカケになればと、技術面を公開しております。

投稿者 kirin : 2007年09月20日 00:52