gpt4 book ai didi

java - 使用 Stacks 的类似俄罗斯方 block 的小程序——从顶部弹出

转载 作者:行者123 更新时间:2023-12-01 15:07:52 25 4
gpt4 key购买 nike

因此,在我的类里面,我们正在使用 Java 编写一个简单的俄罗斯方 block ,例如小程序。方 block 从屏幕顶部落入 6 个不同的列,每个不同的列都是一个堆栈。为了得分,您必须将 3 个或更多相同颜色的 block 在堆栈的最顶部水平地彼此相邻地匹配。所以只有堆栈的顶部可以匹配。如果匹配 3 个或更多 block ,则必须将它们删除(也称为 pop() 关闭)。您可以将 block 与相邻 block 向右或向左切换(从而生成更大的组合)。但这是我的问题。我的问题涉及检查 3 个或更多 block (彼此相邻)的颜色是否匹配。我必须记住的是列数可能会增加。我并不是说程序运行时它会增加,只是我必须练习适当的技术并确保我以此为可能性来解决这个问题。话虽如此,有一个代表列数的成员变量,恰本地命名为 numCols。

因此,如果有人可以插入我朝着正确的方向解决这个问题。问题又来了:能够编写一个方法removeCombos(),该方法检查水平排(穿过堆栈顶部)的 3 个或更多相同颜色的 block 并将其删除。我想自己编写代码,这就是为什么我没有在这里提供任何代码。除非您需要查看某些内容,否则我可以提供一些,但它正在使用基本堆栈类及其通用方法,pop(),peek(),contains(),isEmpty()以及堆栈类。

如果我有任何不清楚的地方,我提前道歉,并请我在需要的地方进行澄清。非常感谢。

最佳答案

您想要做的是将您的Stack作为数组:

protected Stack[] stacks;

protected removeCombos()
{
int color;
for(int i = 0; i < stacks.length; ++i)
{
color = stacks[i].peek();
for(int j = 1; (i+j) < stacks.length; ++j)
if(stacks[i+j].peek() != color)
break;

// j is now the number of contiguous blocks of the same color.
}
}

关于java - 使用 Stacks 的类似俄罗斯方 block 的小程序——从顶部弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12737053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com