| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1921 人关注过本帖
标题:js编写算24点小游戏
只看楼主 加入收藏
yeelone
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-8-31
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
js编写算24点小游戏
程序代码:
<head>
<title>24点游戏</title>
<meta http-equiv="content-type"  content="text/html";charset=utf-8>
<style>
body {background-color:buttonface;}
#text_result {
        background-color:#6090da;
        border:black solid 1px;
        color:white;
        font-weight:bold;
        height:20px;        
}
</style>

<script type="text/javascript">
<!--
var v1,v2,v3,v4,v5,text_result;
function $(str){return(document.getElementById(str));}
function call(val1,val2,val3,val4)
{

        thearray0=new Array(val1,val2,val3,val4);
        thearray1=new Array('1234','1243','1324','1342','1423','1432',
        '2134','2143','2341','2314','2413','2431','3124','3142','3241','3214','3412','3421','4123','4132','4213','4231','4312','4321');
        thearray2=new Array('+' ,'-','*', '/');

        a1=parseInt(v5.value);

        for(var ii=0;ii<24;ii++)
        {
                thearray3=thearray1[ii].split('');
                for(var mm=0;mm<4;mm++)
                {
                        thearray3[mm]=parseInt(thearray3[mm]);
                }

                for(var jj=0;jj<4;jj++){
                        for(var kk=0;kk<4;kk++){
                                for(var ll=0;ll<4;ll++)
                                {
                                        ss1=thearray0[therray3[0]-1]+thearray2[jj]+therray0[thearray3[1]-1]+thearray2[kk]+thearray0[thearray[2]-1]+thearray2[ll]+thearray0[thearray3[3]-1];
                                        if(eval(ss1)==a1)
                                        {return(ss1);}

                                        ss1='('+thearray0[thearray3[0]-1]+thearray2[jj]+thearray0[thearray3[1]-1]+')'+thearray2[kk]+thearray0[thearray[2]-1]+thearray2[ll]+thearray0[thearray3[3]-1];
                                        if(eval(ss1)==a1)
                                        {return(ss1);}
                                        ss1=thearray0[thearray3[0]-1]+thearray2[jj]+'('+thearray0[thearray3[1]-1]+thearray2[kk]+thearray0[thearray[2]-1]+')'+thearray2[ll]+thearray0[thearray3[3]-1];
                                        if(eval(ss1)==a1)
                                        {return(ss1);}
                                        ss1=thearray0[thearray3[0]-1]+thearray2[jj]+thearray0[thearray3[1]-1]+thearray2[kk]+'('+thearray0[thearray[2]-1]+thearray2[ll]+thearray0[thearray3[3]-1]+')';
                                        if(eval(ss1)==a1)
                                        {return(ss1);}
                                        
                                        ss1='('+thearray0[thearray3[0]-1]+thearray2[jj]+thearray0[thearry3[1]-1]+thearray2[kk]+thearray0[thearray[2]-1]+')'+thearray2[ll]+thearray0[thearray3[3]-1];
                                        if(eval(ss1)==a1)
                                        {return(ss1);}
                                        ss1=thearray0[thearray3[0]-1]+thearray2[jj]+'('+thearray0[thearray3[1]-1]+thearray2[kk]+thearray0[thearray[2]-1]+thearray2[ll]+thearray0[thearray3[3]-1]+')';
                                        if(eval(ss1)==a1)
                                        {return(ss1);}
                                }

        }}}
        return(false);
}


function check1(boj1)
{
        if(isNaN(boj1.value))
                {

                        alert("请输入数值");
                        boj1.focus();                        
                        boj1.select();
                        event.returnValue=false;
                        event.cancelBubble=true;
                        return(false);
                }
}

function init()
{
        v1=$("v1");
    
        v2=$("v2");
        v3=$("v3");
        v4=$("v4");
        v5=$("v5");
        text_result=$("text_result");
        v1.select();
}

function main()
{
        var s1=call(v1.value,v2.value,v3.value,v4.value);

        if(s1)
        {      
                text_result.innerText+='\n'+s1+'=='+v5.value;
        }
        else
        {
                text_result.innerText+='\n'+v1.value+','+v2.value+','+v3.value+','+v4.value+','+v5.value+'        无效果!';
        }
        init();
        return(false);
}





-->
</script>


