問題タブ [tetris]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - MSVisualStudio 2008 でセルが占有されているかどうかを確認すると、CLI/C++ Tetris ブロックがクラッシュする
将来の移動が合法であるかどうかを確認するためのコードは次のとおりです。私はその合法的な移動を想定し、mySquares 配列にコピーしました。次に、フォーム内のゲーム サイクル セットと次のタイマー ハンドラーでこのメソッドを呼び出します。
私のゲームボード クラスには、TCell が占有されているかどうかをチェックするメソッドがあります。TGameBoar は、色と bool isOccupied = false を持つ TCells の配列を保持します。
それはクラッシュし、ここに問題があることを示しています.Imは現在学校でC ++を学んでいます。助けていただければ幸いです。また、e->KeyData == Keys::Left) などを使用して左右に移動し、ループを通過したときに新しいブロックを作成するための Keydown にも苦労しています。あなたがそれをチェックしたいなら、私は私のプロジェクトrarを持っています。私はすべてのクラスを完了しましたが、それをまとめるだけでも大変です。
c++ - Tetris ゲーム C++ Visual 2008 でオブジェクト メソッドを呼び出す際の矢印キー
矢印キーを使用してテトリス ブロックを左右に動かして回転させようとしていますが、ブロックが gameGrid に落ちている間は機能しません。これが私のコードです。
//これがタイマー ハンドラ内のゲーム サイクルです
矢印キーを使用してブロックを移動および回転するコードを次に示します。移動メソッドと回転メソッドは TTetrisBlock クラスにあります。
//ここで、ブロックがタイマー ティックでゲーム グリッドを下に移動しているときに、矢印キーを押してもオブジェクトは移動しません。しかし、タイマーに newBlock->moveLeft() を入れると、ブロックは左に動き始めます。したがって、私の moveLeft() メソッドは機能しています。助けてください-C ++を勉強している学生です。私のmoveLeft()メソッドは次のとおりです。
java - ブロックの速度を制御するテトリスゲームを形成するコードの一部と混同されます
javaによって書かれた本からのテトリスプログラム。なぜこのようなコードを使用してブロックのドロップ速度を制御するのか、そしてそれがどのように機能するのか理解できません。ありがとうございました !
loopCountの初期値は1で、ゲームが終了するとdropBlockはfalseを返します。このピースはメインループに含まれています。また、モードは関係ありません。申し訳ありませんが、ここでプログラム全体を確認することはできません。
java - スタックを使用したテトリスのようなアプレット -- トップからはじける
私のクラスでは、Java でアプレットのような単純な Tetris を扱っています。ブロックは画面の上部から 6 つの異なる列に落ち、それぞれの異なる列はスタックです。ポイントを獲得するには、同じ色の 3 つ以上のブロックをスタックの一番上で水平方向に並べて一致させる必要があります。したがって、スタックの一番上のみが一致します。3 つ以上のブロックに一致する場合は、それらを削除する必要があります (別名 pop() をオフにします)。隣接するブロックでブロックを右または左に切り替えることができます (したがって、より大きなコンボが生成されます)。しかし、それは私の問題です。私の問題は、(互いに隣接している) 3 つ以上のブロックの色が一致しているかどうかを確認することです。注意しなければならないのは、列の数が増える可能性があるということです。プログラムを実行すると増加すると言っているのではありません。適切なテクニックを練習し、可能性としてこの問題にアプローチしていることを確認する必要があります。そうは言っても、numCols という適切な名前の列数を表すメンバー変数があります。
ですから、誰かがこの問題を解決するための正しい方向に私を押してくれるなら、どうぞ。繰り返しになりますが、問題: 水平方向 (スタックの上部) に同じ色の 3 つ以上のブロックが並んでいるかどうかをチェックし、それらを削除する removeCombos() メソッドを記述できることです。自分でコードを書きたいので、ここではコードを提供していません。あなたが見る必要があるものがない限り、私はいくつかを提供することができますが、基本的なスタッククラスとそのジェネリックメソッド、pop()、peek()、contains()、isEmpty()、および内部の反復子クラスで動作していますスタック クラス。
不明な点がありましたら、事前にお詫び申し上げます。どうもありがとうございました。
java - Javaで文字列配列を回転させる
私が作成しているテトリス ゲームの Java で文字列配列をどのように回転させますか。たとえば、文字列配列
になるだろう
このコードを使用して、char マトリックスで実行できます
c++ - 可能なすべてのテトリスブロックフォームを繰り返します
重複の可能性:
プログラミング コンテストの質問: ポリオミノの数え方
テトリスの形状にはさまざまな種類があります。たとえば、文字のような形でT L I Z J O S
。
これらのブロックを作成できるアルゴリズムを取得しようとしています。私は C++ を使用していますが、疑似コードで十分です。それを解決する方法、または問題をよりよく検索するために問題を説明する方法はありますか?
ブロックは、テトリス シェイプの最小部分です。形状を作成するブロックが 4 つある場合、可能な形状は 7 つだけです。
回転数はカウントされません。ブロックが 3 つある場合、成形できるブロックは 2 つだけです。
n
ブロックがあるとき、いくつの形が存在しますか? そして、彼らはどのように見えますか?
java - テトリスゲーム用アプレットで画像を確定する方法
アプレットを使用してテトリスゲームを開発しています。ランダムな形を生成して動かしました。しかし、私はそれを底に落ち着かせる方法がわかりません。画面の端に達すると、私の形は消えていきます。この点で私を助けてください。これが私のコードです。
TIA
ios - 指定されたグリッドからテトリス ピースを生成する方法
最初は、私の質問は以前に尋ねられるべきだったと思いますが、欲しいものが見つかりませんでした。
私が開発しているこの iOS アプリの 1 つの要素は、8x8 グリッドをテトリスのピースに分割することです (各ピースは 4 つのブロックでできています)。私が持っている2つの特定の質問は次のとおりです。
Objective-C でテトリスのピースを表現する最良の方法は何ですか?
グリッドをランダムな Tetris ピースに表示するアルゴリズム (および後で 2 つのピースが適合するかどうかを確認する方法)。
01/28 版 @livingtech さんのおっしゃる通り、「穴あき」以外はほぼ実装できたと思います。私のコードは、テトリス ブロックが 2 つのブロック (はい、水平または垂直に接続された 2 つの正方形) のみの単純な段階では穴がなくても機能しますが、3 正方形のテトリス ブロックでは穴ができます。テストしたばかりで、1000回実行したところ、穴のないものを取得できました。したがって、次の正方形がシングルトンになるかどうかを確認するメカニズムが必要なのは間違いありません。
perl - 定義済みの形状でグリッド/マトリックスを埋める
質問に 2 票の賛成票が投じられたことをうれしく思います。混乱を避けるために、ここで質問を言い直します。
問題は、mxn グリッド/マトリックスを、穴のないランダムだが事前定義された形状で埋める方法です。定義済みの形状には変数 k があり、これは形状が構成されているブロックの数です。各ブロックは正方形で、グリッドの正方形 (つまり、1x1 グリッド) と同じサイズです。図形は、グリッドに収まるように回転できますが、縮小または拡大することはできません。k は 1 回のラウンドで変化しません。つまり、応答スクリプトを実行している間、m、n、および k は変化しません。スクリプトを 2 回目に実行すると、それらの 1 つまたはすべてが変更される可能性があります。たとえば、初めて、k=4、m=10、n=20 で応答スクリプトを実行する場合があります。スクリプトが終了し、出力が出力されます。2 回目は k=3、m=6、n=10 とします。m かける n と積変調 k がゼロ (mxn % k = 0) に等しいことを保証して、それらが数学的に互いに適合することを確認します。さて、もう 1 つの条件: 1
スクリプトは、プリセット k のプールからランダムな形状でグリッドを埋める必要があります。k=2 の場合、事前定義された形状は 1 種類だけで、2 つのブロックが一緒になります。回転なしで考えると、横と縦の2種類があります。k=4 の場合、グリッドは基本的に Tetris ブロックでいっぱいになります。つまり、全部で 7 種類の事前定義された形状 (それぞれが回転し、最大 20 種類を作成できます) です。k=5 の事前定義された形状は何ですか? まだわかりません。k=5 のすべての形状を見つけることは難しくないため、答えはそれを計算するか、ハードコードすることができます。
解が限られている場合、乱数は必要ありません。たとえば、m=2、n=2、および k=4 です。または m=1、n=4、k=2。他の方法はありません。ランダムではありません。
グリッドのどこにも穴を残すことはできません。mxn と mxn%k=0 の多くのグリッドには、穴のない解があると思います。直感的には合理的に聞こえますが、数学的にはわかりません。m または n が k の倍数である場合、(すべての直線棒の) 解があることが保証されます。
理想的には、k は k<10 のような小さい整数である必要がありますが、2 から 5 の範囲は許容されます。より単純な場合、Tetris にはよく知られている 7 つの形状 (ITOLJSZ) が付属しているため、4 などの固定の k をここで使用できます。
できればPerlで解決策を探しています。パイソンでも大丈夫です。プログラムの実行には、毎回 m、n、k が必要です。ここでも、m,n,k を mxn%k=0 に適合させます。
Perl で試してみた自分の努力で、k=3 のいくつかのケースを解決でき、エッジ/コーナーのシングルトン (穴) のためにいくつかのケースで失敗しました。ブロックがシングルトンになるかどうかを確認する良い方法が必要です。私のテキスト出力は次のようになります (m=4、n=9、k=3)。もちろん、この種の形式または意味のある任意の形式を使用できます。
最高のソリューションを授与するために、100 ポイントの報奨金を設定します (2 つの賛成票に感謝します。現在、107 の評判があります)。
ご意見ありがとうございます。
android - 私のGameView(SurfaceView)のGridView
次の問題があります。
Android用のテトリスゲームをコーディングしようとしています。したがって、GameView (SurfaceVieW を拡張する自己コーディング クラス) に Grid を配置する必要があります。
残念ながら、GameView にグリッドを描画する方法がわかりません。
行と列の幅と高さを設定する Grid クラスを既に実装しています。
マイ グリッド クラス
私の GameView クラス