摘 要
安卓系统是最近几年兴起的一种开源、易用、轻量的操作系统,主要用于移动便携设备,在全球智能手机操作系统市场已经占有了很大的份额。黑白棋是一种益智棋类游戏,通过相互翻转对方的棋子,最后以棋盘上的棋子数目判断胜负。在Android 系统上开发黑白棋既具趣味性又有挑战性。
论文设计并实现一个基于Andoid平台的黑白棋游戏。系统由三个模块组成:显示模块、控制模块、算法模块。显示模块包括各个页面的设计,棋盘的显示以及游戏状态的提醒。控制模块包括对于游戏数据的实时记录与更新以及对于各组件的触发与响应。算法模块包括应用规则对于玩家落子的判断以及计算电脑的最佳落子点。
这个系统的三大模块已全部实现,各页面都显示良好,各组件都响应正常,游戏能流畅运行,且棋力能完胜普通玩家以及大部分网络黑白棋。由于个人开发的创新需求,这个系统另外加入了特有的元素:摆棋模式和占角模式。摆棋模式下允许玩家任意落子,然后转换到正常模式下正常下棋。占角模式下给出一个残局,要求玩家在规定的步数内占领一个角。
【关键词】安卓 黑白棋 搜索算法 占角模式
Abstract
Android System is an open source,easy-to-use and lightweight operating system rising in recent years.It is mainly used for mobile and portable devices and has held a large share in the global smart phone operating system market. Othello is a puzzle board games.It determines outcome by finally numbers through mutual flipping each other's pieces. There are both interesting and challenging to develop Othello on the Android system.
This paper has designed and implemented an Othello on the Android system. This system consists of three modules: the display module, control module, algorithm module. The display module includes design of each activity, view of chessboard and reminding of each game status. The control module includes real-time record and updates for the game data, trigger and response of various components. Algorithm module including to judgment player’s click place and to calculate the best place to the computer with the rules.
This system has been achieving all functions, each activity has a good show, each view has a good response, games runs smoothly, and it’s thinking depth can win ordinary players and much of the network othello. Due to innovation demand of personal development, thers are some unique elements in this system, such as put mode and accounted angle mode. Put mode allows the player to put any chess at any place, then switch to normal mode and play normal game. Accounted angle mode will give a mess, requiring players to occupy a corner in the prescribed number of steps.
【Key words】Android Othello Search algorithm Accounted angle mode
目 录
摘 要 IV
Abstract V
目 录 VI
第1章 引言 1
1.1 课题研究背景 1
1.1.1 Android系统简介 1
1.1.2 黑白棋简介 1
1.2 课题研究目的与意义 2
第2章 安卓开发平台技术介绍 3
2.1 安卓开发环境的搭建 3
2.2 安卓工程文件的组织结构 4
2.3 布局采用的方式 4
2.4 布局采用的组件 6
第3章 系统分析与设计 7
3.1 系统功能分析 7
3.2 显示模块 7
3.2.1 五个页面 7
3.2.2 游戏状态提醒 9
3.2.3 菜单 10
3.3 控制模块 11
3.3.1 页面跳转 11
3.3.2 页面组件响应 11
3.3.3 对战玩家模式 13
3.3.4 对战电脑模式 14
3.3.5 摆棋模式 15
3.3.6 占角模式 16
3.4 搜索算法 17
3.4.1 占角模式搜索算法 17
3.4.2 大食策略搜索算法 19
3.4.3 凝聚性搜索算法 20
3.4.4 尾盘遍历搜索算法 22
第4章 系统实现与测试 24
4.1 系统流程图 24
4.2 界面 25
4.2.1 游戏图标 25
4.2.2 五个页面 25
4.2.3 游戏状态提醒 26
4.2.4 菜单 27
4.3 按钮功能测试 28
4.3.1 悔棋与前进 28
4.3.2 帮助玩家搜索最佳落子点 29
4.3.3 摆棋模式的摆棋 29
4.3.4 占角模式的重新开始 30
4.3.5 占角模式的答案提示 30
4.4 提升棋力所做的尝试 31
4.4.1 开局库和模板匹配算法的考虑 31
4.4.2 行动力和稳定子的考虑 31
4.4.3 多线程的尝试 32
4.4.4 剪枝算法的尝试 33
4.5 棋力测试 33
第5章 总结与展望 35
5.1 设计总结 35
5.1.1 设计优缺点 35
5.1.2 感想 35
5.2 展望 36
5.2.1 程序的发展空间 36
5.2.2 程序的未来 36
致 谢 37
参考文献 38
附录1 英文资料原文 39
Chapter 8 39
Even number theory 39
Hyper even number theory 45
Feeding the opponent 46
附录2 英文资料翻译 48
第8章 48
偶数理论 48
逆转奇偶理论 53
送吃 54