Android黑白棋游戏的设计与开发
基于Android操作系统的中国象棋手机游戏毕业论文

科技信息职业学院毕业论文题目:基于Android操作系统的中国象棋手机游戏学号: 090124012姓名:王麒专业班级:软件技术(游戏方向) 09-24 班指导教师:永伟完成日期: 2011-12-18摘要:Chess是运行在Android平台上的一款支持双人联网对局、即时聊天、对弈记录的休闲棋牌类手机游戏。
系统采用面向对象的编程思想进行构思与分析设计;使用UML构建软件模型;使用MVC架构模式实现系统的整体架构及各模块之间的接口设计;在系统的实践过程中还采用了部分GoF的设计模式进行编码与开发。
本文详细系统地阐述了在Android平台上,面向对象的软件开发思想对Chess 游戏系统的分析、设计及实现过程。
在项目的实践过程中,主要用到了以下技术:手机布局主要使用了XML设计,程序及其子模块的生命周期管理用到了Activity流程控制,数据储存方面使用的是轻量级数据库SQLite、网络通讯部分使用的是XMPP即时通讯协议进行数据的传输、对弈的画面更新使用的是手机的2D图形编程。
本论文的前半部分将简要介绍系统相关的行业信息及基础的技术知识,后半部分将对本人在系统各模块中所使用的关键技术的实现进行了全面的介绍。
关键词:联网对弈;中国象棋;手机游戏;Android平台ABSTRACT:CnChess is a Chinese Chess game that running on the Android platform.It support many of the features such as playing games through the network, real-time chat, and play chess records of casual mobile games.The CnChess game is object-oriented programming design and analysis of the idea of thinking; build software models using UML; use of MVC architecture patterns to achieve the overall system and the interface between the module designs; in practice the system also uses some of the GoF's design patterns to coding and development.This paper systematically expounded in the Android platform, the application of MVC pattern and hierarchical structure of object-oriented software development thoughtsChess game system analysis, design and implementation process. Practice in the course of the project, mainly used in the following technologies: cell phones primarily use XML layout design, process and life cycle management sub-module uses the Activity process control, data storage areas using a lightweight database SQLite, netwrok communication Some use the XMPP instant messaging protocol for data transmission, public debate of the frame using a mobile phone 2D graphics programming. The first part of this paper will briefly introduce the system based on relevant industry information and technical knowledge, the latter part of each module in thesystem; I will be in the key technology used in the realization of a comprehensive introduction.Keywords:Network of games; Chinese chess; Mobile Games; Android platform目录一、前言 (4)1.1绪论 (4)1.2相关研究综述 (4)Androi.d手机操作系统的发展历程 (4)1.3研究的目的与容 (5)1.3.1 研究目标 (5)1.3.2 研究主要容 (5)二、Android程序设计相关技术概论 (6)2.1 XUL界面布局 (6)2.2 Android的Activity组件 (6)2.3 SQLite数据库 (7)2.4 Android 2D图形编程 (7)三、游戏所需类的分析与实现 (6)3.1游戏的框架简介 (8)3.2各个类的简要介绍 (8)3.3游戏中象棋规则类的实现 (10)四、论文总结 (27)五、参考文献 (28)致 (29)一、前言1、绪论随着3G移动网络应用的推广,手机游戏的规模、复杂程度日益增强;其技术手段、设计思想、系统体系结构都发生了深刻的变化。
基于Android的五子棋游戏设计

