問題タブ [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.
python - pygame テトリス ゲームが動かなくなる
私は初心者の Python プログラマーで、テトリス ゲームを作ろうとしています。ゲームを実行すると、ブロックが毎秒 10 ピクセルずつ下に移動します。問題は、ブロックがランダムに停止し、印刷ステートメントも印刷を停止することです。タスクマネージャーによると、エラーは発生していません。メモリは問題ありません。私は celeron プロセッサを搭載した vista 32 ビットを使用していますが、i5 プロセッサを搭載した Windows 7 でも試してみましたが、問題が解決しないため、迷っています。
これはコードです:
これはブロック クラスです: import pygame from pygame.locals import *
java - 何もnullでない場合、GridWorldでNullPointerExceptionを取得し続けます
Gridworldで Tetris ゲームを設計しています。以下は、エラーを生成するメソッドです。これは、移動メソッドと回転メソッドを呼び出すことができるアクタのコレクションである Block クラスのメソッドです。
myBlocks
BlockSections の ArrayList です。
Location が null でないことを確認するために print ステートメントを挿入しようとしました (チェックされているすべての BlockSections がグリッド内にあるため、これはすべきではありません)。値が null でないことを確認しました。ただし、エラーは引き続き生成されます。ヘルプ?
ありがとう
java - テトリス ゲーム (Java スイング) でピースを止めるのに問題がある
私は Java でテトリス ゲームを作成しています。現在のピースが既に着地している別のピースに当たったときに、現在のピースを停止させるのに少し問題があります。テトロミノの形状ごとに個別のクラスがあります。currentPiece が落下している場合、Y 座標が最も低く、X 値が current と同じ形状が currentPiece の停止点として設定されます。問題は、ピースが currentPiece の中心に隣接するブロックを通過し、すべての可能な形状と回転をコーディングするのが面倒なことです。
これを行うより良い方法はありますか?基本的に、私の質問は、テトリスのピースの境界を処理する方法ですか?
私の Java ファイルへのリンク: http://goo.gl/Ms8Mj (乱雑さを許してください)
各ブロックは値の表で表されます。L 字型の場合は次のようになります。
「中間」のブロックが原点として扱われます。場所が占有されているかどうかに 2D ブール配列を作成することを検討しています。
python - 個々のピクセルの値を取得する
私はテトリスを作っていて、線をはっきりさせる機能を作ろうとしています。これを行う方法は少し複雑で、単純化しようとしています。
私の考えは、いくつかのピクセル RGB 値をチェックして、それらが黒 (背景の色) でないかどうかを確認することです。画面上のピクセルの RGB 値を取得する簡単な方法はありますか?
c++ - Allegro 4 が Tetris の実装でキープレスを検出しない
Allegro 4 と C++ を使用してテトリスの簡単なバージョンを作成しています。ほとんどのコードが配置されており、ユーザー入力以外はすべて機能しています。キープレスは、いくつかのランダムな機会にのみゲームによって検出されます. タイミングの問題だと思いますが、捕まえられないようです。関連するコードは次のとおりです...
以前とまったく同じ方法でテトリスを実装しましたが、包括的なメニュークラスはありません。.exe を実行するだけで、テトリス ゲームに直面します。その時はそのような問題はありませんでした。したがって、Tetris.h ファイルの外部のコードに関連して、ゲームをいじっている何かがあることは明らかです。私が「keypressed()」を使用する唯一の他の場所は、メインにあります...
この混乱を解決するためのすべての助けをいただければ幸いです。ありがとう。
javascript - ミニチュア Javascript テトリス
可能な限りテトリスのガイドラインに準拠したテトリスのミニチュア バージョンを作成しようとしています。
正確に言うと、完全なゲームを 140 バイトの JavaScript でできるだけ少なく構成したいと考えています。最初の 140 バイトのスクリプトは、4 つの回転位置のそれぞれにある 7 つのテトロミノの 4 つの行を表す 112 の整数値を含む配列を返す必要があります。回転の正確な位置順序は非常に重要です。
データを 16 ビットの Unicode 文字 (ただし、2 バイトとして数えます) に入れ、140 バイト強で解凍するところまで行きました。
この配列を構築する賢い方法を知っている人はいますか?
var s="ༀ∢ð䑄࣠لâьˠцèౄ٠٠٠٠ۀѢlࣄӠѤäӄౠɤÆӈ",m=[];for(i=0;i<28;i++){c=s.charCodeAt(i);for(j=4;j>0;){ m.push(c>>(4*--j)&15)}return m}
python - 画面の一部を x ピクセル下に移動するにはどうすればよいですか?
私は Pygame でテトリスのリメイクを行っており、行がクリアされるたびにすべてのブロックを 31 ピクセル下に移動する必要があります。線より上の画面をキャプチャして、31 ピクセル下に移動するにはどうすればよいですか?
移動したい領域の周りに四角形を作成することができましたが、それを使用してサーフェスをコピーし、それを下に移動してサーフェスに戻す方法について完全に迷っています。助けてください!
ここに私がこれまでに持っているものの私の(失敗した)スニペットがあります:
java - カスタム画像を使ったテトリス
ひねりを加えたテトリス スタイルのゲームのコンセプトを考えています。基本的なロジックについていくつかのチュートリアルを実行しましたが、これを実行したい方法では、時間枠内でロジックが可能かどうかはわかりません.
基本的に、テトリスのピースにはカスタム イメージを使用しています。それぞれに 3 つの異なる色があり、可能な回転ごとに異なるイメージがあります。それに加えて、ゲームは文字をペアにしようとするため、可能な文字の配置ごとに可能な回転の画像が得られます。たとえば、「T」の形の場合、現在、使用している 4 つの文字で使用したい 3 つの色のうちの 1 つのみについて、可能な回転ごとに 92 の画像があります。ここ数日間考えてみると、数百 (場合によっては 1000 を超える) 画像が存在することになります。
しかし、それは問題ではありません。チェックについて私が考えることができる唯一の方法は、TON (1,000 をはるかに超える) IF ステートメントを使用することです。たとえば、右側に「A」がある「T」字型のピース 1 の場合、「B」が、ピースが配置できる他の可能な位置のいずれかの隣にあるかどうかを確認する必要があります。 「A」の付いた駒が、「B」の付いた駒の隣 (上、下、または両側) にある場合、良好な一致が登録されます。ある時点で同じ土地である 2 つの文字が隣り合っている場合、一致していないピースの列全体が消え、その上のピースが落下します。これらのピースが再び着陸したら、すべてのピースをもう一度チェックして、その新しい位置が可能な文字ペアの一部であるかどうかを確認する必要があります.
それで、これは単に長くかかるものですか (1 か月強しかありません)、それとも、大量の IF ステートメント以外にできることはありますか? このようなことは可能ですか?結局のところ、おそらく 1000 枚の画像について話しているので、次の場合はすべての画像を常にチェックする必要があります。
別の画像にヒットしたため、停止する必要があります
プレイヤーが配置した場所が別の文字の隣にあるかどうか、およびそれが適切な文字の一致であるかどうかを確認します (これは大きな問題です)
ピース全体が消えると、ピースは再び下に移動し、必要なすべてのチェックをもう一度行う必要があります。
計画は、私がよく理解している唯一の言語であるため、これをJavaで行うことですが、あらゆる提案を受け入れます。その原因が失われた場合は、私に知らせてください。それが失われた原因である場合、これに多くの時間を費やす前に、別のコンセプトを考え出したい.
編集:
これは、非常に簡単にまとめた画像で、どのように見えるかがわかります。
http://imageshack.us/a/img560/1814/dg80.png
この画像を見ると、ボードの下部に既に 4 つの駒が配置されており、プレイヤーはまっすぐな駒を下に向けています。プレーヤーは、線の一番下にある「A」を、「T」形状の右側の「正方形」にある「A」と一致させたいと考えています。ピースが「T」の隣に着地すると、コードは「ああ、別の「A」が私の隣に着地したので、私は良い試合であり、私たちは両方とも消える必要があります」と言う必要があります. それが発生すると、他の部分が下に移動し、チェックを再度行う必要があります。ピースの組み合わせは非常に多く、プレーヤーは自由にピースを狂った場所に置くことができるため、チェックは非常識である必要があります。有効なコンボを見逃さないように、すべてのピースを他のすべてのピースとチェックする必要があります。
ピースがどのように見えるかの例を次に示します。
grid - 1種類のテトロミノでグリッドを埋める最適な方法
変数 X (X は 2 から 7 の間) と Y (Y は 30 未満) でグリッドを事前定義された形状で埋める必要があります。センター)。
テトロミノは全4方向に回転可能。
誰かが私を始めさせることができますか?