2007年09月22日
列挙型で、プログラムもすっきり!
↑東京ゲームショウの入り口↑
今日は、プログラミングです。
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にご協力をお願いします。↓↓↓
投稿者 shiozumi : 20:20 | トラックバック (0)