</head>
<body  style="overflow:auto;"   onload="init();">
<form  onsubmit="return(main());">
<b>请输入要计算的四个数:</b><br>
<input id="v1" onchange="check1(this);">
<input id="v2" onchange="check1(this);"><br>
<input id="v3" onchange="check1(this);">
<input id="v4" onchange="check1(this);"><br>
<b>请输入要计算的目标结果:</b>
<input id="v5" onchange="check1(this);"  value="24"><br>
<input type="submit" value="计算">
<input type="reset" onclick="clear_input();" value="清除结果">
</form>
<b>结果:</b><br>
<div id="text_result" ><div>

</body>
</html>

根据书里代码是这样写的,输入四个数字之后,点击“计算”没有效果。请大家帮我看看
搜索更多相关主题的帖子: 小游戏 编写 
2010-08-31 09:06
foktime
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:奥斯维辛
等 级:贵宾
威 望:35
帖 子:795
专家分:2742
注 册:2009-9-4
收藏
得分:20 
变量名拼写错误无数,请再编写代码的过程中务必仔细仔细再仔细!!!!!
程序代码:
<html>
<head>
<title>24点游戏</title>
<meta http-equiv="content-type"  content="text/html";charset=utf-8>
<style>
body {background-color:buttonface;}
#text_result {
        background-color:#6090da;
        border:black solid 1px;
        color:white;
        font-weight:bold;
        height:20px;       
}
</style>

<script type="text/javascript">
<!--
var v1,v2,v3,v4,v5,text_result;
function $(str){return(document.getElementById(str));}
function call(val1,val2,val3,val4)
{

        thearray0=new Array(val1,val2,val3,val4);
        thearray1=new Array('1234','1243','1324','1342','1423','1432',
        

'2134','2143','2341','2314','2413','2431','3124','3142','3241','3214','3412','3421','4123','4132

','4213','4231','4312','4321');
        thearray2=new Array('+' ,'-','*', '/');

        a1 = parseInt(v5.value);
       
        for(var ii=0;ii<24;ii++)
        {
            thearray3 = thearray1[ii].split('');
                for(var mm=0;mm<4;mm++)
                {
                        thearray3[mm]=parseInt(thearray3[mm]);
                }
               
                for(var jj=0;jj<4;jj++){
                        for(var kk=0;kk<4;kk++){
                            for (var ll = 0; ll < 4; ll++) {
                                ss1 = thearray0[thearray3[0] - 1] + thearray2[jj] + thearray0

[thearray3[1] - 1] + thearray2[kk] + thearray0[thearray3[2] - 1] + thearray2[ll] + thearray0

[thearray3[3] - 1];
                                if (eval(ss1) == a1)
                                { return (ss1); }
                                ss1 = '(' + thearray0[thearray3[0] - 1] + thearray2[jj] + 

thearray0[thearray3[1] - 1] + ')' + thearray2[kk] + thearray0[thearray3[2] - 1] + thearray2[ll] 

+ thearray0[thearray3[3] - 1]; ;
                                if (eval(ss1) == a1)
                                { return (ss1); }
                                ss1 = thearray0[thearray3[0] - 1] + thearray2[jj] + '(' + 

thearray0[thearray3[1] - 1] + thearray2[kk] + thearray0[thearray3[2] - 1] + ')' + thearray2[ll] 

+ thearray0[thearray3[3] - 1];
                                if (eval(ss1) == a1)
                                { return (ss1); }
                                ss1 = thearray0[thearray3[0] - 1] + thearray2[jj] + thearray0

[thearray3[1] - 1] + thearray2[kk] + '(' + thearray0[thearray3[2] - 1] + thearray2[ll] + 

thearray0[thearray3[3] - 1] + ')';
                                if (eval(ss1) == a1)
                                { return (ss1); }

                                ss1 = '(' + thearray0[thearray3[0] - 1] + thearray2[jj] + 

thearray0[thearray3[1] - 1] + thearray2[kk] + thearray0[thearray3[2] - 1] + ')' + thearray2[ll] 

+ thearray0[thearray3[3] - 1];
                                if (eval(ss1) == a1)
                                { return (ss1); }
                                ss1 = thearray0[thearray3[0] - 1] + thearray2[jj] + '(' + 

thearray0[thearray3[1] - 1] + thearray2[kk] + thearray0[thearray3[2] - 1] + thearray2[ll] + 

thearray0[thearray3[3] - 1] + ')';
                                if (eval(ss1) == a1)
                                { return (ss1); }
                            }
                        }
                    }
                }
                return (false);
}


function check1(boj1)
{
        if(isNaN(boj1.value))
                {
                        alert("请输入数值");
                        boj1.focus();                       
                        boj1.select();
                        event.returnValue=false;
                        event.cancelBubble=true;
                        return(false);
                }
}

function init()
{
        v1=$("v1");
        v2=$("v2");
        v3=$("v3");
        v4=$("v4");
        v5=$("v5");
        text_result=$("text_result");
        v1.select();
}

function main()
{
    init();
    var s1 = call(v1.value, v2.value, v3.value, v4.value);
    if (s1) {
        text_result.innerText += '\n' + s1 + '==' + v5.value;
    }
    else {
        text_result.innerText += '\n' + v1.value + ',' + v2.value + ',' + v3.value + ',' + 

v4.value + ',' + v5.value + '        无效果!';
    }

    return (false);
}





-->
</script>


</head>
<body  style="overflow:auto;"   onload="init();">
<form  onsubmit="return(main());">
<b>请输入要计算的四个数:</b><br>
<input id="v1" onchange="check1(this);">
<input id="v2" onchange="check1(this);"><br>
<input id="v3" onchange="check1(this);">
<input id="v4" onchange="check1(this);"><br>
<b>请输入要计算的目标结果:</b>
<input id="v5" onchange="check1(this);"  value="24"><br>
<input type="submit" value="计算">
<input type="reset" onclick="clear_input();" value="清除结果">
</form>
<b>结果:</b><br>
<div id="text_result" ><div>

</body>
</html>


[ 本帖最后由 foktime 于 2010-8-31 11:23 编辑 ]
2010-08-31 11:22
yeelone
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-8-31
收藏
得分:0 
还是没有效果。感觉call函数没起作用。
2010-08-31 13:05
foktime
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:奥斯维辛
等 级:贵宾
威 望:35
帖 子:795
专家分:2742
注 册:2009-9-4
收藏
得分:0 
不知道是不是中间贴代码的时候是不是出了什么错误 再贴一遍。
程序代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.点游戏</title>
<meta http-equiv="content-type"  content="text/html";charset=utf-8>
<style>
body {background-color:buttonface;}
#text_result {
        background-color:#6090da;
        border:black solid 1px;
        color:white;
        font-weight:bold;
        height:20px;       
}
</style>

