プロジェクト戦闘:シンプルなテトリス(ソースコード付き)

BG

序文

Javaの学習、実際のプロジェクトを探してきた、テトリスは、比較的単純な原理で、本当の良いプロジェクトです。言ったので、私はまだテトリスのビデオソースの視点にチューブまで、最初は見当がつかないと彼は、GitHubの中で唯一のアイデアを実現見ます。私は、彼のプログラムに基づいて何らかの処理をした、次の半完成品を作りました。テトリスは練習する初心者のために、より適している、私はいくつかのヒントと私は下のこのプロジェクトをやっていた経験の一部を共有しましょう、議論を歓迎!

レディ

スイングが、比較的新しいJavaFXのは、私が使用していますが、実際には、私はちょうどあなたがスイングを使用した場合ので、私は、場所を使用する必要が学んだのJavaFXは、JavaFXのテトリスが、結局、私達はちょうどに非常に高速必要されて作り始めませんより一般的なAPIののJavaFX数。

デザインのアイデア

テトリスは、形状の以下の7種類があります。

彼らの名前:O、J、L、Z、S、T、I(文字と数字はあなたがそう呼ばれる理由を知っているものと比較されたいです)。第二に、各ボックスは4つの形態変換までを持っています。ここで私はブログで見たものであるので、変換:

まず、クラスは私が実装するために7クラスと基本クラスを継承させたいし始めた7つの形状を表現するために設計され、それ以降の比較的単純でクラスを書くほど良くないことが判明し、アイデアは、それが持っている、特定の形状クラスを設計することですなど、属性名、およびプログラムは新しいが、ランダムに7名での名前、および方法のその後の動作を選択し、名前の基礎を置くときとき。クラスの初期化をシェイプしているため、異なる方法と異なるのその名前を逆転させます。コードの一部を次のように

その後、我々はまた、国境を越える移動が、他の形状が発生するかどうかをチェックする必要はありませんチェックに加えてゼロ現在位置の形状、動きの形状を示すためのマトリックスとしての2次元配列を生成し、これは私達の二次元アレイであります役割は、理解しやすいはずです。

3通りの方法で形状を移動させる方法:右は、上下、左。なぜなら多くの要因やより複雑に検討する必要があるため、最後の1を実装するための比較的単純な最初の二つ。ここで、私は次の形状に制御を切り替えられた電流制御の形で移動しないでなければならないことを意味し、次の形状を予測する必要があります。各時間は、それが実際に静止しており、表示されていない一方のみが、2つのトップ形状発生を有します。制御を切り替える場合は、次のようにアークライン、コードの一部かどうかを確認する必要があります。

すべての最初の全体の2次元配列を確認し、あなたが「行」を排除見つけることができますし、排除する必要があります。私は次のようである適切に奇妙なバグがたくさんあるだろうに扱われていない場合、私は今、一般的なアイデアを実現する、バック操作の行を除去することはより困難だと思います行と排除は、除去した後、何のダウン距離に対応するボックスの排除、そして最後に更新された二次元配列は存在しません。

概要

上記は、インタフェース設計の他の要素とデザインのその他の詳細を残して、全体的なデザインやアイデアを実装したものですされている比較的単純な、後、私は最終的に参照するために、チューブのビデオを見るためのリンクだけでなく、私のプロジェクトを共有しない、どんなに疲れてソース。

リンク

私はビデオを参照してください。

www.youtube.com/watch?v=boA...

私のプロジェクトのソースコード:

github.com/ZT-XU/Tetri...

おすすめ

転載: juejin.im/post/5d2a01ae6fb9a07ed6580174