文档库 最新最全的文档下载
当前位置:文档库 › 基于Android的中国象棋毕业设计

基于Android的中国象棋毕业设计

基于Android的中国象棋毕业设计
基于Android的中国象棋毕业设计

基于Android的中国象棋

毕业设计

目录

1 绪论 (1)

1.1 中国象棋的背景介绍 (1)

1.1.1 中国象棋的历史起源 (1)

1.1.2 中国象棋的发展现状与前景 (1)

1.2 Android操作系统简介 (2)

1.2.1 Android操作系统背景 (2)

1.2.2 Android系统的优势与弊端 (3)

1.2.3 Android操作系统的现状与发展前景 (4)

2 Android系统的架构与开发环境 (6)

2.1 Android的体系结构 (6)

2.2 Android的四大组件 (8)

2.3 Android开发环境的搭建 (9)

2.3.1 Java JDK的安装 (9)

2.3.2 eclipse的下载与使用 (9)

2.3.3 Android开发工具的安装 (9)

2.3.4 Android工程的建立 (10)

3 中国象棋的走法规则与实现分析 (13)

3.1 中国象棋的走法规则 (13)

3.1.1 棋盘和棋子介绍 (13)

3.1.2 中国象棋的规则和胜负的判定 (14)

3.2 中国象棋的走法分析 (15)

4 中国象棋软件的主要功能和界面布局 (19)

4.1 中国象棋软件实现的主要功能 (19)

4.2 软件的主要布局与实现 (20)

4.2.1 开始游戏选项界面 (20)

4.2.2 中国象棋选项界面 (22)

5 中国象棋的算法设计与实现 (24)

5.1 工程的建立 (24)

5.2 工程模块的介绍 (25)

5.2.1 各个类主要实现的功能 (25)

5.2.2 工程中其他模块的介绍 (26)

5.3 中国象棋的逻辑算法和实现 (26)

5.3.1 棋盘和棋子的算法分析 (26)

5.3.3 棋盘和棋子的绘制 (28)

5.3.4 棋子的算法实现 (30)

6 问题与软件的改进 (32)

6.1 遇到的问题与解决方法 (32)

6.2 软件所需的改进 (33)

结束语 (34)

参考文献 (35)

致谢 (36)

附录 (38)

1 绪论

1.1 中国象棋的背景介绍

1.1.1 中国象棋的历史起源

象棋应该说是源自汉朝,比魏晋时期的围棋要早上三四百年。自从刘邦斩白蛇起义,跟项羽约定先占咸阳者为王。由于项羽牵制了秦军主力,刘邦很快便打进了咸阳,擒获秦二世子婴,却始终畏惧楚霸王之威,不敢称王,驻兵于霸桥等待项羽。这时项羽军因对境遇不满投来一名帐前的执戟郎,名叫韩信,来到刘邦部下却依然不受重用,一怒之下月夜出走,于是演出了一幕“萧何月下追韩信”,自此韩信拜将,刘邦开始与项羽分庭抗礼,封为汉中王,划地而治。

后来刘邦采用韩信明修栈道,暗渡陈仓之计,击败守卫汉中要路的三秦降将章邯等,开始了与项羽争夺天下的序曲。刘邦部向西于项羽军交兵,屡战屡败,韩信部却移师向东采用置之死地而后生的战法击溃齐王陈余,并自称“代齐王”。刘邦为解东部之危,封韩信齐王,请求速援。韩信先用骄兵之计引项羽深入,在陔下布防以十面埋伏一举击溃项羽主力,并一路追击,迫使项羽自刎乌江。刘邦恐其功高震主,平定天下后削其兵权,仅封其为淮阴候,许诺即使韩信犯错也可以“见天不杀,见地不杀,见铁器不杀”。

后来刘邦终究对韩信畏惧,召入宫中,诬以重罪,限于三不杀之令,打入天牢,在做牢期间,韩信闲来无事想把自己的兵法传于后世,自创一种游戏,称为“玩棋”,教与牢卒,说练熟后可以明攻战之法,成一代名家。后来由吕后出毒计,把韩信关在一个小黑屋里,用绳子将他吊在空中,拿竹签扎死,不违三不杀之说,但“玩棋”却渐渐流传到世上,后来又被改成为象棋。

按韩信的说法,能研究透象棋的人,就可以深通韬略,成一代兵师,在民间象棋也远比围棋开展的更为普及,深受群众喜爱。

经过近百年的实践,象棋于北宋末定型成近代模式:32枚棋子,有河界的棋盘,将和帅在九宫之中等等,至此之后,中国象棋在民间广为流传,堪称我国的国粹与精华。

1.1.2 中国象棋的发展现状与前景

现代社会是一个科技与信息的时代,随着社会的发展,传统的中国象棋慢慢的被抛弃,现在已处在一个边缘化状态,以前老人或者孩子在大街小巷“将”、“吃”的声音已经基本看不到了。那么,作为中国的国粹,为什么如今会走下坡路呢?归根究底,我觉得最主要的有如下两个方面的原因:

(1)国家不够重视。近现代,国家已经慢慢淡化了对中国传统文化的发展与培养的意识,特别是当代,无论是在校园里还是在社会上,对中国象棋的课程学习安排越来越少,诸如国家象棋队这样的,很多地方基本上都没有,这直接导致了人们对与中国象棋的淡忘和对兴趣的培养。本来对于传统文化来说,做为国人,应该每个人都要了解知道,特别是这种国粹的东西,更应该人人都会,但可悲的是,现在还有很多人都不会中国象棋,特别是现在的年轻人,有些根本就从来都没有接触过。至此以往,一代又一代的传承,中国的传统文化最终会走向灭亡,这是非常可怕的。

(2)现代化的人们都很忙,已无闲暇时间互相切磋。这主要其实也是由于社会的现状所引起的,为了能够买车、买房、娶媳妇,人们每天不得不早出晚归,甚至忙到深夜,整天都有赚不完的钱,好像他们已经忘记了人活着除了赚钱之外还可以享受生活。所以人们已经没有时间来放松,特别是对于中国象棋这种伤筋又费神的事,更不会把宝贵的时间“浪费”在这种事情上。好不容易有时间吧,人们更愿意花这些时间来上网、玩手机、旅游,亦或是睡觉。所以,随着社会的发展,对于中国的传统文化,人们已经无暇了解。

那么,展望未来,中国象棋,中国的国粹会将怎样发展呢?会不会真的就一直走向灭亡呢?我觉得一定不会。

刚刚我已近提到过,现代人们在闲暇之余都喜欢花大量的时间在上网和玩手机上,那么我觉得这也是像诸如中国象棋这类游戏得以发展和继承的一个机会,特别是近几年,手机和平板等移动终端突飞猛进的发展,使得软件开发这一个行业也迅速得到崛起。进两年,Android操作平台每年都可以诞生出几十万款手机软件,目前的Android手机软件数量更是接近百万款,基本上涉及到了人们生活的方方面面,这其中就包含了很多关于中国传统文化的软件,单中国象棋这一个游戏软件的数量就已经有上百款。所以,人们已经习惯了用手机或者平板打游戏来消磨时间,中国象棋这个软件也越来越受到大众的欢迎和青睐,这对于中国传统文化的传承和发扬是一个幸事,也是一个好事。所以,展望未来,中国象棋的发展其实也就是软件行业的发展以及移动平台的普及,特别是Android操作系统,现在已经迅速崛起成为了智能终端的一大霸主,这对于学好软件开发,学好Android操作系统设计显得非常有意义,同时这也是本次研究的宏观意义所在。

1.2 Android操作系统简介

1.2.1 Android操作系统背景

Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l"Isle-Adam)在1886年发表的科幻小说《未来夏娃》(L"ève future)中。他将外表像人的机器

起名为Android,于是就有了这个可爱的小机器人[1]。

