用javascript编写“24点”游戏

王朝厨房·作者佚名  2007-01-05
宽屏版  字体: |||超大  

<html>

<head>

</head>

<script language='javascript'>

var debug = false;

var steps = new Array();

var ResultSet = new Array();

ResultSet.Add = function(newResult)

{

for (var i = 0; i < ResultSet.length; i++)

{

if (ResultSet[i] == newResult)

{

return;

}

}

ResultSet.push(newResult);

}

ResultSet.toString = function()

{

var msg = "";

for (var i = 0; i < ResultSet.length; i++)

{

msg += ResultSet[i] + "=24\n";

}

msg += "计算结束,共得到"+ResultSet.length+"个不同结果";

return msg;

}

function Assert(flag)

{

if (!flag)

{

throw new Error('Assertion failed!');

}

}

Array.prototype.clone = function()

{

return this.slice(0);

}

function calcul(stack,oper)

{

Assert(oper == '+' || oper == '-' || oper == '*' || oper == '/');

var lift = new Array();

lift[0] = stack.pop()-0;

lift[1] = stack.pop()-0;

switch(oper)

{

case '+': stack.push(lift[1] + lift[0]);

break;

case '-': stack.push(lift[1] - lift[0]);

break;

case '*': stack.push(lift[1] * lift[0]);

break;

case '/': stack.push(lift[1] / lift[0]);

break;

}

return lift;

}

function parseExp() //由逆波兰式构造出表达式

{

var stack = new Array();

var exprs = new Array();

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有