m0_65749592 2024-05-31 11:54 采纳率: 35.5%
浏览 7
已结题

​JAVA相邻消消问题,不知道哪里还有问题

​JAVA 相邻 问题
我这个方法是看一个7*7矩阵相邻的素材,我这规则万能有时候生效 有时候没有,131是万能素材,假设以下第一个图书是我的矩阵,那第4和第五行的127是可以消除的 因为有5个127 ,相邻的还有一个万能,那那个万能就也能变成127,因为万能素材是可以变的,但是我这代码有时候不生效,不知道什么问题,然后  wildList.add(i + "_" + j);是我想存储万能参与了中奖才存起来放进这个字段,但是我现在是没中奖也存进去了,(注意:最下面展示一个游戏图,游戏图里面有一个wild万能,只参与一条素材,加上万能超过五个就算是一条消消就是这样的玩法)


img

img

img

  • 写回答

9条回答 默认 最新

  • 阿里嘎多学长 2024-05-31 11:55
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    从您提供的描述和代码片段来看,您遇到的问题可能与以下几个方面有关:

    1. 万能素材的逻辑处理:您的代码需要确保当万能素材(值为131)与相同类型的素材相邻时,能够正确地将其视为该类型的素材进行消除。

    2. wildList的存储逻辑:您需要修改代码,确保只有当万能素材参与了消除时才将其坐标存储到wildList中。

    3. 消除逻辑的实现:需要确保当矩阵中有超过五个相同素材,并且相邻有一个万能素材时,万能素材能够变成与这些素材相同的值。

    4. 代码的逻辑错误和语法错误:需要检查代码是否存在逻辑错误或语法错误,如数组越界、条件判断错误等。

    5. 代码调试:需要对代码进行调试,找出问题所在,并修复这些问题。

    针对您的问题,我将提供一些建议和可能的解决方案:

    万能素材逻辑处理

    检查您的代码中处理万能素材的逻辑是否正确。确保在比较和替换素材值时,万能素材能够正确地被视为相邻素材的类型。

    wildList的存储逻辑

    在将万能素材的坐标添加到wildList之前,添加一个条件判断,只有当该万能素材参与了消除操作时才进行添加。

    if (arr[i][j] == 131 && isEliminated) {
        wildList.add(i + "_" + j);
    }
    

    其中isEliminated是一个布尔变量,用于标记是否发生了消除操作。

    消除逻辑的实现

    确保您的消除逻辑能够正确地识别超过五个相同素材的情况,并且当相邻有万能素材时,能够将其转换为相同类型的素材。

    代码的逻辑错误和语法错误检查

    • 数组越界:确保在访问数组时,索引没有超出数组的界限。
    • 条件判断错误:检查所有的条件判断是否符合逻辑,特别是涉及到万能素材的判断。

    代码调试

    使用调试工具逐步执行代码,观察变量的值和程序的流程,找出问题所在。

    示例代码

    由于您提供的代码片段不完整,我无法提供完整的代码实现。但是,我可以提供一个简化的示例,说明如何处理万能素材和存储wildList

    public void checkAdjacentMaterial(int[][] arr, int[][] arrCheck, int i, int j, SlotGameLineData data, List<String> wildList, boolean isEliminated) {
        arrCheck[i][j] = 1;
        if (arr[i][j] == 0) {
            return;
        }
        // ... 省略其他代码 ...
    
        // 检查万能素材
        if (arr[i][j] == 131) {
            // ... 省略检查相邻素材的代码 ...
            // 如果发生消除
            if (isEliminated) {
                wildList.add(i + "_" + j);
            }
        }
        // ... 省略其他代码 ...
    }
    

    请注意,这只是一个简化的示例,您需要根据实际情况调整代码。

    参考资料

    希望这些建议能够帮助您解决问题。如果您需要更具体的帮助,请提供更完整的代码片段。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月31日
  • 赞助了问题酬金15元 5月31日
  • 创建了问题 5月31日

悬赏问题

  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价