斗地主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
相关文档:
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetL ......
/*
由于javascript是一种无类型语言,所以一个数组的元素可以具有任意的数据类型,同一个数组的不同元素
可以具有不同的类型,数组的元素设置可以包含其他数组,这样就可以创建一个复杂的数组了.
并且在这点上说javascript作为一种脚本语言不同于那种严格的面向对象的c++.c#,java了.具有更高的灵活性.
&n ......
拼图游戏,在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> ......
原著:李战(leadzen).深圳 2008-2-23
要理解JavaScript,你得首先放下对象和类的概念,回到数据和代码的本原。前面说过,编程世界只有数据和代码两种基本元素,而这两种元素又有着纠缠不清的关系。JavaScript就是把数据和代码都简化到最原始的程度。
JavaScript中的数据很简洁的。简单数据只有 undefi ......
东西很简单,只是自己记性不好,经常忘记一些关键字
所以发了点时间整理了一下
/*------------------------------------------------------
*作者:xieyu @ 2007-08-14
*语言:JavaScript
*说明:select元素javascript常用操作
* 1.判断是否存在指定value的Item
* 2.加入一 ......