基于Android的五子棋游戏设计五子棋是一种古老的策略棋类游戏,起源于中国,被公认为是一种“瞬间”的游戏,它融合了策略、智慧和运气,深受广大玩家的喜爱。
而今随着智能手机的普及和技术的发展,基于Android系统的五子棋游戏也成为了许多玩家的首选。
本文将就基于Android的五子棋游戏设计进行详细介绍。
一、游戏背景五子棋是一种两人对弈的棋类游戏,玩家分别执黑白两色的棋子,通过在棋盘上落子,竞相连成五子横、竖、斜线的方式来获胜。
该游戏简单易学,但又充满了策略性和趣味性,适合各个年龄段的玩家。
在Android系统上,五子棋游戏可以通过应用商店下载安装,随时随地进行游戏。
玩家可以选择与人对战或者与电脑对战,还可以设置难度等级,提升游戏的挑战性。
二、游戏功能1. 人机对战:玩家可以选择与电脑进行对弈,电脑会根据设定的难度级别展开智能对战。
玩家可以根据自己的水平选择对应的难度,享受与电脑的对战乐趣。
2. 双人对战:玩家之间可以进行实时对战,轮流下棋,感受与朋友较量的刺激。
3. 悔棋功能:玩家在对弈过程中可以悔棋,纠正错误或者重新进行思考。
4. 提示功能:游戏中可以开启提示功能,系统会给出最佳落子建议,助力玩家提高对局的水平。
5. 遗憾回顾:游戏结束后,可以回顾整个对局过程,欣赏一番自己与对手的较量。
三、游戏设计基于Android的五子棋游戏设计需要考虑到用户体验、界面交互、游戏智能度等方面。
1. 用户体验设计五子棋游戏需要简洁清晰的界面设计,使玩家可以快速上手。
游戏中的棋盘、棋子、提示信息等应该布局合理,颜色搭配清晰明了。
2. 界面交互设计游戏的交互设计也至关重要,包括落子操作、悔棋操作、界面切换等。
这些操作需要简洁明了,方便玩家进行控制,提高游戏的流畅度。
3. 游戏智能度设计在人机对战的模式下,游戏的智能度设计尤为重要。
电脑需要具有一定的智能水平,能够根据棋局状况作出合理的落子决策,给玩家带来一定的挑战性。
黑白棋的设计与实现

人工智能( 人工智能(Artificial Intelligence) ) 是借助计算机建造智能系统, 是借助计算机建造智能系统,完成诸 如模式识别、自然语言理解、 如模式识别、自然语言理解、程序自 动设计、定理自动证明、机器人、 动设计、定理自动证明、机器人、专 家系统等智能活动。 家系统等智能活动。它的最终目的是 构造智能机。 构造智能机。人工智能是一门正在经 历曲折道路、 历曲折道路、正在迅速发展中的并已 取得丰硕成果的学科, 取得丰硕成果的学科,也是人类遇到 的最复杂、最困难的学科之一。 的最复杂、最困难的学科之一。
具有悔棋功能,能判断每一步棋的对 具有悔棋功能 能判断每一步棋的对 具有不同难度的下棋技巧。 错;具有不同难度的下棋技巧。 具有不同难度的下棋技巧 Windows界面,可用鼠标操作,界 界面,可用鼠标操作, 界面 面友好。 面友好。 难度较高,能战胜一般的高手 使用 难度较高,能战胜一般的高手(使用 多种高级人工智能方法)。 多种高级人工智能方法 。
问题求解是人工智能中的核心问题。 问题求解是人工智能中的核心问题。 所谓问题求解是在给定条件下寻求一 个能解决某类问题且能在有限步骤内 完成的算法。 完成的算法。问题求解系统是人工智 能最早的尝试。例如下棋程序, 能最早的尝试。例如下棋程序,直到 今天,这种研究仍在进行。 今天,这种研究仍在进行。本题就是 针对人工智能初最为基础的利用博弈 树搜索原理进行此种问题求解系统的 实现。 实现。
黑白棋的设计与 实现
黑白棋:黑白棋也叫苹果棋、 黑白棋:黑白棋也叫苹果棋、翻 转棋,它使用8 的棋盘 的棋盘, 转棋,它使用 X8的棋盘,由两 人分别执黑子和白子轮流下棋, 人分别执黑子和白子轮流下棋, 最后子多方为胜。 最后子多方为胜。 下子方法: 下子方法:把棋子放在棋盘的空 格上,而当自己放下的棋子在横、 格上,而当自己放下的棋子在横、 竖、斜8个方向内有一个自己的 个方向内有一个自己的 旗子, 旗子,
Android智能手机游戏开发“五子棋游戏”_毕业设计论文(可编辑)

