因此,在我的課堂上,我們正在開發一個簡單的Tetris,如Java中的applet。塊從屏幕頂部落入6個不同的列,每個不同的列是堆棧。爲了獲得積分,您必須在堆疊的頂部水平排列彼此相鄰的3個或更多相同顏色的塊。所以只有堆棧的頂部可以匹配。如果你匹配3個或更多的塊,他們必須被刪除(aka pop()'d off)。您可以將相鄰塊的塊切換到右側或左側(從而生成更大的組合)。但是,這是我的問題。我的問題涉及檢查3個或更多塊(彼此相鄰)是否匹配顏色。我必須記住的是列數可能增加的可能性。我並不是說程序運行時它會增加,只是我必須練習正確的技巧,並確保我將這個問題作爲一種可能性來處理。這就是說有一個成員變量,表示列的數量,恰當地命名爲numCols。使用堆棧的類似Tetris的Applet - 彈出頂部
所以,如果任何人都可以給我一個正確的方向推動解決這個問題,請。再次,問題是:能夠編寫一個方法removeCombos()來檢查一行中相同顏色的3個或更多塊,並橫向排列(跨棧頂部)並將其刪除。我想自己編寫代碼,這就是爲什麼我沒有在這裏提供任何代碼。除非你需要看到什麼,那麼我可以提供一些,但是它與基本的堆棧類及其泛型方法,pop(),peek(),contains(),isEmpty()以及一個迭代器類一起工作堆棧類。
如果我以任何方式不清楚,我提前道歉,請讓我澄清需要的地方。非常感謝你。
「堆棧」這個詞有幾個含義,一個是作爲遊戲的概念,其中塊彼此堆疊,並且有數據結構堆棧和實現它的Java類堆棧。是否需要使用Java Stack類? – Meier