已有101人关注
学通java的24堂课361页简易配对游戏
发表在Java图书答疑 2012-07-30
是否精华
版块置顶:
[font face=] private boolean check() {
        boolean result = true;
        for (int i = 0; i < 5; i++) {
            Point location = img[i].getLocationOnScreen(); // 获取每个图像标签的位置
            Point seat = targets[i].getLocationOnScreen(); // 获取每个对应位置的坐标
            targets[i].setBackground(Color.GREEN); // 设置匹配后的颜色
            // 如果配对错误
            if (location.x < seat.x || location.y < seat.y
                    || location.x > seat.x + 80 || location.y > seat.y + 80) {
                targets[i].setBackground(Color.ORANGE); // 回复对应位置的颜色
                result = false; // 检测结果为false
            }
        }
        return result; // 返回检测结果
    }

问:倘若前面4张画都未能匹配,只有第5张画与文字匹配,那么result是否为true?那么check的结果是否为ture?
分享到:
精彩评论 3
无语_mrkj
学分:3155 LV11
2012-08-03
沙发
如果只有第5章匹配,那么将只有第5个位置的标签背景变为绿色,其他的不变,并且游戏也不结束,直到所有的位置都匹配成功,游戏才结束。
Akatsuki_shen
学分:0 LV1
TA的每日心情
开心
2021-01-14 23:07:57
2012-08-03
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
如果只有第5章匹配,那么将只有第5个位置的标签背景变为绿色,其他的不变,并且游戏也不结束,直到所有的位置都匹配成功,游戏才结束。
[/FIELDSET]

回复:但按照check的代码,前面即使都匹配不正确result=false,只要第5张匹配,那么reslut就会等于true,reult会被覆盖为true,那最终返回的结果就是true,不是吗?而后,check结果为true,则应显示所有匹配都正确,不是吗?这样理解不知道哪出问题了。还请指教。
  
无语_mrkj
学分:3155 LV11
2012-08-08
地板
这个程序的执行过程是这样的,只要您移动一个图标,就会执行者个check()方法,而在这个方法中,是从第一个图标开始判断的,只要有一个图标不匹配,这个result变量的值就是false,因为在这个方法中,只要在初始化时,设置result变量值为true了。
首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照