2005年8月17日,谷歌公司收购了Android科技公司,Android科技公司成为谷歌公司旗下的一部分,包括米奇?米纳尔、克里斯?怀特等所拥有的全资子公司,所有Android科技公司的员工都被并入谷歌公司。当时,没有人知道谷歌公司为什么作出这项收购,有许多的猜测,后来证明谷歌正是借助此次收购正式进入移动领域。之后,到了2007年11月5日,在谷歌公司的领导下,开放手持设备联盟建立,最开始的一批创始成员包括Broadcom公司、HTC、Intel、LG、Marvell等公司。开放手持设备联盟的建立目的是为了创建一个更加开放自由的移动手机环境。而在开放手持设备联盟创建的同一天,联盟对外展示了他们的第一个产品,一台搭载了以Linux 2.6为内核基础的Android操作系统的智能手机。2008年12月9日,新一批成员加入开放手持设备联盟,包括ARM、华为、索尼爱立信等公司。2010年末数据显示,仅正式推出两年的操作系统的Android 已经超越称霸十年的诺基亚Symbian系统,跃居全球最受欢迎的智能手机平台。

Android的Logo是由Ascender公司设计的。其中的文字使用了Ascender公司专门制作的称之为“Droid ”的字体。Android是一个全身绿色的机器人,绿色也是Android的标志。颜色采用了PMS 376C和RGB中十六进制的#A4C639来绘制,这是Android操作系统的品牌象徵。

1.2.2 Android系统的优势与弊端

作为一个在短时间内迅速崛起的产业系统,他必定存在着与其他系统所不同的特点和比较人性化的优势[2],其主要表现在:

(1)开放性

在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。

(2)挣脱运营商的束缚

在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从iPhone、Android 上市之后,用户可以更加方便地连接网络,运营商的制约减少。随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈。

(3)丰富的硬件选择

这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。好比你从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移。

(4)不受任何限制的开发商

Android平台提供给第三方开发商一个十分宽泛、自由的环境。因此不会受到各种条条框框的阻挠,可想而知,会有多少新颖别致的软件会诞生。但也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制正是留给Android难题之一。

(5)无缝结合的Google应用

如今叱咤互联网的Google已经走过10年度历史。从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。

其实,任何一个东西都有其好的一面,也肯定存在一些缺点。我觉得,Android 系统最大的缺点就是太乱了,这其实也与系统本身的开源性有关,这直接导致的后果就是存在很大的安全性问题,用户的隐私很容易就被泄露了。在很多的应用软件市场里面,APP都没有经过严格的审核就放到了上面,这就存在着很多垃圾软件,亦或是存在着很多危险软件。另一方面,google对于系统的升级太快,很多厂商都跟不上google的步伐,当一个系统正在开始普及而还没有广泛普及的时候,新的系统又已经发布了,很多移动终端不能够迅速的得到升级,这就导致了用户对于系统的体验。

1.2.3 Android操作系统的现状与发展前景

据美国调查公司IDC于当地时间2013年2月14日公布的全球智能手机市场调查结果显示,2012年第四季度(10~12月),配备谷歌移动操作系统(OS)Android的终端和配备苹果“iOS”的终端(iPhone)的总出货量占了全球市场91.1%的份额。这两大平台手机的总出货量为2.076亿部,比上年同期的1.22亿部增加了70.2%;2012年全年的出货量为7.224亿部,市场份额由去年的68.1%扩大至87.6%。而IDC 所带来的2013 年第1 季平板电脑市占率调查显示,Android 平板电脑几乎翻转了去年的数据,冲上56.5% 的市场占有率王座。IDC表示,“最近两年中,Android和iOS的总份额约超过了50%。两强体制日益巩固”。

单独来看,2012年第四季度Android产品的出货量为同比增加88%的1.598亿部,份额为70.1%;而iOS产品的出货量为同比增加29.2%的4780万部,份额为21.0%。全年出货量方面,Android产品为4.971亿部,iOS产品为1.359亿

部。

推动Android终端出货量增加的是三星电子。在2012年全年Android终端的出货量中,三星终端的比例为42%。IDC的调查显示,在Android终端供货量中拥有两位数份额的厂商只有三星,大部分厂商的份额还不到1%。另一方面,随着价格、尺寸和设计各异的多种终端面世,消费者的选择范围扩大。IDC分析,这正是推动Android终端爆发性增长的原因。

iOS终端的出货量在单季度和全年均实现了两位数增长,人气依然旺盛,不过与其他OS相比,增长速度则显得比较慢。IDC称其原因在于,2012年第二季度的供货量比上季度减少,第三季度也没有大幅增加。IDC预测,苹果为维持增长,可能会在2013年中期投放iPhone新机型。

其他OS方面,排在第三位的黑莓(BlackBerry)在2012年第四季度的出货量为740万部,份额为3.2%。微软的Windows Phone和Windows Mobile第四季度的出货量为600万部,份额为2.6%。黑莓和微软分别于2013年1月,和2012年第四季度发布了新OS。IDC项目经理Ryan Reith预测称,“今后数年可能会诞生一些具有影响力的新势力”,“这些新OS或许会陷入激烈的市场竞争,但平台的多样化对于消费者和通信运营商来说都是必需的”。

也就是说,Android操作系统一直以来都是呈现出增长的趋势,现在也已经超越了iphone,成为了智能移动终端的霸主。现在,很多厂商经常性的发布一些非常具有性价比和配置相当高端、很具有吸引力的智能手机,这就比较大众化,对于Android操作系统的发展很有优势,在最近的Android 4.3和Android5.0发布之后,我想Android肯定会做出很大的系统优化和增加很多特色实用功能,这对于Android发展而言又是锦上添花。

但Android就会一直保持霸主的地位,一直增长下去吗?我认为不一定。因为受到Android的冲击,与Android分庭抗礼的另一大操作系统IOS也准备改变战略,他们也准备在以后一段时间推出他们的新操作系统,最主要的是,IOS还准备发布廉价版和不同尺寸大小的iphone,这可能对于Android是一个很大的冲击。

不尽如此,windows phone操作系统作为后起之秀也正在追赶上来,并且势头也越来越大,更多的人们慢慢的开始接受了他。还有,很多新兴的操作系统,比如说火狐操作系统,三星刚刚发布的Tizen操作系统等等,他们可能目前不太可能对Android构成威胁,但至少也会受到一些影响。况且,科技的发展日新月异,难说几年之后,一个更好的操作系统诞生也说不定。所以说,物竞天择,不进则退,霸主的地位总是让能者居之,Android只有在以后做得更好,才能长久立于不败之地。

2 Android系统的架构与开发环境

2.1 Android的体系结构

Android的系统架构和其操作系统一样,采用了分层的架构[3]。从架构图看(如图2.1),Android结构分为四个层,从高层到低层分别是应用层(Application Level),应用框架层(Application Frameworks),系统运行库层(Libraries and Android Runtime Level)和Linux内核层(Linux Kernel Level)。下面就对每一层做介绍:

图2.1 Android系统框架

(1)应用层(Application Level):

应用层是和用户交互的一个层次,用户可以看得见的一些应用,用户可以操作,如众多应用开发者开发的应用(第三方应用),Google在开发Android时,在应用层绑定的一些核心应用,比如Email客户端、SMS短消息程序、日历、地图、桌面(Home)、浏览器(Browers)、联系人(Contacts)、电话(Phone)、通话记录等。这类应用基本都是通过Java语言编写的独立的能够完成某些功能的应用程序。开发人员可以使用应用框架提供的API编写自己的应用程序,普通开发人员要做的事情就是开应用层的程序提供该广大消费者使用。

(2)应用框架层(Application Frameworks):

这是Android系统中最核心的部分,它集中体现了Android系统的设计思想。

应用框架层所提供的组件很多,包括活动管理器(Avtivity Manager)、窗口管理器(Window Manager)、内容提供器(Content Providers)、视图系统(View System)、包管理器(Package Manager)等等。对于开发者而言,框架层最直观的体现就是SDK,它通过一系列的Java功能模块,来实现应用所需要的功能。普通开发者可以使用Android基本应用程序使用的系统API,Android应用框架中的各个模块都可以被复用,各种服务也可以被复用,理解了这个机制,开发人员可以更好的更轻松的开发出优秀的Android应用。开发过程中常用到的基本框架组件如下:

活动管理(Activity Manager),Activity管理着应用程序的生命周期,并且控制着应用的导航,扮演控制器的角色。每个Activity类似于Windows应用中的一个wendow。一般的应用都是通过一个个Activity交互构成的。

窗口管理(Window Manager),管理所有启动的窗口。

