C ++とSDLで作成されたTetris™クローンは、EmscriptenとコンパイルしてWebAsmにコンパイルされ、オンラインで展開されるように設計されています。
| 新しいゲームを開始します |
|---|

| 鍵 | アクション |
|---|---|
left_arrow | 左に移動します |
right_arrow | 右に移動します |
zまたはup_arrow | 時計回りに回転します |
xまたはleft-ctrl | 反時計回りに回転します |
space | ハードドロップ |
down_arrow | ソフトドロップ |
p | ゲームを一時停止します |
r | ゲームをリセットします |
(このセクションまたはreadme.mdはまだ建設中です。これを改善するのに役立つ場合があります。
ネイティブマシンでプロジェクトを構築するために、次の手順を実行します。
リポジトリをクローン/ダウンロードします
リポジトリのsrcサブディレクトリに移動します
ここでプログラムをコンパイルします(オンライン展開可能なバージョンを構築するか、ネイティブビルドを構築するかに応じて、次の手順のいずれかに従ってください)
警告:現在、リポジトリにはビルドプロセスを自動化するためのビルドシステム/スクリプトがないため、今のところ、マニュアルビルドはシステムでプロジェクトを実行する唯一の方法です(プロジェクトのために1つをセットアップすることに興味がある場合は、同じことを議論する問題を自由に開きます)
3.1。 emscriptenを使用したWebasmビルド:
ゲームのオンライン展開バージョンを構築するには、 emscriptenを使用してプログラムをWebAsmにコンパイルします。
$ em++ -std=c++17 renderer.cpp game.cpp app.cpp main.cpp -O2 -s TOTAL_MEMORY=67108864 -s USE_SDL=2 -s USE_SDL_TTF=2 -s USE_SDL_MIXER=2 --preload-file assets -o ../build/index.jsTODO:上記のコマンドが何をしているかを詳細に説明してください
buildサブディレクトリにある必要がありますemrunを使用して、ローカルに起動したWebサーバーを介してHTMLページを実行できます。 $ emrun index.htmlFWIW:同じことについてもっと知りたい場合は、Emscriptenとのプロジェクトの構築に関する詳細に関する詳細について、Emscriptenのドキュメントにアクセスすることもできます。
3.2。ネイティブC ++コンパイラを使用したネイティブビルド:
ネイティブC ++コンパイラを使用して、すべてのソースファイルからビルドおよび実行可能です(コマンドに提供する必要がある順序は、ほとんどの場合は重要ではありません)
SDL2 、 SDL2_ttf 、 SDL2_mixerライブラリを適切にリンクしてください。
$ g++ -std=c++17 renderer.cpp game.cpp app.cpp main.cpp -O2 -lSDL2_ttf -lSDL2_mixer -lSDL2これらの指示は、あらゆるレベルの開発者が理解することを目的としているため、プロジェクトの構築に何も理解できないか、プロジェクトの構築に困難に直面できない場合は、問題を開いたり、セクションで同じことについて苦情を申し立ててください。
このリポジトリはHacktoberFestに参加しているため、10月中にこのプロジェクトに貢献することは、Hacktoberfestにカウントする必要があります。
あらゆる種類の貢献(コード、非コード、低コード)が補完されます。
プロジェクトに貢献したい場合は、新しいプルリクエストを行う前に、必ず貢献ガイドラインを読んでください。
バグを報告したい場合、またはアイデアを共有/プロジェクトに貢献したい場合は、同じことに関する問題/PRを自由に開いてください
また、クエリを尋ねるための問題を自由に開いてください。
プロジェクトが気に入ったら、開発者にスターを与えることで必ずサポートしてください。