js 基础
js 数组 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16var a = [];
for(var i = 0; i < 10;i++){
a[i] = [];
}
//定义赢得胜利种类
//种情况,横向,纵向,左斜,右斜
wins =[
/* - */
[[-1,0],[1,0]],
/* | */
[[0,-1],[0,1]],
/* / */
[[-1,1],[1,-1]],
/* \ */
[[-1,-1],[1,1]],
];
JavaScript 对象
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:1
var person={firstname:"Bill", lastname:"Gates", id:5566};
上面例子中的对象 (person) 有三个属性:firstname、lastname 以及 id。
空格和折行无关紧要。声明可横跨多行:1
2
3
4
5var person={
firstname : "Bill",
lastname : "Gates",
id : 5566
};
1 | var Cache = { |
界面部分
利用 js 完成前端布局。
界面代码
1 | <!DOCTYPE html> |
算法部分
五子棋的复杂度为10^70
种类 | 复杂度 |
---|---|
黑白棋 | 58 |
五子棋 | 70 |
国际象棋 | 123 |
象棋 | 150 |
围棋 | 360 |
评估函数
对一个棋局需要你计算该棋局的收益值,如果对每一个点考虑,遍历所有空余的点,不考虑其他了,就只能考虑一步,有点目光短浅了。
这里需要用到博弈树搜索alpha-beta剪枝,之后ok。