2007年09月24日
20×20マスに変更!
さて今日は、金曜日の続きで、縦横20マスに変更してみました。
ここから、ファイルをダウンロードできます。
とは言っても、縦横の幅を狭くしただけですから、
今のところは、制限はありません。右に20マス以上進めます。
今回変更した箇所は、まず、初期値のデーターを読み込むCELLの座標を、
Public Const CELL_Y = 20 から、21へ移動、
表示の部分と重なってしまうため、1つだけ下に移動しました。
また座標(1.1)が左上でしたが、(0.0)に変更
それによって、CELL(0,0) では、エラーになってしまいますので、
Public Const PUT_Y = 1
Public Const PUT_X = 1
の初期値にバイアスを加え、下記の関数に変更しました。
これで内部的には、XY座標が(0.0)でも、
表示するときは自動で加算され、(1.1)になります。
Private Sub my_put_cell(ByRef data As Type_Data)
Dim x As Long
Dim y As Long
Dim c As Long
x = data.pos_x + PUT_X <<ここ
y = data.pos_y + PUT_Y <<ここ
c = data.color
Range(Cells(y, x), Cells(y, x)).Interior.ColorIndex = c ' 赤
End Sub
またタイマーで動作するように、外部関数の、GetTickCount()を使用します。
Private Declare Function GetTickCount Lib "kernel32" () As Long
Do
If GetTickCount() - lngTime >= 1000 Then
<ここに、必要なメインを書き足します。>
lngTime = GetTickCount()
End If
Loop
これで、1000ms (1秒)毎に処理が可能です。
それでは、実行して下さい。
なお、処理の途中で抜ける時は、Esc キーを押して下さい。
さて、ここで今日の課題です。
20×20マスの中で動くように、色付きの四角形の動きを反転させて見ましょう。
つまり、右端20マス目に来たら、次は跳ね返って、左に進むようにして下さい。
左端の場合は、右に方向転換です。また上下も同じ方法で、動きを反転させてください。
これで無限ループさせれば、懐かしいピンポンやテニスゲームのような原型になるでしょう。
それでは、みなさん挑戦してください。
ツイッターはじめました~フォロー待ってま~す!!
↓↓↓下記の3つのバナーをクリックして下さい。ランキングUPにご協力をお願いします。↓↓↓
投稿者 shiozumi : 19:57 | トラックバック (0)