| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1063 人关注过本帖
标题:【请教】这种题是否不可解的
只看楼主 加入收藏
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
结帖率:100%
收藏
已结贴  问题点数:100 回复次数:13 
【请教】这种题是否不可解的
用c#写了个小程序,见附图,似乎打乱后是不可解的。如果要可解必须再多一行,也就是3X4的方格。求证。
运行需要.netframework
图片附件: 游客没有浏览图片的权限,请 登录注册

numgame.rar (5.78 KB)
2013-09-26 14:19
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
得分:50 
其他地方我就不说了写的不错,但是你写的这个游戏是不可能赢的,因为你在判断是否胜利的时候的函数写的不对。
private bool checkWin()
{
    int[] numArray = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 0 };
    return intArray.Equals(numArray);
    //这个地方大大的有问题,哪有这样判断两个数组中的相同位置的元素是否一样的呢。
    //这个要是不该的话,估计在你有生之年是不会赢的吧?
    //你至少应该循环判断相应的位置的元素是不是都相同吧?

}
修改过来之后看截图,有时候也是能赢得,但是不一定每个都有解的,要看你随机生成数字的位置的,位置好了就能赢,否则赢不了。请看截图,改过之后我就赢过一次:
图片附件: 游客没有浏览图片的权限,请 登录注册




♂ 死后定当长眠,生前何须久睡。♀
2013-09-26 15:05
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:0 
以下是引用303770957在2013-9-26 15:05:45的发言:

其他地方我就不说了写的不错,但是你写的这个游戏是不可能赢的,因为你在判断是否胜利的时候的函数写的不对。
private bool checkWin()
{
    int[] numArray = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 0 };
    return intArray.Equals(numArray);
    //这个地方大大的有问题,哪有这样判断两个数组中的相同位置的元素是否一样的呢。
    //这个要是不该的话,估计在你有生之年是不会赢的吧?
    //你至少应该循环判断相应的位置的元素是不是都相同吧?
}
修改过来之后看截图,有时候也是能赢得,但是不一定每个都有解的,要看你随机生成数字的位置的,位置好了就能赢,否则赢不了。请看截图,改过之后我就赢过一次:


谢谢,是我脑残了。看来equals不能这样用。。

[ 本帖最后由 lonmaor 于 2013-9-26 15:29 编辑 ]

从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2013-09-26 15:22
husiwen
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:227
专家分:1125
注 册:2010-5-23
收藏
得分:10 
你可以研究下8数码算法  产生随机位置后  用算法验算下..是否有解

无解  就重新生成
2013-09-26 15:34
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:0 
回复 4楼 husiwen
算法是俺的软肋

从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2013-09-26 15:43
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:5 
equal不适合用来产生随机数,因为不能确定你那些数字出现的概率是一样的

思考赐予新生,时间在于定义
2013-09-26 16:44
wjshan0808
Rank: 2
等 级:论坛游民
帖 子:15
专家分:36
注 册:2013-3-6
收藏
得分:5 
学习一下
2013-09-26 16:50
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:5 
随机数的产生不是一般都用  Math.radon吗

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-09-26 17:02
西安郑鑫
Rank: 7Rank: 7Rank: 7
来 自:陕西
等 级:黑侠
帖 子:163
专家分:624
注 册:2013-9-26
收藏
得分:5 
高级了,我看不懂

Hello World!------鑫花璐放
2013-09-26 17:12
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6814
专家分:42393
注 册:2010-12-16
收藏
得分:5 
这叫什么游戏?怎么玩?

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-09-26 17:32
快速回复:【请教】这种题是否不可解的
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022715 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved