数独递归AI自动计算程序
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-07
在群里面谈到数值的遍历,想起了早前写的一个as2数独小程序,在此连码一起发上来吧... 数独递归AI算法: //=========核心处理方法======== //==================处理函数==================== 取字符数组 = function (文本) { var 返回值 = new Array(); for (var i = 0; i<文本.length; i++) { 返回值.push(文本.charAt(i)); } return 返回值.sort(); }; //this[字符数组.join("")] = new Object(); 拆出名字 = function (字符数组) { var 对象名 = new Array(); for (var i = 0; i<字符数组.length; i++) { 对象名.push(字符数组.join("")); 字符数组.push(字符数组.shift()); } return 对象名; }; 生成对象 = function (对象:Object, 字符数组:Array) { var 对象名表 = 拆出名字(字符数组); for (var i = 0; i<对象名表.length; i++) { 对象[对象名表[i]] = new Object(); 对象[对象名表[i]].名字 = 对象名表[i]; 对象[对象名表[i]].前名段 = 对象名表[i].charAt(0); var 取后名字符 = 对象[对象名表[i]].名字.substr(1); var 拆名数组 = 取字符数组(取后名字符); //trace("原名="+对象[对象名表[i]].名字+" 取出后="+取后名字符+" 处理结果="+拆名数组); if (对象[对象名表[i]].名字.length>2) { 生成对象(对象[对象名表[i]], 拆名数组); delete 对象[对象名表[i]].名字; } else { delete 对象[对象名表[i]].前名段; } //目前可删 } }; // // //用于结束最后的2位数互换 取名字 = function (对象:Object, 前段名) { for (var i in 对象) { if (typeof (对象[i]) == "object") { if (对象[i].前名段 != undefined) { if (名字.charAt(名字.length) != 对象[i].前名段) { 名字 += 对象[i].前名段; 取名字(对象[i], 名字); } } else { //trace("未加前="+前段名+" 追加名字="+对象[i].名字+" 结束名="+前段名+对象[i].名字); 结果数组.push(前段名+对象[i].名字); } } } //trace("名字="+名字); 名字 = substring(名字, 0, 名字.length-1); }; 组成名字表 = function (主对象) { for (var i in 主对象) { 名字 = 主对象[i].前名段; //trace(""); //trace("前字段="+名字); 取名字(主对象[i], 名字); } }; // //============================================= // //===========执行函数======= //执行原理:字符串->数组->结构对象->归类追加到结果数组 function 递归求可能() { 结果数组 = new Array(); var 数值 = [1, 2, 3, 4, 5, 6, 7, 8, 9]; //找出推理参数值,去掉 for (var i = 0; i<数值.length; i++) { if (数值[i] == Number(推理参数)) { 数值.splice(i, 1); break; } } //添加递归字符串 var 字符串 = ""; for (var i = 0; i<数值.length; i++) { 字符串 += 数值[i]; } trace("递归字符串="+字符串); var 字符数组 = new Array(); 字符数组 = 取字符数组(字符串); //生成主对象 var 主对象 = new Object(); 生成对象(主对象, 字符数组); 组成名字表(主对象); return true; } thisObj = this; for (var i = 1; i<9; i++) { thisObj["题目"+i].onRelease = function() { var ID = Number(this._name.substr(2)); gotoAndStop(ID+1); }; } //===================================== // //转载请注明出处:羽柴 鬼铃-blog www.ycFlash.com/blog // //===================================== //其余的请下载源码查看吧. 点击下载文件: r200933161248.rar 关键词: |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于数独递归AI自动计算程序的所有评论