内容提供者(Content Providers),听起来有点抽象,通俗的理解Content Provider 就是提供一种服务,通过这种服务应用程序之间可以实现数据的互相访问和共享,比如通讯录的存储就使用了这种服务,其它应用也可以访问通讯录中存储的联系人信息。

视图系统(View System),这些View组件包括Button(按钮),EidtView(文本框),TextView(标签),List(列表)等等,灵活运用这些组件可以快速方便的创建良好的用户交互界面。

包管理(Package Manager),管理所有的安装在Android系统内的应用程序。

除此之外,还有很多服务框架组件,如资源管理(Resource Manager)、消息通知管理(Notification Manager)、位置管理(Location Manager)、电话管理(Telephoney Manager)等等。

(3)系统运行库层(Libraries and Android Runtime Level):

该层,是一些C/C++库,来提供底层的支持。主要包括Bionic系统C库(C 语言标准库,系统最底层的库)、多媒体库(MediaFramework)、SGL(2D图形引擎库)、SSL(位于TCP/IP协议与各种应用层协议之间,提供数据通信支持)、OpenGL ES 1.0(3D效果支持)、SQLite(关系数据库)、Webkit(Web浏览器引擎)、FreeType(位图bitmap及矢量图vector)。

和所有的Java程序运行平台一样,为了实现Java程序在运行阶段的二次编译,Android为它们提供了运行时的支撑。Android运行时由Java核心类库和虚拟机Dalvik共同构成。JA V A核心类库涵盖了Android框架层和应用层所要用到的基础Java库,包括Android对象库,文件管理库,网络通信库等。Dalvik是为Android量身打造的Java虚拟机,负责动态解析执行应用,分配空间,管理对象生命周期等工作。

(4)Linux内核层(Linux Kernel Level):

Android的Linux内核层是基于LInux Kernel 2.6版本。Linux内核层,主要是作为硬件和软件栈之间的抽象层。在软件栈视角看,Linux内核就是“硬件”。内核层提供如下一些驱动:显示驱动(Display Driver)、键盘驱动(Keyboard Driver)、Flash内存驱动(Flash Memory Driver)、照相机驱动(Camera Driver)、音频驱动(Audio Driver)、蓝牙驱动(Bluetooth Driver,基于IEEE 802.15.1)、WiFi驱动、Binder IPC驱动(Android的一个特殊驱动程序,具有单独的设备节点,提供进程间通信)、Power Management(电源管理)。

2.2 Android的四大组件

Android四大基本组件分别是Activity,Service服务,Content Provider(内容提供者),BroadcastReceiver(广播接收器)[4]。

(1)Activity(活动)。Android 中,Activity是所有程序的根本,是应用程序的显示层,所有程序的流程都运行在Activity 之中,Activity可以算是开发者遇到的最频繁,也是Android 当中最基本的模块之一。一般一个Android 应用是由多个Activity 组成的。这多个Activity 之间可以进行相互跳转。每一个画面对应于你的应用程序,将会是Activity类的扩展。Activity使用Views去构建UI来显示信息和响应用户的行为。

(2)Services(服务)。Service 是Android 系统中的一种组件,它跟Activity 的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service 是没有界面的长生命周期的代码。Service是一种程序,它可以运行很长时间,但是它却没有用户界面。

(3)Content Provider(内容提供者)。Content Provider 是Android提供的第三方应用数据的访问方案,提供共享的数据存储。在Android中,对数据的保护是很严密的,除了放在SD卡中的数据,一个应用所持有的数据库、文件等内容,都是不允许其他直接访问的。Content Provider用来管理和共享应用程序的数据库。在应用程序间,Content Provider是共享数据的首选方式。这意味着,你可以配置自己的Content Provider去存取其他的应用程序或者通过其他应用程序暴露的Content Provider去存取它们的数据。

(4)BroadcastReceiver(广播接收器)。在Android 中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver 是对发送出来的Broadcast进行过滤接受并响应的一类组件。可以使用BroadcastReceiver 来让应用对一个外部的事件做出响应。

2.3 Android开发环境的搭建

2.3.1 Java JDK的安装

在开发之前,需要对开发环境进行搭建和配置。其中JDK的的安装为:

(1)下载最新版本的JDK,下载地址为:

https://www.wendangku.net/doc/4716624060.html,/technetwork/java/javase/downloads/index.html

可根据自己的系统需求选择相应下载[1]。

(2)下载完后点击安装,最好安装在英文目录下面。

(3)JDK安装完成后,若是在命令窗口下运行和编译JA V A程序的话,则还需要对环境变量做一些设置,但我用eclipse作为JA V A开发环境,所以不需要设置环境变量。

至此,Java JDK安装完毕。

2.3.2 eclipse的下载与使用

eclipse的使用方法为:

(1)下载最新版本的eclipse,下载地址为:

https://www.wendangku.net/doc/4716624060.html,/downloads/

进入下载页面后,选择“Eclipse IDE for java EE Developers ”进行下载[5]。

(2)eclipse是不需要安装的,下载完成之后解压缩,然后点击eclipse.exe 可以直接运行,在第一次运行时需要设置一个工作空间。

2.3.3 Android开发工具的安装

JA V A运行环境安装好之后,需要安装Android的相关开发插件,其方法为:(1)Android SDK的下载与设置

根据自己的开发需要下载相应的SDK版本,下载地址为:

https://www.wendangku.net/doc/4716624060.html,/android-sdk/3693/releases.html

(2)下载完成后解压缩,打开eclipse,然后再eclipse的标题栏上依次选择:【Window】→【Preference】→【Android】,点击Browse,选择刚刚下载的Android SDK路径,然后再点击OK即可[6]。如图2.2所示:

图2.2 添加Android SDK

(3)完成第(2)步之后再在eclipse标题栏上依次选择:【Window】→【Android SDK Manager】,在弹出的窗口中选择需要开发的Android开发包,可以选择全选,如图2.3所示,以后如果需要更新Android开发包都可以到这里来更新。

图2.3 Android SDK的管理和更新

这样Android的开发工具的安装就全部完成了,即现在所有的准备工作就已经做好了,现在只需在eclipse里面新建工程,然后在里面开发就行了。

2.3.4 Android工程的建立

前面已经做好了所有的准备,那么怎样在eclipse下面新建一个Android工

程,以及怎样让新建的这个工程在Android虚拟机上运行起来呢?下面详细介绍具体步骤[5]。

(1)新建一个Android工程。在eclipse标题栏上面依次选择【File】→【New】→【Android Application Project】(也可以直接点击工具栏上的快捷键),然后在弹出的窗口中填好程序名、工程名和包名,并选择自己需要开发的Android API 版本,我选择的是Android2.3.3开发版本,如图2.4所示。写好之后可以点击“Next”按钮进行其他的配置,也可以直接点击“Finish”按钮以完成工程的建立。

图2.4 Android工程的建立

(2)Android工程建好之后,就需要建立一个Android的虚拟设备来运行这个工程,建立Android虚拟设备的方法步骤为:选择【Window】→【Android Virtual Device Manager】,弹出的窗口如图2.5:

图2.5 Android虚拟设备的管理

选择右边的New按钮,在弹出的窗口中设置Android虚拟设备的配置以及

选择所需要运行的Android系统的版本,如图2.6所示,点OK即可。

图2.6 Android虚拟设备的创建

(3)虚拟设备建立好之后,就可以运行刚刚建立的Android工程了。在工程上右键,然后选择【Run As】→【Android Application】,程序无错之后eclipse 就会启动刚刚创建的Android虚拟设备,这和我们使用的智能手机是一样的,首选会是漫长的开机,开机解锁之后就可以看到刚刚的程序在运行。

一般而言,一个应用程序开发好之后,都需要把他弄到移动设备上进行安装测试,那么应用程序怎样把他弄到手机上呢?方法其实很简单,只需要打开自己手机的开发人员调试功能,然后将其用USB连接到电脑上,这是你在用刚才同样的方法运行程序时,在运行之前就可以选择你自己的移动设备进行运行。还有一种方法就是,将运行的程序右键,然后选择【Android Tools】→【Export Unsigned Application Package】,将其APK文件导出到电脑或者手机上,然后再在手机上进行安装测试。

3 中国象棋的走法规则与实现分析

