カタツムリ2007年09月22日

列挙型で、プログラムもすっきり!

user_20070922.jpg
↑東京ゲームショウの入り口↑

今日は、プログラミングです。

20日の続きから、お話いたします。 まずはここから、ファイルをダウンロードして下さい。

それでは、説明していきます。

まず、my_pos_init の引数が多いので、まずは引数を3つに変更しました。

my_pos_init GL_actwork(i), CELL_Y, CELL_X + i

第2引数は、Y座標、第3引数は、X座標です。

さらに、CELL の配列順序を、Enum 型で定義します。

下記のようになります。

Public Enum CELL
pos_x = 0
pos_y = 1
color = 2
speed_x = 3
speed_y = 4
End Enum

これで、CELL.pos_x とすると、0に、

CELL.speed_x とすると、3に、自動的に置き換わります

このことを、アサインすると言っております。

任意の文字列を、数字に置き換えることによって、意味が具体的になり、プログラムが読みやすくなります。

また、もうひとつのメリットがあります。

他のプログラムでも、共通で使いまわしができるので、

ここを、一箇所修正すれば、全てが自動的に切り替わるのです。

こんな便利な機能を、使わない手はありません。

みなさんも、プログラム中に、数字が目立つ時は、積極的に、文字で置き換えて行きましょう。あとで楽になります。

さて、実際のプログラムは、下記のようになりました。

Private Sub my_pos_init(ByRef data As Type_Data, y As Integer, x As Integer)

data.pos_x = Cells(y + CELL.pos_x, x) 'X座標
data.pos_y = Cells(y + CELL.pos_y, x) 'Y座標
data.color = Cells(y + CELL.color, x).Interior.ColorIndex '色=黒
data.speed_x = Cells(y + CELL.speed_x, x) 'SPEED X
data.speed_y = Cells(y + CELL.speed_y, x) 'SPEED Y

End Sub

どうでしょうか?

これで、かなりプログラムが読みやすくなったと思います。

こうすることによって、CELL_Y と、CELL_X の変更も簡単にできます。

今は、画面の広さが、10×10マスしかありませんが、20×20マスに変更することも、最小限のプログラムの修正でできます。

では早速、画面サイズの変更に挑戦してみて下さい。

回答は、また明日ご説明したいと思います。


ツイッターはじめました~フォロー待ってま~す!!
↓↓↓下記の3つのバナーをクリックして下さい。ランキングUPにご協力をお願いします。↓↓↓

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

ランキングUP!

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

投稿者 shiozumi : 20:20 | トラックバック (0)

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

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