<script type="text/javascript">
<!--
var v1,v2,v3,v4,v5,text_result;
function $(str){return(document.getElementById(str));}
function call(val1,val2,val3,val4)
{

        thearray0=new Array(val1,val2,val3,val4);
        thearray1=new Array('1234','1243','1324','1342','1423','1432',
        '2134','2143','2341','2314','2413','2431','3124','3142','3241','3214','3412','3421','4123','4132','4213','4231','4312','4321');
        thearray2=new Array('+' ,'-','*', '/');

        a1 = parseInt(v5.value);
       
        for(var ii=0;ii<24;ii++)
        {
            thearray3 = thearray1[ii].split('');
                for(var mm=0;mm<4;mm++)
                {
                        thearray3[mm]=parseInt(thearray3[mm]);
                }
               
                for(var jj=0;jj<4;jj++){
                        for(var kk=0;kk<4;kk++){
                            for (var ll = 0; ll < 4; ll++) {
                                ss1 = thearray0[thearray3[0] - 1] + thearray2[jj] + thearray0[thearray3[1] - 1] + thearray2[kk] + thearray0[thearray3[2] - 1] + thearray2[ll] + thearray0[thearray3[3] - 1];
                                if (eval(ss1) == a1)
                                { return (ss1); }
                                ss1 = '(' + thearray0[thearray3[0] - 1] + thearray2[jj] + thearray0[thearray3[1] - 1] + ')' + thearray2[kk] + thearray0[thearray3[2] - 1] + thearray2[ll] + thearray0[thearray3[3] - 1]; ;
                                if (eval(ss1) == a1)
                                { return (ss1); }
                                ss1 = thearray0[thearray3[0] - 1] + thearray2[jj] + '(' + thearray0[thearray3[1] - 1] + thearray2[kk] + thearray0[thearray3[2] - 1] + ')' + thearray2[ll] + thearray0[thearray3[3] - 1];
                                if (eval(ss1) == a1)
                                { return (ss1); }
                                ss1 = thearray0[thearray3[0] - 1] + thearray2[jj] + thearray0[thearray3[1] - 1] + thearray2[kk] + '(' + thearray0[thearray3[2] - 1] + thearray2[ll] + thearray0[thearray3[3] - 1] + ')';
                                if (eval(ss1) == a1)
                                { return (ss1); }

                                ss1 = '(' + thearray0[thearray3[0] - 1] + thearray2[jj] + thearray0[thearray3[1] - 1] + thearray2[kk] + thearray0[thearray3[2] - 1] + ')' + thearray2[ll] + thearray0[thearray3[3] - 1];
                                if (eval(ss1) == a1)
                                { return (ss1); }
                                ss1 = thearray0[thearray3[0] - 1] + thearray2[jj] + '(' + thearray0[thearray3[1] - 1] + thearray2[kk] + thearray0[thearray3[2] - 1] + thearray2[ll] + thearray0[thearray3[3] - 1] + ')';
                                if (eval(ss1) == a1)
                                { return (ss1); }
                            }
                        }
                    }
                }
                return (false);
}