江西环境工程职业学院大专毕业生毕业设计(论文)题目:Android智能手机游戏开发“五子棋游戏”分院:通讯与信息学院专业:计算机信息管理毕业论文答辩时间:2012年6月13日随着3G网络的使用,Android系统已经成为全球应用具有广泛影响力的手机操作系统,受到广大消费者的欢迎。
手机3D游戏作为手机的基本功能之一,对于人们的意义,已不仅仅像简单的娱乐一般,而是承载着不可或缺的作用。
本论文主要阐述以面向对象的程序开发语言eclipse为开发工具, 基于智能手机Android之上设计一个五子棋游戏。
五子棋起源于中国古代的传统黑白棋种之一,它不仅能增强思维能力提高智力,而且富含哲理,有助于修身养性。
本系统是本系统中设定了人机对战和人人对战两种模式。
人机对战实现的是一些简单的算法,人人对战只是进行了输赢方的判定。
它与javame的五子棋设计有许多的不一样,Android本来就是全触摸的形式,而且操作非常简单通过对系统目标的调试和分析,论证提出了可行性方案,软件系统、硬件平台简单易得,开发成本低,容易实现,从经济角度来看,该系统可行。
运行调试后的结果证明该软件能够很好的运行在Android系统平台上,全部实现了所要求的功能,并且兼容性很好。
该软件的易用性较强,可操作性强,界面视觉效果良好,实现了软件设计与开发的目的。
关键词:机器人,生命周期,算法,线程摘要I目录II第1章绪论 11.1 背景 21.2 课题来源 31.3 国内外研究现状 31.4 论文主要工作 4第2章 Android的开发环境 52.1 操作系统 52.2 Android开发环境 52.3 Android开发环境变量配置 52.3.1 jdk的配置 52.3.2 sdk的配置72.4 eclipse设置72.5 Android开发环境配置最终步骤7第3章 Android应用程序核心 83.1应用程序基础83.2 应用程序组件 83.2.1 活动(Activities)93.2.2 服务(Services)113.2.3 广播接收者(Broadcast receivers)123.2.4 内容提供者(Content providers) 12第4章相关技术概念144.1坐标布局(AbsoluteLayout)144.2 Intent 154.3 AlertDialog 174.4 相关的算法研究:174.4.1相关的数据结构 174.4.2分析规则184.4.3胜负判断204.4.4算法实现描述20第5章实现运行情况,以及各个模块的截图23 5.1概要设计235.2 游戏界面245.2.1 游戏主界面 245.2.2新游戏界面255.2.3 帮助界面255.2.4 关于五子棋介绍界面265.2.5 五子棋的退出27总结28致谢29参考文献30第1章绪论智能手机 Smartphone ,具有独立的操作系统,像个人电脑一样支持用户自行安装软件、游戏等第三方服务商提供的程序,并通过此类程序不断对手机的功能进行扩充,同时可通过移动通讯网络来实现无线网络接入。
基于Android操作系统的中国象棋手机游戏