3.1 中国象棋的走法规则

3.1.1 棋盘和棋子介绍

中国象棋是由棋盘和棋子组成的,下面就详细的介绍这两部分。

(1)棋盘

棋子活动的场所,叫做"棋盘",在长方形的平面上,绘有九条平行的竖线和十条平行的横线相交组成,共九十个交叉点,棋子就摆在这些交叉点上。中间第五、第六两横线之间未画竖线的空白地带,称为"河界",整个棋盘就以"河界"分为相等的两部分;两方将帅坐镇、画"米"字方格的地方,叫做"九宫"。如图3.1所示。

图3.1 中国象棋的棋盘和棋子

(2)棋子

中国象棋的棋子共三十二个,分为红方和黑方两组,各十六个,由对弈双方各执一组,兵种是一样的,分为七种:

红方:帅、仕、相、車、馬、砲、兵

黑方:将、士、象、車、馬、炮、卒

其中帅与将、仕与士、相与象、兵与卒的作用完全相同,仅仅是为了区分红棋和黑棋。

3.1.2 中国象棋的规则和胜负的判定

俗话说,无矩不成方圆,作为一个这么成熟的游戏也肯定会有他的规则和判定方法。中国象棋的规则和判定方法为:

(1)对局时,由执红棋的一方先走,双方轮流各走一着,直至分出胜、负、和,对局即终了。

轮到走棋的一方,将某个棋子从一个交叉点走到另一个交叉点,或者吃掉对方的棋子而占领其交叉点,都算走了一着。双方各走一着,称为一个回合。

(2)中国象棋各棋子走法

帅(将):帅和将是棋中的首脑,是双方竭力争夺的目标。它只能在"九宫"之内活动,可上可下,可左可右,每次走动只能按竖线或横线走动一格。帅与将不能在同一直线上直接对面,否则走方判负。

仕(士):仕(士)是帅(将)的贴身保镖,它也只能在九宫内走动。它的行棋路径只能是九宫内的斜线。

相(象):相(象)的主要作用是防守,保护自己的帅(将)。它的走法是每次循对角线走两格,俗称"象走田"。相(象)的活动范围限于"河界"以内的本方阵地,不能过河,且如果它走的"田"字中央有一个棋子,就不能走,俗称"塞象眼"。

车:车在象棋中威力最大,无论横线、竖线均可行走,只要无子阻拦,步数不受限制。因此,一车可以控制十七个点,故有"一车十子寒"之称。

炮:炮在不吃子的时候,走动与车完全相同。

马:马走动的方法是一直一斜,即先横着或直着走一格,然后再斜着走一个对角线,俗称"马走日"。马一次可走的选择点可以达到四周的八个点,故有"八面威风"之说。如果在要去的方向有别的棋子挡住,马就无法走过去,俗称"蹩马腿"。

兵(卒):兵(卒)在未过河前,只能向前一步步走,过河以后,除不能后退外,允许左右移动,但也只能一次一步。

(3)吃子

任何棋子走动时,如果目标位置上有对方的棋子,就可以把对方的棋子拿出棋盘,再换上自己的棋子(即"吃子")。只有炮的吃子方式与其他子不同:炮与被吃子之间必须隔一个棋子,进行跳吃,俗称"架炮"或"炮打隔子"。

(4)胜负的判定

对局时,一方出现下列情况之一,就算输棋,对方得胜:

①帅(将)被对方"将死",,即被对方将军却无法应将;

②帅(将)被"将军",无法避免地同对方将(帅)直接对面;

③被"困毙",即虽未被对方将军,本方却已无棋可走动;

④封棋着法有误;

⑤走棋违犯禁例,应当变着而不变,即一方长将不变,长将一方算输;

⑥在同一局棋中,单方面出现第三次"违例";

⑦自己宣布认输;

⑧因违犯纪律被判输棋。

出现下列情况之一,为和棋:

①双方均无可能取胜的简单局势;

②一方提议作和,另一方表示同意;

③双方走棋出现循环反复三次,符合“棋例”中“不变作和”有关规定;

④符合自然限着的回合规定,即在连续规定回合中,双方都没有吃过

一个棋子。

3.2 中国象棋的走法分析

明白了中国象棋的走法与规则之后,就需要来分析怎样在棋盘上实现中国象棋的这些走法。

(1)帅(将)的走法:

图3.2 帅(将)的走法图

帅(将)的走法如上图3.2所示。帅和将都是是双方的首脑和指挥者,同时下棋双方的最主要目标也是将死对方的帅或将。帅和将位于两个士的中间,他们的行走只能在九宫格中,而且在九宫格中只能走横的或者竖的直线,不能斜走,并且每次只能走一步。一旦帅或者将被吃掉则游戏结束。

(2)士(仕)的走法:

图3.3 士(仕)的走法图

如图3.2所示,士(仕)是护卫,是保护帅(将)的。士(仕)的走动范围也是在九宫格之内,但士(仕)只能走斜线,不能横竖走,而且每次也只能走一

步,所以,由图可以看出,士(仕)的走动范围实际上就只有5个位置。

(3)相(象)的走法:

图3.4 相(象)的走法

如图3.4所示,相(象)的走法只能沿着自己的对角线走两个,即所说的相(象)走田。但有些特殊的是,如果象所走的斜对角的中间有棋子(象眼),如图中的红色圈中的棋子,则相(象)就被堵住了而不能走那个方位的地方(如图中4位置就不能走),在实现时就需要先判断象眼处是否有棋子。还有相(象)只能在自己一方走棋而不能过河,这样其实相(象)能走的地方其实就只有7个。

(4)马的走法:

图3.5 马的走法

马的走法如图3.5所示。俗话说,马踏日,这就是说,马只能走日字,而且只能走日字的对角线,当然,这个日字可以是横的也可以是竖的。但是有一种特殊情况,就是如果马脚处有棋子的话,则马就不能走这个日字,如图,红色圈内就是蹩马腿的情况,则此时马就不能走到1的位置。这在算法实现时就应当首先判断马脚出是否有棋子,有则不能走。

(5)车的走法:

图3.6 车的走法

如图3.6所示,在整个中国象棋中,车的走法是最自由的,同时也是杀伤力最大的。在整个棋盘内,车可以横竖任意走动或者吃子,只要在车所走的横线或者竖线上面没有其他的棋子所阻挡,当然若是对方的棋子就干掉他。

(6)炮的走法:

图3.7 炮的走法

如图3.7所示。炮在行走时他的走法规则和车的走法是一样的,只要所走的中间没有棋子所阻挡,则可以任意横冲直撞。但在吃子时,炮吃子需要在自己和被吃子的中间有一个棋子作为炮架子时,才能够轰掉对方的棋子,没有这个炮架子时则只能走棋不能吃子,当然这个炮架子可以是对方的棋子,也可以是自己的棋子。所以在算法实现时,若想吃子,则首先要判断中间是否有这个炮架子,没有或者有多个则不能够吃子。

(7)兵(卒)的走法:

图3.8 兵(卒)的走法

如图3.8所示为兵(卒)的走法。兵(卒)的走法分为过河前和过河后。在过河前,兵(卒)只能向前直走,而且只能走一步,还不能够后退。当兵(卒)过河之后,他就能够横走也能够向前直走了,此时也是只能走一步,仍然不能够后退。这在算法实现时,就需要判断是过河前还是过河后,并且必须设定为只能往前走。

在所有的棋子走法中,在符合自己棋子走法规则上,还需要判断在所走的位置是否有棋子,若有棋子,则需要判断这枚棋子是对方的棋子还是自己的棋子,若是自己的棋子,则也不能落子,若是对方的棋子,此时就可以将对方的棋子吃掉(炮除外)。

象棋游戏毕业设计