function check1(boj1)
{
        if(isNaN(boj1.value))
                {
                        alert("请输入数值");
                        boj1.focus();                       
                        boj1.select();
                        event.returnValue=false;
                        event.cancelBubble=true;
                        return(false);
                }
}

function init()
{
        v1=$("v1");
        v2=$("v2");
        v3=$("v3");
        v4=$("v4");
        v5=$("v5");
        text_result=$("text_result");
        v1.select();
}

function main()
{
    init();
    var s1 = call(v1.value, v2.value, v3.value, v4.value);
    if (s1) {
        text_result.innerText += '\n' + s1 + '==' + v5.value;
    }
    else {
        text_result.innerText += '\n' + v1.value + ',' + v2.value + ',' + v3.value + ',' + v4.value + ',' + v5.value + '        无效果!';
    }

    return (false);
}





-->
</script>


</head>
<body  style="overflow:auto;"   onload="init();">
<form  onsubmit="return(main());">
<b>请输入要计算的四个数:</b><br>
<input id="v1" onchange="check1(this);">
<input id="v2" onchange="check1(this);"><br>
<input id="v3" onchange="check1(this);">
<input id="v4" onchange="check1(this);"><br>
<b>请输入要计算的目标结果:</b>
<input id="v5" onchange="check1(this);"  value="24"><br>
<input type="submit" value="计算">
<input type="reset" onclick="clear_input();" value="清除结果">
</form>
<b>结果:</b><br>
<div id="text_result" ><div>

</body>
</html>

2010-08-31 13:37
gupiao175
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:40
帖 子:1787
专家分:7527
注 册:2007-6-27
收藏
得分:0 
24点代码很有意思,顶!

Q:1428196631,百度:开发地 即可找到我,有事请留言!
2010-08-31 17:49
yeelone
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-8-31
收藏
得分:0 
成功了。哈哈。谢谢版主。
是我 的变量错了吗?我之前检查了好多次的啊,没看出来。版主还记得是我哪写错了吗?能否说一下。
2010-08-31 22:58
yeelone
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-8-31
收藏
得分:0 
我发现版主只是在我的操作符之间多了很多空格而已啊。
在linux下用
diff  比较两个文件是这样显示的
2010-08-31 23:05
yeelone
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-8-31
收藏
得分:0 
我一直没看出是哪里错了,版主可否说 一下?
2010-08-31 23:17
foktime
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:奥斯维辛
等 级:贵宾
威 望:35
帖 子:795
专家分:2742
注 册:2009-9-4
收藏
得分:0 
笨笨 本来希望你能自己好好检查一下 既然这么说了那就告诉你 不过得给我发工资
一. ss1=thearray0[therray3[0]-1]+thearray2[jj]+therray0[thearray3[1]-1]+thearray2[kk]+thearray0[thearray[2]-1]+thearray2[ll]+thearray0[thearray3[3]-1];
这个,哪来的thearray??你用ie调试一下都可以看到  有thearray未定义的报错。综合前后我推断这个应该是thearray3才对,并且与此类似的几行代码都有这个错误;
二. ss1='('+thearray0[thearray3[0]-1]+thearray2[jj]+thearray0[thearry3[1]-1]+thearray2[kk]+thearray0[thearray[2]-1]+')'+thearray2[ll]+thearray0[thearray3[3]-1];
你觉得thearry3和thearray3长的一个模样吗?上面定义了thearray3,下面用的时候却变成了thearry3。类似错误我只说这一个,事实上里面还有好几个同样的问题,你自己找找吧,要学会排错

2010-09-01 08:16
yeelone
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-8-31
收藏
得分:0 
我学js才几天,现在还不知道怎么排错。
现在还不懂得有没有工具可以排错。我已经在一行行的查,可是还是漏了。
谢谢版主。
2010-09-01 11:11
快速回复:js编写算24点小游戏
数据加载中...
 
   



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

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