投稿者 亜成  (学生) 投稿日時 2009/1/13 10:47:09
>ちょっとコードを書いてごらんよ。
ちょっとで良いんですか?
では抜粋して。
テトリスの実行処理(Tetris.vb)とUI(Form1.vb)を分けていまして
下記はTetris.vbのメイン処理部分です。
実行時にはこのメソッドが非同期に処理されます。
    Private Sub MainRoutine()
        Dim time As Integer = 0

       '初期化 
        Initialize()
        While (Not gameover)
            'キーが入力されていれば操作 
            If key IsNot Nothing Then
                'ブロックを操作 
                ControlBlock()
                key = Nothing
            End If

            If time < 500 Then
                time += 1
            Else
                Move(Directions.Down)
                time = 0
            End If

            'ちょびっと待機 
            Threading.Thread.Sleep(1)
        End While
    End Sub

ちょっとだけ解説
keyはTetrisクラスのメンバ変数で、Formで入力されたKeyCodeが入ります。
KeyCodeが入力されていれば、ControlBlockメソッドにて移動・回転の処理を行います。
その次の処理で経過時間を判定して、500msec経過していればMoveメソッドでブロックを下に
下ろします。

>ゲーム王のレオ♪さん
実際に作りたいというのであれば、完成版のコードを求めるのではなく
VBBVさんや、かずきさんがご提示して下さったHP等を参考にしてお勉強されてはいかがでしょうか?
小学生でも勉強すれば、不可能ではないと思います。