智能中国象棋系统的设计与实现 摘要 人工智能(AI)中国象棋系统是将计算机知识和中国象棋知识结合起来的一种新型的游戏方式。智能中国象棋系统在此基础上实现人与机器的对弈,突破了以往传统象棋游戏只能人与人对战的限制,使中国象棋这一古老的游戏形式焕发出蓬勃朝气。 本文结合在中国象棋机器博弈方面的实践经验,在分析了中国象棋游戏需求基础上,设计并实现了智能中国象棋系统。该系统包括人人对战、人机对战、制作棋谱、播放棋谱以及挑战英雄榜等功能模块。人人对战规则明确,包含了中国象棋所有的着法;人机对战中电脑棋力分为简单、中等、困难三个等级,方便了不同水平人群的选择;制作和播放棋谱模块容易操作,方便学习;挑战英雄榜则为象棋游戏增加了乐趣。 本系统的实现满足了人们对中国象棋的基本需求,解决了传统象棋游戏学习性差、棋谱不易保存、不易演示等问题。 关键词:计算机博弈,中国象棋,人机对战,制作棋谱,搜索算法

Intelligent Chinese Chess System Design and Implementation Abstract Artificial Intelligence (AI) Chinese Chess System is a new games’ way which combines with computer knowledge and Chinese Chess knowledge.Intelligent Chinese Chess System on the basis of it which completes the game between human and computer , breaking the traditional chess game’s restriction that only can play against people. So that the ancient game of Chinese chess become prosperity . With the practical experience in Chinese chess computer game,a detailed analysis and research has been done .Based on those, I designed and implemented the Intelligent Chinese Chess System .This system includes the game against human ,the gme between computer and human ,make chess manual ,play chess manual and hero list functions .The game against human function has all the Chinese Chess rules and they are very clear.In the game between computer and human function ,computer thinking depth is divided into simple,medium and difficulty.It facilitate the choice of different levels. Making and playing chess manual fuctions are easy to operating and learning. Hero list fuction adds much fun to chess game. This system satisfied the basic demand of people to Chinese chess and solved the studying hard and the theoretical is not easy to making and playing of the traditional chess game. Key Words:Computer Game, Chinese Chess,Game between Human and Computer, Make Chess Manual, Search Tecniques

中国象棋口诀战略战术重要剖析

残棋炮归家 快速提高下棋系统思维和拆解能力! 一、子力篇: 1、一车十子寒 2、车马冷着,车控线,马控点 3、车马炮优于车双炮,车双炮优于车双马 4、双马炮优于双炮马,马炮优于双马,双马优于双炮 5、双士缺象畏炮攻,双象少士怕兵冲 6、中局炮胜马,残棋马胜炮 二、战略篇: 1、棋弈思考的基本动作是: 1)思考对方刚走的这一步棋用意何在 2)思考对方下一步棋的最可能方向 3)思考己方的因应之道,予以破坏或将计就计 4)随时要有全局在胸 2、棋奕的思考方向在于: 1)寻找己方的最佳可行途径 2)阻扰对方的最佳可行途径 3、子、先、势、杀的次序:子→先→势→杀 4、随时注意下列可能性及可行性: 1)弃子取势

2)先弃后取 3)车换马炮 4)弃子渡兵过河 5)叫将反将 5、要注意兑子、得子后的棋型,先手得子失先非上策 6、占有先手时,宜避兑进攻主力 7、临杀勿急,催逼宜紧,勿手软 8、两军相逢勇者胜 9、明显攻着不易得手,切忌一厢情愿,意图侥幸,应注意攻着的暗度及深度 10、单一功能的“守着”或“攻着”效果有限,应朝“守中带攻”或“攻中带守”方向思考 11、后手布局应分析对方前一手棋(伺机反扑)1)如为好,好在哪里?如何阻攻?可否守中带攻?2)如为软手,软在哪里?如何见缝插针?可有暗藏机关? 12、对方捉子未必要逃,可考虑: 1)弃子 2)还捉 3)暗保 4)牵制

13、先自固!加强对敌方的“控制”,放慢进攻节奏,遵守“子先势杀”的节律,战局反而会更有利 14、先要预算,走时再算,切忌连走 15、计算时,不能只注意深度,更要注意宽广度 16、随时注意下列手法之运用: 1)七星剑 2)窝心马(回旋,护底相,保马打车,暗捉彼车)3)缩炮(过宫,叠炮,整型,摆脱牵制,反牵制) 17、车不立险地 18、死子勿急吃 19、仕勿轻上,兵戒冒进,子忌险弃 20、有三子靠近九宫时,注意突起发难,弃子成杀 21、看似有“根”,实则无“根”或“根子”负担过重或“根子”不能胜任“移位”会造成双方盲点 22、有“根”而邀兑时,要注意“根子”是否安全可靠,“四车相见”尤然 23、车占兵线时,“收兵”顺序应细算之 24、“禁区”有时存在似险实安的现象,对于一些在常规下不宜轻进的“禁区”往往能以出人意外的着法履险如夷,这点要注意 三、战术篇 1、卒子过河后应注意: 1)其它后勤子力(车、马、炮)须能配合以利推进

android毕业设计(论文)开题报告

毕业设计(论文) 开题报告 题目___________________________ 学院___________________________ 专业及班级___________________________ 姓名___________________________ 学号___________________________ 指导教师 ___________________________ 日期 ___________________________

西安科技大学毕业设计(论文)开题报告

二、主要研究(设计)内容、研究(设计)思路及工作方法或工作流程 设计内容:基于Android平台下实现理货员的功能:精耕拜访,销售机会,拜访效果,门店销量查询,待办事项,数据维护:队列信息,基础信息,地图下载。 设计思路及工作方法: 1.精耕拜访: (1)初始进入该页面,系统会自动获取该理货员的本日拜访的门店及路线。 (2)下方地图会自动定位目前理货员的位置。 (3)点击门店的具体门店名称,在右边会显示该门店的联系人,电话,及地址,并且地图 会自动切换定位以该门店为中心。 (4)点击地图上的+可实现地图局部放大。-可实现地图的放小。 (5)如已拜访的门店,点击进入可以调去历史拜访数据。如未拜访的门店,点击进入可以新增该拜访记录。 (6)如理货员在拜访期间,发现门店已经有卖而目前系统中无记录的情况,则可以通过扫 描SKU的条形码,系统会自动匹配该SKU的信息给理货员。 匹配顺序:连锁总店—区域管理—基本SKU信息 补充说明: (1)公司动态内容,为了显示保乐力加集团的整体形象,有必要对公司的动态进行展示。 要包括集团的光辉历程,门店信息,集团的促销信息等。 (2)在陈列信息栏中,有其它途径过来的回应确认,可以一栏展示在上半部。如该理货员 需要发起确认,也可以通过点击发起确认进行提出。发起确认的需要销售员进行审核并且 分发。 (3)陈列报告,为显示每次理货员必须处理的门店信息记录及图片等。 (4)在陈列信息栏中,有其它途径过来的回应确认,可以一栏展示在上半部。如该理货员需要发起确认,也可以通过点击发起确认进行提出。发起确认的需要销售员进行审核并且分发。 (5)价格显示,系统会自动带出竞品信息。罗列在下半部。理货员在进行拜访期间,可以对本身的SKU及竞品的价格进行登记。主要登记内容:零售价格,促销价格及促销期间。信息采集完毕,可以供后台进行统计分析。 (7)在陈列信息栏中,有其它途径过来的回应确认,可以一栏展示在上半部。如该理货员需要发起确认,也可以通过点击发起确认进行提出。发起确认的需要销售员进行审核并且分发。 (7)库存信息,主要记录SKU的库存数量。 (8)上半部为助销申请内容,主要是对一些礼品的申请。 (9)订单处理,为新增订单,退货内容及换货内容的跟踪。 2.销售机会: (1)打开销售机会界面,会自动定位目前的门店列表。 (2)用户可以输入门店名称查询具体的门店信息及地图位置。

基于java语言的中国象棋设计与实现

题目:基于JA V A语言的中国象棋设计与实现

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

【摘要】 电脑在中国象棋上的运用还刚刚起步,尽管国内涌现出一大批中国象棋的专业网站和专业软件,但是由于缺乏必要的基础工作,电脑技术在中国象棋上的应用优势还无法体现出来,随着人工智能及计算机硬件的发展,计算机象棋程序的水平也不断地得到提高。 本文通过研究中国象棋的国内外研究现状、分析中国象棋的需求和用JA V A 语言设计中国象棋程序的可行性,同时根据国际象棋程序设计的一些成功经验,主要借鉴了位棋盘、Zobrist键值等,针对中国象棋程序设计的一系列问题,总结出一些中国象棋程序的设计方法。根据该方法设计出了符合中国象棋行棋和吃子规则,能够判断胜负,能够实现悔棋、重新开始等多种功能,而且界面十分美观的中国象棋程序,并给出了JA V A语言的实现方法。 关键词:中国象棋,位棋盘,Zobrist键值,着发生成