基于Android操作系统的中国象棋手机游戏石家庄科技信息职业学院毕业论文题目:基于Android操作系统的中国象棋手机游戏学号:090124012姓名:王麒专业班级:软件技术(游戏方向)09-24 班指导教师:刘永伟完成日期:2011-12-18摘要:Chess是运行在Android平台上的一款支持双人联网对局、即时聊天、对弈记录的休闲棋牌类手机游戏。
系统采用面向对象的编程思想进行构思与分析设计;使用UML构建软件模型;使用MVC架构模式实现系统的整体架构及各模块之间的接口设计;在系统的实践过程中还采用了部分GoF的设计模式进行编码与开发。
本文详细系统地阐述了在Android平台上,面向对象的软件开发思想对Chess游戏系统的分析、设计及实现过程。
在项目的实践过程中,主要用到了以下技术:手机布局主要使用了XML设计,程序及其子模块的生命周期管理用到了Activity流程控制,数据储存方面使用的是轻量级数据库SQLite、网络通讯部分使用的是XMPP即时通讯协议进行数据的传输、对弈的画面更新使用的是手机的2D 图形编程。
本论文的前半部分将简要介绍系统相关的行业信息及基础的技术知识,后半部分将对本人在系统各模块中所使用的关键技术的实现进行了全面的介绍。
关键词:联网对弈;中国象棋;手机游戏;Android平台ABSTRACT:CnChess is a Chinese Chess game that running on the Android platform.It support many of the features such as playing games through the network, real-time chat, and play chess records of casual mobile games.The CnChess game is object-oriented programming design and analysis of the idea of thinking; build software models using UML; use of MVC architecture patterns to achieve the overall system and the interface between the module designs; in practice the system also uses some of the GoF's design patterns to coding and development.This paper systematically expounded in the Android platform, the application of MVC pattern and hierarchical structure of object-oriented software development thoughts cnChess game system analysis, design and implementation process. Practice in the course of the project, mainly used in the following technologies: cell phones primarily use XML layout design, process and life cycle management sub-module uses the Activity process control, data storage areas using a lightweight database SQLite, netwrok communication Some use the XMPP instant messaging protocol for data transmission, public debate of the frame using a mobile phone 2D graphics programming. The first part of this paper will briefly introduce the system based on relevant industry information and technical knowledge, the latter part of each module in the system; I will be in the key technology used in the realization of a comprehensive introduction.Keywords: Network of games; Chinese chess; Mobile Games; Android platform目录一、前言 (4)1.1绪论 (4)1.2相关研究综述 (4)Androi.d手机操作系统的发展历程 (4)1.3研究的目的与内容 (5)1.3.1 研究目标 (5)1.3.2 研究主要内容 (5)二、Android程序设计相关技术概论 (6)2.1 XUL界面布局 (6)2.2 Android的Activity组件 (6)2.3 SQLite数据库 (7)2.4 Android 2D图形编程 (7)三、游戏所需类的分析与实现 (6)3.1游戏的框架简介 (8)3.2各个类的简要介绍 (8)3.3游戏中象棋规则类的实现 (10)四、论文总结 (27)五、参考文献 (28)致谢 (29)一、前言1、绪论随着3G移动网络应用的推广,手机游戏的规模、复杂程度日益增强;其技术手段、设计思想、系统体系结构都发生了深刻的变化。
黑白棋游戏设计与开发 毕业论文 (2)

黑白棋游戏设计与开发系院名称指导老师学生姓名学生学号专业、班级提交时间毕业论文任务书毕业论文开题报告黑白棋游戏设计摘要:本次毕业设计是基于c++语言,在vs2005平台上进行的单机版游戏开发,通过本次游戏的开发,有益于进一步掌握对c++语言的应用,加深对计算机游戏的制作理念的理解,对我今后参与更加复杂的游戏项目积累宝贵的经验!黑白棋(Reversi、Othello),也叫苹果棋,翻转棋,是一个经典的策略性游戏。
黑白棋是19世纪末英国人发明的。
直到上个世纪70年代一个日本人将其发展,借用莎士比亚名剧奥赛罗(Othello)为这个游戏重新命名,也就是现在大家玩的黑白棋。
为何借用莎士比亚名剧呢?是因为奥赛罗是莎士比亚一个名剧的男主角。
他是一个黑人,妻子是白人,因受小人挑拨,怀疑妻子不忠一直情海翻波,最终亲手把妻子杀死。
后来真相大白,奥赛罗懊悔不已,自杀而死。
黑白棋就是借用这个黑人白人斗争的故事而命名。
关键词:c++编程;windows编程;MFC技术论文目录第一章引言 (1)1.1 c++简介 (1)1.2 window编程介绍 (1)1.3 Visual studio开发平台简介 (1)第二章毕业业设计的目的及要求 (2)2.1毕业设计的目的 (2)2.2毕业设计的开发环境 (2)2.3毕业设计所需的知识 (2)2.4毕业设计要求 (2)第三章毕业设计的内容 (3)3.1程序功能介绍 (3)3.2程序整体设计说明 (4)3.3程序源代码及注释 (7)第四章结束语 (23)第一章引言1.1 c++语言介绍C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。
它是一种使用非常广泛的计算机编程语言。
C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。
它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。
设计文档-黑白棋

黑白棋游戏的开发与设计一、需求分析1.功能需求黑白棋游戏通常是黑白两个面,一方执白,一方执黑。
每次在棋盘上走一个棋子,无论横竖线或斜线均可,只要两个同样颜色的将另一个颜色的夹在中间了,就可以将这个颜色翻过来,例如两个白子包住一排黑子就可以把这些黑子变成白子,通过相互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负。
它的游戏规则简单,因此上手很容易,但是它的变化又非常复杂。
2.非功能需求(1)界面友好,图形界面,游戏开始前有游戏的简单使用说明,方便玩家使用;(2)具有较好的容错能力,玩家在游戏过程中,除了规定的按键外,其他按键均忽略,不予处理;(3)发布游戏时,将图形驱动加载到程序中,使系统具有良好的可扩展性和平台适应性,可在任何PC机上运行。
二、系统设计1.设计思路从已知的黑白棋游戏中可知,应该用二维数组表示程序的数据,数组两个下标可以表示棋盘上的位置,数组元素的值代表棋格中的状态,共有三种情况,分别是空格、黑棋和白棋,这样给数组元素的取值设定为0、1、2。
其中0代表空格,1代表白色棋子,2代表黑色棋子。
这样程序的主要工作是接收棋手按键操作,一旦接收到回车键,说明棋手摆子,先判定是不是有效位置,也就是能不能包围住对方棋子,如果能,便对棋子所在的位置往上下、左右、左上、左下、右上、右下8个方向寻找被包围住的所有棋子(必须是连续的,中间不能有空格),将这些被包围住的对方棋子都变成自己的棋子,然后对当前棋盘中的黑白棋个数进行统计并输出结果。
如果没有这样的位置可以落子,则停步,让对方走棋,重复上述步骤,直到游戏结束。
如果想提前终止游戏可以按Esc键。
2.结构设计棋盘状态用数组a[8][8]初值为0表示空格。
函数的实体比较简单,因为要输出图形,所以应初始化图形系统,图形工作方式正确确定后,画出棋盘,调用playtoplay()人人对弈函数开始游戏。
一旦游戏结束后,关闭图形系统,程序结束。
(1)main()主函数:按照语法规则,首先定义使用到的常数、全局变量、函数原型说明。
黑白棋游戏编程实现

