2007年09月18日
小さいながらもゲームプログラム?
早速ですが、ファイルをダウンロードして実行させてください。
その次に、ソースを開いて見ましょう!
単純ですが、とてもゲームらしく書いてあります。
前回解説した、構造体と、配列を使っております。
また構造体は、ゲームらしく、pos_x, pos_y と座標の変数に加えて、
カラー番号の、color を加えました。
Public Type Type_Data
id As Integer
pos_x As Long
pos_y As Long
color As Long
End Type
※ id は後日使います。
そして、my_pos_init 関数で座標の初期化を行います。
また、初期値は、EXCELのCELLから読み込んでおります。
main_5 ボタンの下にある表が、それにあたります。
POSI X と POSI Y が初期座標の位置です。
さらにCOLOR として4色ありますが、
これらを変えて、一度、試して下さい。
さて、下記がメインのループですが、
描画範囲を、CELL座標、1,1 から 10,10 までの範囲をクリアーして、
その後、my_pos_move で移動、my_put_cell で描画です。
あとは、msgbox の返値が、Yes か No で、ループ処理を制御しております。
-------------------------------- ここからメインループです。
Do While intRet = vbYes
Range(Cells(1, 1), Cells(10, 10)).Cells.Clear
For i = 0 To WORK_COUNT
my_pos_move GL_actwork(i) '構造体のアドレス
my_put_cell GL_actwork(i) '構造体のアドレス
Next i
intRet = MsgBox(strMsg, vbYesNo + vbQuestion, "MsgBox")
Loop
------------------------------
実際の、関数の中身は、皆さんで読んで下さい。
たいして難しいこともないでしょう。
さて、ここで今日のお題です。
下記のプログラムでは、XY座標が常に増加1で固定です。
------------------------------
Private Sub my_pos_move(ByRef data As Type_Data)
data.pos_x = data.pos_x + 1
data.pos_y = data.pos_y + 1
End Sub
------------------------------
この+1を変数にして見ましょう。
それでは、挑戦してみて下さいね。
正解は、また明日紹介したいと思います。
ツイッターはじめました~フォロー待ってま~す!!
↓↓↓下記の3つのバナーをクリックして下さい。ランキングUPにご協力をお願いします。↓↓↓
投稿者 shiozumi : 22:28 | トラックバック (0)