私のクラスでは、Java でアプレットのような単純な Tetris を扱っています。ブロックは画面の上部から 6 つの異なる列に落ち、それぞれの異なる列はスタックです。ポイントを獲得するには、同じ色の 3 つ以上のブロックをスタックの一番上で水平方向に並べて一致させる必要があります。したがって、スタックの一番上のみが一致します。3 つ以上のブロックに一致する場合は、それらを削除する必要があります (別名 pop() をオフにします)。隣接するブロックでブロックを右または左に切り替えることができます (したがって、より大きなコンボが生成されます)。しかし、それは私の問題です。私の問題は、(互いに隣接している) 3 つ以上のブロックの色が一致しているかどうかを確認することです。注意しなければならないのは、列の数が増える可能性があるということです。プログラムを実行すると増加すると言っているのではありません。適切なテクニックを練習し、可能性としてこの問題にアプローチしていることを確認する必要があります。そうは言っても、numCols という適切な名前の列数を表すメンバー変数があります。
ですから、誰かがこの問題を解決するための正しい方向に私を押してくれるなら、どうぞ。繰り返しになりますが、問題: 水平方向 (スタックの上部) に同じ色の 3 つ以上のブロックが並んでいるかどうかをチェックし、それらを削除する removeCombos() メソッドを記述できることです。自分でコードを書きたいので、ここではコードを提供していません。あなたが見る必要があるものがない限り、私はいくつかを提供することができますが、基本的なスタッククラスとそのジェネリックメソッド、pop()、peek()、contains()、isEmpty()、および内部の反復子クラスで動作していますスタック クラス。
不明な点がありましたら、事前にお詫び申し上げます。どうもありがとうございました。