黑白棋游戏编程实现黑白棋,又称翻转棋,是一种简单而又充满策略性的棋类游戏。
本文将介绍黑白棋游戏的编程实现,包括游戏规则、界面设计和算法逻辑等方面。
通过本文的指导,读者可以掌握如何使用编程语言来实现黑白棋游戏。
一、游戏规则黑白棋棋盘是一个8x8的方格棋盘,黑白双方各自拥有32个棋子,初始状态为在棋盘中央交叉的4个格子放置黑白两种颜色的棋子。
游戏双方轮流落子,黑方先手。
每一步棋,玩家需要将自己的棋子放置在棋盘上一个空白的格子内,并且使得该步落子引发对方棋子中间夹住的所有棋子颜色发生翻转,改变为己方的棋子颜色。
落子的位置必须满足以下条件:1. 该位置为空白格子;2. 该位置的棋子颜色与对手的棋子颜色之间有一条直线,并且这条直线上都是对方的棋子,直到直线尽头是己方的棋子。
如果一方无法进行合法的落子,即没有位置满足上述两个条件,就轮到对方继续行动。
当棋盘填满或者双方无法进行合法落子时,游戏结束。
游戏胜负计算方式是比较黑白双方棋子数量多少,棋子数量较多的一方获胜。
二、界面设计为了使黑白棋游戏更加可视化和直观,我们可以采用图形界面的设计来展示游戏界面。
在编程实现黑白棋游戏时,我们可以使用图形库或者游戏开发框架,来创建一个棋盘界面,并在每个格子上显示相应的棋子。
界面设计可以采用二维数组来表示棋盘,每个元素代表一个格子。
通过循环遍历二维数组,可以将每个格子绘制出来,并根据每个格子的状态显示相应的棋子图案。
三、算法逻辑编写黑白棋游戏的关键是实现合法落子和棋子翻转的算法逻辑。
可以使用以下步骤来处理每一步落子的逻辑:1. 找到所有可能的落子位置,即遍历整个棋盘,检查每个空白格子是否满足落子条件;2. 对于每个可能的落子位置,检查其周围的8个方向,是否存在一条直线上的对方棋子,直到遇到己方的棋子或者边界;3. 如果存在一条直线上的对方棋子,再检查直线尽头是否是己方的棋子;4. 如果上述条件满足,将对方的棋子依次翻转成己方的棋子;5. 更新棋盘状态,将新落子位置设为己方的棋子;6. 轮换落子权利,将轮流落子的一方交给对手。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计基于安卓系统的黑白棋游戏的设计与实现学院:专业:学号:学生姓名:指导教师:2016.4.18黑白棋游戏的设计与实现摘要随着技术的发展,手机越来越普遍,安卓智能平台越来越完善,成为手机的主流系统。
千元智能机的出世,智能机替代传统功能机的趋势将日益明显,安卓系统则占领了主导地位。
该文描述了在安卓模拟器下实现实现了黑白棋游戏的功能。
关键词安卓;安卓系统;游戏;黑白棋;安卓开发The design and implementation of the black and white chess game Abstract with the development of technology, mobile phones are becoming more and more common, Android intelligent platform is becoming more and more perfect, and become the mainstream of the mobile phone system. Thousands of intelligent machines was born, intelligent machines replace the traditional features of the trend will become increasingly apparent, Android system has occupied the dominant position. This paper describes the realization of the function of the black and white chess game in Android simulator.Keywords Android; Android system; game; black and white chess; Android development前言2007年11月,Google推出了一种由操作系统,中间件,用户友好应用软件组成的智能手机平台安卓。
安卓推出以来就广受关注,而且安卓还延续着LINUX的开放精神,开放了源代码,这就意味着所有的程序开发员都可以按照自己的喜好通过安卓开发平台来开发出自己的应用程序。
根据市场调研机构IDC公布的数据。
2015年全球智能手机出货量再创记录达14.3亿部,同比增长10.1%。
2015年Q4期间全球智能手机出货量达到了3.995亿,同比增长5.7%。
一.绪论1.1 开发背景Android(['ændrɔid])是一个以Linux为基础的半开源操作系统,主要用于移动设备,由Google和开放手持设备联盟开发与领导。
Android 系统最初由安迪·鲁宾(Andy Rubin)制作,最初主要支持手机。
2005年8月17日被Google收购。
2007年11月5日,Google 与84家硬件制造商、软件开发商及电信营运商组成开放手持设备联盟(Open Handset Alliance)来共同研发改良Android系统并生产搭载Android的智慧型手机,并逐渐拓展到平板电脑及其他领域上。
随后,Google以Apache免费开源许可证的授权方式,发布了Android的源代码。
[1]2013年5月16日,在I/O大会上,谷歌推出新的Android开发环境——Android Studio,并对开发者控制台进行了改进,增加了五个新的功能[6] 。
Android Studio是谷歌推出了新的Android开发环境,开发者可以在编写程序的同时看到自己的应用在不同尺寸屏幕中的样子。
谷歌对开发者控制台进行了改进,增加了五个新的功能,包括优化小贴士、应用翻译服务、推荐跟踪、营收曲线图、用版测试和阶段性展示。
1、优化小贴士:在主体中打开你的应用,点击小贴士,会得到这样的建议:为你的应用开发平板电脑版本。
2、应用翻译服务:允许开发者直接在开发主体中获得专业的翻译。
上传你的需求,选择翻译,其会显示翻译方和价格,并在一周内发回译本。
3、推荐跟踪:允许开发者找出最有效的广告4、营收曲线图:向开发者展示其应用营收,以国家进行划分5、试用版测试和阶段性展示:开发者可以对应用进行测试,然后向测试用户推出,测试结果不会对外公布。
当一个版本的测试结束,开发者可以向特定比例用户推出[7] 。
Android Studio这款开发工具被首次公布,这也是为了方便开发者基于Android开发。
首先解决的一个问题是多分辨率。
Android设备拥有大量不同尺寸的屏幕和分辨率,根据新的Studio,开发者可以很方便的调整在各个分辨率设备上的应用。
同时Studio还解决语言问题,多语言版本(但是没有中文版本)、支持翻译都让开发者更适应全球开发环境。
Studio还提供收入记录功能。
最大的改变在于Beta测试的功能。
Studio提供了Beta Testing,可以让开发者很方便试运行[5] 。
2015年5月29日,在谷歌I/O开发者大会上,谷歌发布AndroidStudio 1.3版,支持C++编辑和查错功能。
Android Studio 1.3版开发码代码变得更加容易,速度提升,而且支持C++编辑和查错功能[8] 。
1.2 软件特色黑白棋,游戏在8x8的棋盘上的中心位置开始,呈对角关系先放入不同颜色各两枚棋子,然后开始轮流下子,两子中间夹住的棋子都是自己的棋子,最后棋盘全部占满或者双方都不能吃子时游戏结束,棋子多的一方胜利。
这款app包含经典黑白棋双人对战模式,即棋盘是8X8共64格。
游戏内容包含:1、当前棋子数目显示,所用时间同步显示;2、落子位置正误判断;3、悔棋功能,但每个选手只能悔棋一次;4、音乐伴随功能,可选择开关;5、落子提示功能,不限次数;6、输赢判别,游戏有三种结果,平局,黑棋赢,白棋赢;7、可以随时开始新的游戏。
1.3 系统介绍安卓系统基于LINUX,可以兼容鼠标键盘,触摸输入等多种输入方式,全面应用与触屏只能移动设备之中。
ADT(Android Development Tools的简称),是Eclipse IDE下的一个安卓系统开发插件。
ADT拓展了Eclipse工具的特色,可以让开发者迅速建立安卓项目,创建界面,加上安卓API框架并使用虚拟机调试程序。
所以ADT是一个很好的开发工具。
安卓系统基于LINUX,可以兼容鼠标键盘,触摸输入等多种输入方式,全面应用与触屏只能移动设备之中。
1.4 操作系统概述[2]基于Android黑白棋游戏的设计与实现二.Android开发平台2.1Android平台具有以下优点:(1)平台的开放性允许任何厂商加入,使其拥有更多的开发者,新颖的应用功能及创意可以不断地实现。
(2)脱离了运营商的束缚,让手机更加贴近互联网。
(3)应用程序都是基于java开发的,java具有一次编写、到处运行的跨平台性。
能够实现在所有的Android设备中运行,真正做到了硬件的无关性,降低了开发者的负担。
(4)提供了标准的API和SDK开发包,手机厂商可以根据需要自行开发或者使用自己已有的程序,从而打造出富有特色的Android平台。
2.2Android体系结构Android平台构架从上至下包含五个部分:应用程序、应用框架、开发库、运行环境以及LINUX内核(1)应用程序Android同一系列核心应用程序包一起发布,该程序包包括email,SMS短消息程序、日历、联系人管理程序等。
所有的应用程序都是Java语言编写的。
(2)应用框架应用框架是进行Android开发的基础。
应用程序框架包含了视图系统、内容提供器、窗口管理器、活动管理器、通知管理器、资源管理器、电话管理器和保管管理器9部分。
(3)开发库Android包含一套C/C++开发库,被应用于Android 系统的各种组件中(4)运行环境Android虽采用Java程序语言来编写程序,但是不使用J2ME2.3无网络环境配置Android开发环境1.JDK安装配置1)安装Java的JDK至默认路径,需要大概300M的空间,安装完成后完成环境变量的配置。
2)配置系统环境变量,否则java编译器无法工作打开:我的电脑—控制面板—系统属性—高级—环境变量,对话框下半部分系统变量中,新增以下两个变量变量名:JAVA_HOME变量值:D:Program Files\java\jdk1.70_04变量名:CLASSPATH变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar修改一下变量:变量名:将“%JAVA_HOME%\bin;”添加在原变量之前。
配置完以后在ms-dos 窗口执行命令java-version,看到如下结果说明java环境配置正确。
[4]2.3功能介绍①主界面显示功能模块显示应用的主界面图,包含图标,复选框和按钮,让用户在进入游戏前浏览;②游戏实现功能模块包含8X8的64格,游戏的棋子就放置在每个小格子内;每当用户点击方格时,如果满足落子条件,屏幕上将会显示此时落子方的棋子一枚,并将满足条件的敌方棋子变为己方棋子显示;③声音开关功能模块可以通过点按复选框来开启或关闭游戏音乐;④当前游戏状态功能模块显示当前落子方的棋子颜色,还有黑色棋子的数目,白色棋子的数目和实时的所用时间;⑤悔棋功能模块即撤销上一步落子的行为,但每个选手只能有一次撤销机会;⑥提示功能模块如果选手不知道下一步落子于何处,可以使用提示功能,该功能可以分析当前的棋局,预测下一步落子的所有可行位置,并且使用半透明棋子标记;⑦开始新游戏功能模块,即重新开始新的一局游戏;三、页面实现3.1 OnCreate程序运行初始化安卓的界面定义使用的是xml文档进行定义。
主页面关联xml布局定义的界面是调用setContentView()函数实现的。
setContentView()的位置应该在该界面onCreate函数之中,初始化整个界面。
调用R文件中的分配地址可以将主界面配置成为预想的界面配置。
R文件类只要是为资源文件分配地址和固定标识,这个过程是编译器自动完成的。
引用目录下layout目录下的主页面布局xml。
这是所有界面通用的方法。
[3]3.2 游戏界面①应用开始界面②游戏运行界面代码如下private void initChessBoard(){for(int y=0; y<10; y++){for(int x=0; x<10; x++){if(x==0||x==9||y==0||y==9){cardsMap[x][y] = new Card(getContext());cardsMap[x][y].setNum(3);}}}setOnTouchListener(new View.OnTouchListener() {int x;int y;@Overridepublic boolean onTouch(View v, MotionEvent event) {if (event.getAction() == MotionEvent.ACTION_DOWN) {x = (int) event.getX();y = (int) event.getY();int length = Math.min(getWidth(), getHeight()) / 8;int row = (int) Math.floor(y / length) + 1;int colu = (int) Math.floor(x / length) + 1;if (row < 9 && colu < 9) {int[] temp = isValid(colu, row, current_color);if (temp != null) {getSituation();blackCount = 0;whiteCount = 0;Game.getGame().setRetractCount(0);Game.getGame().setNotfirstStep(true);for (int y = 1; y <= 8; y++) {for (int x = 1; x <= 8; x++) {//对棋盘进行刷新cardsMap[x][y].setNum(temp[10 * y + x]);switch (temp[10 * y + x]) {case 1:blackCount++;break;case 2:whiteCount++;break;default:break;}}}emptyCount = 64 - blackCount - whiteCount; Game.getGame().setTvBlackCount(blackCount);Game.getGame().setTvWhiteCount(whiteCount);load();current_color = 3 - current_color;Game.getGame().setIvCurrentTurn(current_color);hint();if (pass(current_color)) {AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); builder.setMessage("无效位置!" + "\n" + "请将棋子放置在有效位置!");builder.setView(Game.getGame().getLlDialog(5));builder.setPositiveButton("好的",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {passTimes++;current_color = 3 - current_color;hint();Game.getGame().setIvCurrentTurn(current_color);dialog.dismiss();}});} else {passTimes = 0;}if (emptyCount == 0 || passTimes > 1) {int winer;if (blackCount > whiteCount) {winer = 1;} else if (blackCount < whiteCount) {winer = 2;} else {winer = 0;}AlertDialog.Builder builder = new AlertDialog.Builder(getContext());builder.setMessage("游戏结束! " + "\n" + "你想要开始新的游戏吗?");builder.setView(Game.getGame().getLlDialog(winer));builder.setPositiveButton("是的", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {startNewGame();dialog.dismiss();}});builder.setNegativeButton("不想", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});builder.create().show();}} else {Toast.makeText(getContext(), "位置无效!", Toast.LENGTH_SHORT).show();}}}return true;}});}四.总结与展望本文开发的黑白棋游戏主要的特色在于简便易操作,其优点如下:1、直观而简单,更有助于开发儿童智力。