javascriptのテトリス(30行以上)

このトピックをサポートすることにしました!

画像

jsコードの30行以上のテトリス。



jsfiddleリンク



仕事の原理。



1.数字を取得する

すべての数値は、変数fs = "1111:01 | 01 | 01 | 01 * 011 | 110:010 | 011 | 001 * ..."に文字列として保存されます。 シェイプの配列を取得するには、分割(「*」)し、各シェイプは1番目(「スティック」)から4(L、G、および「ピラミッド」)状態(反転可能)になります。 -これらは「:」で区切られています-それぞれ1つの状態を取得するために-分割( ':')。 「ピラミッド」-「010 | 111」を取得し、ここで分割( '|')を実行するとします-そして、1つの図の1つの状態に対して有限の2次元配列を取得します。 「0」-空のスペース(描画する必要はありません)、「1」-描画する必要があります。



2.フィギュアのすべての移動は、「フィギュアを消去する」と「組み立てる」という2つの機能によって行われます。

左右または下への移動、または図の反転でも、最初に現在表示されている図を消去してから、新しい場所で図を構築しようとします-構築中に正方形のいずれかが「ガラス」の端を登る、または既にある場所に到達する場合前の図に記入されたボックスがあります-「アクティブな図」を消去して、前の場所に置きます。



3.移動はキーボードから行われます。 タイマーは、キーボードの押下をDOWNボタンコードで処理する関数を呼び出すだけです。 各タイムアウト呼び出しで、呼び出しまでの時間が減少します。



4.図を下に移動できなかった場合、前の図または下に置かれたことを意味します。 この場合、塗りつぶされた線があるかどうかを確認し、ガラスの上部に新しい図形を描きます。 ガラスの上部に図形を描くことができなかった場合、ゲームオーバーです!



All Articles