中国象棋最厉害攻势开局图详解

中国象棋最厉害攻势开局图详解 中国象棋开局是一整局棋的基础,下好开局才能掌握局势的主动权。下象棋如何开局才是最有攻势的呢?中国象棋最厉害开局技巧有哪些?下面就是小编给大家整理的中国象棋最厉害攻势开局,希望对你有用! 中国象棋最强攻势开局 1.单横竖直走(格数不限),马走日;炮也是横竖直走,但吃棋需隔一个棋,仅限一个棋(隔棋敌我不限,隔空的距离格数也不限,直线即可)。 兵单步走,过河前只能直走(即一步路),过河后只能前进或平线直移,不可后退;象走田(不能过自己的河,所以象其实只有7个步点);士9宫内按斜线单步走(不能出九宫,仅5个步点);将帅也不能出九宫,不能斜走,横竖不限; 2.走棋一人一步,轮流交替移动棋子吃棋无绝对大小,该棋行进步点上可覆盖对方棋子即吃其相应棋子赢棋为吃掉对方将/帅。 一点禁忌为将帅不能对照面(即双方将帅之间没有任何阻挡棋子)后手者为免将帅被吃,移动自己将帅与对方将帅对照者同样判负。 其他技巧需要非常多的实战经验来积累 中国象棋棋谱口诀歌诀象棋谱式 将军不离九宫内,士止相随不出官。象飞四方营四角,马行一步一尖冲。

炮须隔子打一子,车行直路任西东。唯卒只能行一步,过河横进退无踪。 宜用心机 象棋易学最难精,妙着神机自巧生。得势舍车方有益,失先弃子必无成。 他强己弱须兼守,彼弱吾强可横行。更熟此书胸臆内,管教到处有芳名 中炮局 起炮在中宫,观棋气象雄。马常守中卒,士上将防空。 象要车相附,卒宜左右攻。居将炮车敌,马出渡河容。 士相局势 炮向士角安,车行两路前。过河车炮上,炮在后为先。 集车拿士相,仍教炮向前。敌人轻不守,捉将不为难。 飞炮局势 炮车边塞上,临阵势如飞。虚隙井图象,冲前敌势危。 绝敌寻先子,无语自沉吟。车将车破敌,变化少人知。 象局势 象局势能安,行车出两边。车先河上立,马在后遮拦。 炮急常行动,上士必相圆。象眼深防塞,中心卒莫行。 势成方动炮,攻敌两河边。劝君依此诀,捉将有何难。 破车势 一车在中营,鸳鸯马上攻。一车河上立,中卒向前冲。

Android实现文章+评论

Android实现文章+评论(MVP,RxJava,Dagger2,ButterKnife) 简介 这个项目主要有两个功能,一个加载网页/文章,另一个用来显示评论。并应用了MVP模式,Dagger2、RxJava、ButterKnife等开源框架。 demo 结构 首先来看一下布局文件:

基于Android的日历系统的设计与实现毕业设计(论文)

