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

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

ランキングUP!

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

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

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

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