目 录
第一章:绪论 1
1.1智能手机与Android系统的发展历程 1
1.1.1 智能手机 1
1.1.2 Android系统基本情况介绍 2
1.2课题现状及应用前景 3
1.2.1 五子棋简介 3
1.2.2 课题现状及应用前景 3
第二章:开发环境的搭建 5
2.1 系统开发环境 5
2.2 系统开发环境的搭建 5
2.2.1 JDK的配置 5
2.2.2 Android开发插件的安装 6
2.2.3 AVD的创建 8
第三章:系统需求分析与概要设计 10
3.1 系统的需求分析 10
3.2 系统的概要设计 10
3.2.1 游戏界面布局 11
3.2.2 人机对战部分的核心算法的开发 12
3.2.3 三种对战模式的胜负判定 12
3.2.4 联机对战部分,机子建立连接和数据接收发送功能的实现。 13
第四章:系统详细设计 14
4.1 游戏界面布局的具体实现 14
4.1.1 棋盘和棋子的描述 15
4.2 人机对战部分的核心算法的开发 17
4.2.1 搜索算法 17
4.2.2 评值算法 19
4.2.3 算法核心类 20
4.3 联网对战模拟器建立连接和数据接收发送功能的实现 30
4.4 五子棋的胜负判定算法 31
第五章:系统运行演示效果 34
5.1 单人对战演示 34
5.2 双人对战演示 36
5.3 联网对战演示 36
第六章:结束语 39
致 谢 40
参考文献 41
附录A 五子棋术语解释 42
附录B 极大极小值算法 43
附录C 胜负判定算法代码 44
第三章:系统需求分析与概要设计
本次设计是基于Android系统的五子棋游戏,作为一款游戏暂且不管他的大小和好坏,拥有一个进行操作的界面是必须的,可以按照规则进行游戏也是必须的,当然一些丰富游戏功能方便用户的举措也是必须的,完成情况如何完全看设计者的功力了,本次论文自然无法和市场上的产品相比但是也有许多令人期待的东西的。
3.1 系统的需求分析

int MiniMax(position p,int d)
{
int bestvalue,value;
if(Gama Over)//检查棋盘是否结束
return evaluation(p);//棋盘结束,返回估值
if(deptu《=0)//是否叶子节点
return evaluation(p);//叶子节点,返回估值
if(p.color=white)//是否轮到白方走棋
bestvalue=-INFINITY;//是,令初始最大值为极小
else
bestvalue=INFINITY;//否,令初始极小值为最大
for(each possibly move m)//对每一可能的走法m
{MakeMove(m);//产生第i个局面(子节点)
Value =MiniMax(P,d-1);//递归调用MiniMax向下搜索子节点
UnMakeMove(m);//恢复当前局面
if(p.color=black)
bestvalue=max(value,bestvalue);取最大值
else
bestvalue=min(value,bestvalue);取最小值
}
Return bestvalue;//返回最大/最小值
}
//end of minimax algorithm
























