斗地主AI JavaScript篇(1)
今天 有幸在这里做一下关于斗地主AI的 JS实现讲解
在处理AI的过程中 首先 我们要对模拟人类赞牌的过程 实现机器人算出最合理的出牌路线!
在这个过程中 我们需要用到的函数
1:排序函数:PxFux 返回一个经过对牌组排序的数组 不要干涉原来的数组
2:抽牌函数:MChouPai 返回一个被抽出的片段 和 抽出后剩余的部分
3:查找存在的牌型函数:SerCh 返回查找到的单牌 火箭 对子 3张 顺子 只要它有可能存在 就加入到队列去!
4:计算Pn值函数:GetTaMax 这里的Pn值 是计算出遍历出来的牌的好坏程度 用来筛选最好的牌
5:遍历除炸弹火箭2以外的所有剩余路径:GetAllPai
6:在GetAllPai 中使用到 GetAllLast函数 该函数是计算遍历出顺子组合后 剩下的牌在进行 3张 对子 和 单牌的加入
7:GetAllSun 遍历出所有 3张 单顺 双顺 3顺的组合 (记住为机器人赞牌,我们不必要去理会 3带1 3带2 或者飞机 等情况 因为这个情况我们可以再出牌的时候依据剩余的单牌 或对牌去决定要出飞机还是3带1 我们只需要找出 3张一样的 或者顺子啊等等)
8:GetAllSunLess 遍历出所有的顺子
9:GetAll2SunLess 遍历出所有的双顺
10:GetAll3SunLess 遍历所有的3顺
以上 遍历的值 都是以阶梯式的 并不等级
好比如 有两个顺子 两个 双顺
GetAllSunLess 得到的阶梯是这样的
顺子1--杂牌
顺子1-顺子2-杂牌
双顺1--杂牌
双顺1-双顺2-杂牌
那么在GetAllSun 的函数中 剩余的杂牌 可以依照3种情况在进行排列 格式如下
|顺子2--杂牌
| 取顺子部分-+
| | 顺子2-顺子3-杂牌
| |双顺2--杂牌
顺子1--+取双顺部分 ---+
| &nbs
相关文档:
1。解决2000问题
function y2k(number) { return (number < 1000) ? number + 1900 : number; }
2。检查日期是否合法
// 当输入参数为isDate(dd,mm,ccyy)时,表示要检查年,月,日
// 当输入参数为isDate(dd,mm) 表示默认年为当前年
// 当输入参数为isDate(dd) 表示默认年,月为当前年月
......
//设置当前页面为用户的首页
function setHomepage()
{
document.body.style.behavior='url(#default#homepage)';
document.body.setHomePage(window.location.href);
event.returnValue=false;
return;
}
//加入收藏
function addFavorite()
{
&nb ......
拼图游戏,在ie7 ,火狐,谷歌 测试通过。
HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title> ......
javascript中innerHtml用法
2009-04-21 22:52
<html>
<head>
<script language="javascript">
function Test(){
var str="";
str+="Hello,";
str+="This ......