华北电力大学本科毕业设计(论文) 毕业设计(论文) ` 题目基于Android的日历系统 的设计与实现 二○一四年六月

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

基于Android的中国象棋毕业设计

基于Android的中国象棋 毕业设计 目录 1 绪论 (1) 1.1 中国象棋的背景介绍 (1) 1.1.1 中国象棋的历史起源 (1) 1.1.2 中国象棋的发展现状与前景 (1) 1.2 Android操作系统简介 (2) 1.2.1 Android操作系统背景 (2) 1.2.2 Android系统的优势与弊端 (3) 1.2.3 Android操作系统的现状与发展前景 (4) 2 Android系统的架构与开发环境 (6) 2.1 Android的体系结构 (6) 2.2 Android的四大组件 (8) 2.3 Android开发环境的搭建 (9) 2.3.1 Java JDK的安装 (9) 2.3.2 eclipse的下载与使用 (9) 2.3.3 Android开发工具的安装 (9) 2.3.4 Android工程的建立 (10) 3 中国象棋的走法规则与实现分析 (13) 3.1 中国象棋的走法规则 (13) 3.1.1 棋盘和棋子介绍 (13) 3.1.2 中国象棋的规则和胜负的判定 (14) 3.2 中国象棋的走法分析 (15) 4 中国象棋软件的主要功能和界面布局 (19) 4.1 中国象棋软件实现的主要功能 (19) 4.2 软件的主要布局与实现 (20) 4.2.1 开始游戏选项界面 (20) 4.2.2 中国象棋选项界面 (22)

5 中国象棋的算法设计与实现 (24) 5.1 工程的建立 (24) 5.2 工程模块的介绍 (25) 5.2.1 各个类主要实现的功能 (25) 5.2.2 工程中其他模块的介绍 (26) 5.3 中国象棋的逻辑算法和实现 (26) 5.3.1 棋盘和棋子的算法分析 (26) 5.3.3 棋盘和棋子的绘制 (28) 5.3.4 棋子的算法实现 (30) 6 问题与软件的改进 (32) 6.1 遇到的问题与解决方法 (32) 6.2 软件所需的改进 (33) 结束语 (34) 参考文献 (35) 致谢 (36) 附录 (38)

中国象棋各种开局之胜率统计

中国象棋各种开局之胜率统计 象棋各种开局之胜率统计 不可不看,不可不知! 哪一种开局红方胜率最高呢? 哪一种开局黑方胜率最高呢? 哪一种开局和率最高呢? 惊!红方以五九炮对黑方的屏风马胜率高达47.22%,但是局数过少,因此参考看看就好...... 惊!开成中炮过河车七路马对屏风马两头蛇,黑方胜率冠所有开局之最低, 仅14.68%。 惊!开成中炮过河车七路马对屏风马两头蛇,和棋率亦冠所有开局之最高,竟51.59%。而五六炮对屏风马之和棋机率亦极高,51.23%,乃和棋率之亚军,但是红方胜率居然乃所有开局之最低。 很少人精准的去分析过,而今象棋白科全书收录中国大陆1990-2004所有的象棋比赛棋谱(共8197局),因此我统讣这8197局分析出儿个实用的指标,局数数量相当庞大,相信会对专业棋手与业余棋手都有极大的帮助! ?本数据共8197局红方胜率37.07%和率 37.42%黑方胜率25.52% 红方因有先行之利,所以胜率偏高,平均每2.7场中红方就胜一场or平手, 而黑方平均每4场才胜一场。也就是说,27场象棋比赛中,10场红胜,10场平手,仅7场黑胜。 ?象棋二大类开局

红方胜率37.68%和率39.01% 非中炮类开局(含仙人指路)(3238局) 黑方胜率23.32% 非中炮类开局(不含仙人指路)(1569局) 黑方胜率23.07% 从上列数据可以看出,非中炮类开局与中炮类开局其红方胜率是差不多的, 然而中炮类开局和棋率略低,因此黑方胜率偏高。 ?非中炮类开局细分 仕角炮局("2局) 黑方胜率24.11% 仙人指路局(1669局) 黑方胜率23.55% 起马局(293局) 黑方胜率26.96% 飞相局(957局) 黑方胜率21.00% 过宫炮局(151局) 黑方胜率29.14% 红方若要求胜,宜开仕角炮局。要是红方欲求不败,宜开飞相局,黑方胜率 最低,和率最高。红方开过宫炮局则黑方胜率最高,但决定权在红方,不在黑方。 ?仙人指路局细分 对兵局(449局) 红方胜率38.75%和率37.64% 黑方胜率23.61% 仙人指路对卒底炮(819局) 红方胜率37.97%和率37.97% 黑方胜率24.05% 仙人指路转左中炮对卒底炮飞左象(510局)红方胜率35.69%和率39.22% 黑方胜率25.10% 红方开仙人指路局,黑方宜以卒底炮应对才是上策。 红方胜率36.52%和率40.41% 中炮类开局(4959局) 红方胜率36.46%和率35.83% 红方胜率40.18%和率35.72% 红方胜率38.77%和率37.69% 红方胜率37.20%和率35.84% 红方胜率35.53%和率43.47% 红方胜率35.10%和率35.76%

本科毕业设计---基于android手机电子书阅读器的设计与实现

毕业设计 题目:手机电子书阅读器的设计与实现

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

基于Android平台的菜谱实现

基于Android平台的菜谱实现 1需求分析 随着手机的广泛普及,无线技术的突飞猛进,移动生活、移动办公逐渐由概念转变为现实,对于传统的餐饮业也产生了潜移默化的影响。 目前,大多数餐厅仍然以传统的纸质菜单为主。但是,这种点菜方式存在诸多弊端:从消费者角度来讲,菜谱不能及时更新,导致菜谱信息陈旧,点菜时经常出现某菜品已下架等情况。 用户需求:从餐厅老板来说,及时更新纸质的菜谱,无疑会增加餐厅的额外支出。为了改善传统纸质菜谱的弊端,将菜谱应用于手机客户端,为消费者带来更为便利的客户体验。而实时的菜品更新,不仅解决了纸质菜谱短时间内就出现脏、乱、差的问题,实现餐厅无纸化操作,而且潜在的提升了饭店的形象。 功能需求:用户可以进入菜单界面选择菜品分类,进入相应的分类内,查看该分类中的菜品信息,并对菜品的等级程度进行评价,查询某特定菜品,也可添加新菜品,删除菜品等。 2功能实现 本APP基于自身的需求,同时对西北大学周围众多餐厅现状的合理分析,结合实际,设计并实现了一个基于移动手机平台的智能菜谱显示,该系统的设计基于Android智能操作系统,简单的SQLite数据库,实现了对菜品的增、删、查、改各个功能。 消费者可以添加要点的菜品,在餐后可以对菜品的口味及好感程度进行具体化的评价,这样是对餐厅工作人员的一个回馈,同时也可以为其他消费者就餐提供建议。 2.1主界面 1、实现了对菜品的具体分类。如图2-1

图2-1 单击所选择的菜品分类,出现菜品的镜像显示,为消费者提供更为直观的视觉效果,有助于消费者做出选择。如图2-2 图2-2 2、是进入菜品显示的入口,同时也显示了该软件的使用方法如图2-3:

象棋开局必知

象棋开局必知 棋类游戏是人们非常喜欢的休闲游戏,象棋就是其中最受欢迎的棋游戏之一,中国象棋开局对于整体棋局有很重要的作用。欢迎大家阅读!更多相关信息请关注相关栏目! 一、尽快出子 尽快出子就是说,在象棋开局的时候,还没有丧失先机,应该尽快的将手中的强子走出自己的棋盘,这也为后来的攻击打下基础车要抢占要道,这点不是必须的,不同的布局不同的走法,但是只要做到了这点肯定会有优势的。 二、不宜多走同一个子 不宜多走同一个子,看见这招,应该都明白大概意思吧,就是说不要过多的走同一个棋子,可以多走一些不同的棋子,虽然也有例外,但是大体上是如此。 三、针对对方的阵形来布局 每一种固定好了的阵型,布阵方法,都会有相对应的漏洞,弱点,我们可以根据这些弱点,充分的利用起来,将对当的弱点,变成自己的强点,这点不是初学者能够掌握的.,这需要大量的经验。 四、主力集结 在象棋对战中,子力过于分散是没有什么大的作为的,只有将强子汇集一方发动攻击,才会给对手不可反抗的打击,从而获胜。 五、二翼呼应 在布局过程中,也有的时候采取二翼呼应的原则,也就是说二边要兼顾,不会出现什么太大的漏洞,这样对手攻击的时候可以很好的防范,不至于手足无措。 六、巩固后防 布局的时候,绝对不可以义无返顾的攻击,这样很容易遭受对方的暗算而吃大亏,甚至导致全盘皆输,要适时巩固自己的防御,从而做到攻守兼备。 七、争夺主动 有的人下棋自由自在,也有的人下棋挥汗如雨,全在于是否掌握了对全局的主动权,一盘棋的胜败往往就在于是否掌握了主动。 八、控制对方 在掌握主动权的时候,下一步就要控制对方,做到一切尽在掌握中这样,一般情况下只要你不大意失误,此时便胜负已定了,其实很重要的一点就是一直控制对方,这其实很难。 九、袭击弱点 中国人都知道扬长避短,也就是说在对战中每个人都有弱点和优点,你要尽量找到他的弱点,并给其以沉重打击。 十、积极对攻 对战中,难免会出现失误,遭到对手的攻击,此时不要消极防御,要积极在他的薄弱一边攻击,在对攻中重新掌握主动。

安卓系统毕业论文设计

安卓系统毕业论文设计 编号毕业设计论文任务书题目安卓电子菜单点菜 系统院系专业计算机及应用学生姓名黎少环学号030111301428 指导教师单位桂林航天工业高等专科学校 姓名郑利华职称副教授题目类型理论研究实验研 究工程设计工程技术研究软件开发 2012年 4月22日一、毕业设计论文的内容、要求计算机领域在不断创新。计算机在代替和延伸脑力劳动方面发挥越来越重要的作用 不仅在工业方面而且在日常生活中也越来越离不开计算机。在数字化的今天为了更加加快人们在吃的方面节省更多的 时间由此电子点菜系统的出现更加利于人们在点餐时高效 点菜方便点菜员与顾客沟通更好展示主推菜品有效提高单 桌消费额餐厅繁忙时方便顾客自助点菜有效节约人工提高 服务质量菜单管理饭店所有菜品信息、菜品口感、份量方便客人选择超强展示简洁界面方便服务员及顾客点菜优越于 传统菜谱提高效率点菜、提交、下单同步进行规范管理可与现有点菜方式同时使用弥补现有点菜系统的缺陷准确无误 避免传统手写点菜失误造成的消费者投诉数据分析餐厅营 业状况一目了然并兼容现有餐饮管理软件开机的首页可以 插入企业广告增加酒店营业收入饭店形象大步提升提高了 客户忠诚度、增加收益等。为了使电子点菜系统更加简单、到位、便捷并能都基于上述种种原因本论文通过Android平台和eclipse SDK 的编程环境实现andriod电子点菜系统。

andriod电子点菜系统。主要分为前台和后台管理。前台管理设计了九个按钮分别命名为android电子点餐系统、特色菜、热菜、凉菜、汤类、酒类、套餐、呼叫服务、结账当想点菜时点击特色菜、热菜、凉菜、汤类、酒类、套餐等按钮则进入另一个界面进行点菜并点击界面中的完成按钮算出所点菜的金额。二、毕业设计论文应完成的工作 1、毕业设计论文说明书打印四份 2、英译汉资料或不少于2000汉字的调研报告 3、任务书 4、软件清单工科要求、设计图纸等 5、设计的软件或硬件作品三、应收集的资料及主要参考文献 1 谭浩强.Java语言程序设计第三版M.北京:清华大学出版社2008. 2 张孝祥.Java就业培训教程M.北京:清华大学出版社2003 4 李春儒.守望互联网经济—电子商务发展现状与趋势OL2005. 5 史斌星史佳.Java基础编程贯通教程M.北京清华大学出版社2003. 6 马海军杨继萍.Java 2 实用教程M.北京清华大学出版社2004. 7Smego.Android应用程序设计基础2009. 8E2ECloud.深入浅出Android程序设计OL.北京人民邮电出版社2009. 9Smego.Android A Programmers GuideOL2008. 10杨丰盛.Android 应用开发揭秘M.西安机械工业出版社2010. 四、试验、测试、试制加工所需主要仪器设备及条件硬件要求计算机一台显示器一台软件要求系统开发平台android 与eclipse 系统开发语言java 数据库管理软件Microsoft SQL Server 2005

基于Android的电子书的设计与实现

论文题目基于Android的电子书的设计与实现 姓名** 学院** 专业** 指导教师** 备注

基于Android的电子书的设计与实现 作者姓名: ** 指导教师: ** 单位名称:计算机科学与技术系 专业名称:**

Design and Implementation of Ebook Based on Android by Supervisor: **

毕业设计(论文)任务书 毕业设计(论文)题目: 基于Android的电子书的设计与实现 设计(论文)的基本内容: 基于Android的在线电子书在手机的应用领域有着重要的作用。通过结合当前最流行的轻量级框架SSH作为后台,后台添加电子书。Mysql作为数据库,然后客服端通过JSON数据和服务器进行交互,前台实现浏览电子书分类,然后选择电子书的标题,就可以进行在线阅览!服务端部署在tomcat上,就可以实现在任何地方浏览书籍,文章。 本软件是基于Android 和 SSH框架上开发的软件。Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android的主要竞争对手是苹果公司的iOS以及RIM 的Blackberry OS。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 毕业设计(论文)专题部分: 题目: 设计或论文专题的基本内容: 学生接受毕业设计(论文)题目日期 第 1 周 指导教师签字:

本科毕业设计--基于android平台的手机应用软件设计与实现

安阳工学院 计算机科学与工程学院 JAVA程序设计课程综合项目报告 项目题目:基于Android平台的手机应用软件设计与实现专业班级:计算机科学与技术(信息技术)11-1 学生姓名:吕鹏 学生学号:201103010042 指导教师姓名:许研 2013年12月

摘要 随着IT技术的发展,移动开发已被广泛的应用于社会的各个领域,成为推动社会发展的技术动力。而在移动开发中,Android开发近些年来突飞猛进的发展,在智能手机领域中的市场份额以及超过80%。同样,基于安卓平台的手机应用开发也达到前所未有的高度,各种安卓手机应用软件竞相出现。本次的JAVA 课程设计将基于安卓的平台,因为安卓开发主要基于JAVA语言和XML语言。本次所做的手机应用软件,可实现系统的登录、计算器、打电话、发短信、上网等简单功能实现。在此系统的实现过程中不仅提高了JAVA语言编程,而且加入了Android的成分,提高了软件设计的兴趣性。 关键词:手机应用软件开发,Java程序设计语言,Android开发。

目录 摘要 (2) 第1章系统目标 (5) 第2章系统功能介绍 (6) 2.1系统功能总框图 (6) 2.2 模块功能介绍 (6) 2.2.1 登录模块功能介绍 (6) 2.2.2 等待模块功能介绍 (7) 2.2.3系统主界面模块功能介绍 (8) 2.2.4短信和拨号模块功能介绍 (8) 2.2.5计算器模块功能介绍 (9) 2.2.6网上冲浪模块功能介绍 (10) 第三章系统功能实现 (11) 3.1 系统登录模块设计 (11) 3.1.1 登录框布局设计 (11) 3.1.2 登录对话框设计 (13) 3.2 等待模块设计 (15) 3.3 系统主界面模块设计 (16) 3.3.1 主界面XML布局设计 (16) 3.3.2 主界面背景图片设计 (18) 3.3.3 主界面功能实现设计 (18) 3.4 短信和拨号模块设计 (20) 3.4.1短信功能实现设计 (20) 3.4.2 拨号功能实现设计 (22) 3.5 计算器模块设计 (22) 3.5.1 计算器界面设计 (22) 3.5.2 计算器功能实现设计 (22) 3.6 网上冲浪模块设计 (24) 3.6.1 网上冲浪模块XML布局设计 (24)

java中国象棋对弈系统本科毕设论文

毕业设计(论文)中国象棋对弈系统 系别:计算机科学与技术系

专业(班级):计算机科学与技术09级本2班 作者(学号):XXX(学号) 指导教师:XXX(括号内填写职称或学位) 完成日期:2013年06月06日 XXXXX教务处制 目录 中国象棋对弈系统.................................................................................................................................... - 1 -Chinese chese playing system............................................................................................................ - 2 -第一章引言(概述)........................................................................................................................ - 3 -第二章系统可行性分析.......................................................................................................................... - 4 -2.1 总体分析............................................................................................................................................. - 4 -2.2 开发环境介绍..................................................................................................................................... - 4 - 2.2.1硬件开发环境 (4) 2.2.2软件开发环境 (4) 第三章系统需求设计.............................................................................................................................. - 5 -第四章详细设计.................................................................................................................................... - 6 -4.1 功能设计............................................................................................................................................. - 6 - 4.1.1功能说明 (6) 4.1.2对弈规则 (6) 4.1.3相关类图 (6) 4.1.4相关类的类图 (7) 4.2功能的实现.......................................................................................................................................... - 7 - 4.2.1图形界面的实现 (7) 4.2.2棋谱的实现 (10) 4.2.3棋子的添加 (10) 4.2.4背景音乐 (12)

安卓毕业设计app项目

安卓毕业设计app项目 【篇一:基于android手机app开发与设计毕业设计 开题报告】 毕业设计开题报告 题目基于android平台的同学录设计与开发学生姓名王强学号1118014143 所在院(系) 数学与计算机科学学院 专业班级计本1104 指导教师李婧 2015 年 3 月 18 日 【篇二:安卓毕业设计论文】 基于android的校园聊天软件的设计与实现design and implementation of campus chat software based on android 摘要 在智能手机中,android平台约占75%市场份额。安卓系统的广泛 应用,使得android手机应用程序的数量快速增长,即时通讯app 的应用范围也更加广泛。另一方面,高校师生需要在教学过程中加 强沟通,而开发一款智能手机的校园聊天app则可以满足这一需要,弥补传统教学形式的不足。 本文旨在设计并实现一个基于android的校园聊天软件。本文在对 校园聊天客户端进行调查研究基础上,进行了需求分析和系统设计,进一步完成了ui界面设计,在eclipse中使用java语言实现了app 各个功能模块。app的im通信部分基于第三方通信云sdk进行开发。该app的功能主要包括用户登录、注册、聊天框架、通讯录管理、 个人信息管理等功能模块。 基于android平台校园聊天软件将为管理者、教师、学生之间提供 一个高效的沟通平台,它的实施将有利于加强对教育教学过程的监督,增进师生之间、学生之间的学习交流,增强教学互动性,提高 教育教学效率。 关键词:android;校园聊天;智能手机 abstract

基于Android平台的管理系统设计与实现

基于Android平台的管理系统设计与实现

基于Android平台的 管理系统设计与实现 院系:信息科学与工程学院 专业班:计算机科学与技术班 姓名: 学号: 指导教师: 201 年月

基于Android平台的 管理系统设计与实现Design and Implementation of Online Management System Based on the Android Platform

摘要 基于Android平台的网上超市管理系统是结合当前最流行的移动平台开发的电子商务系统。本系统是PC端电商网站在Android平台的延伸,除了传统电商网站能够实现的各项基本功能之外还具有使用简单,操作方便等优点。利用本系统可以为超市的销售提供新的渠道。 本系统的开发运用了基于Java的Android SDK技术,系统采用C/S(客户端/服务器)结构实现。开发所采用的IDE为MyEclipse 10并安装由Google提供的Android Developer Tools。系统运行环境为Android版本4.0以上的移动设备。 本系统在电商网站的基础上完成了移动平台功能的设计,使用户能够在手机上方便的进行传统电商网站上所能完成的大部分操作。本系统的优点在于能够充分利用都市人群上下班途中、排队闲暇等碎片时间,提供方便快捷的购物方式,因此能够极大的抓住用户的依赖程度,提高超市自身品牌影响力,扩张超市营业范围,提高商品销售收入。 关键词:Android 移动设备网上超市

Abstract This e-commerce system named Online Market Management System is based on the most popular mobile platform - Android platform. This system is an extension of PC e-commerce website on the Android platform. Except functions that normal e-commerce system can realize, this system also has many advantages like easily use and convenient. Using this system has provided a brand new way for market sales. The development of this system has using the Android SDK based on Java technology, and achieve by C/S (Client/Server) structure. The IDE used for development is MyEclipse 10 which has installed Android Developer Tools provided by Google. This system need a mobile device that Android version is higher than 4.0 for running. This system has completed the function of the mobile platform based on e-commerce sites, and allow user finish most functions which can be done at normal e-commerce sites. This system can make full use of pieces of time which like the way go to work and the way home, or when you get in a line waiting for something, to provide a fast convenient way to shopping. These advantages can seize the users' dependence, improve the influence, expansion the scope of the business and increase sales revenue. Key words:Android mobile device Online Market

相关文档
相关文档 最新文档