当前位置:文档之家› 软件111班胡飞龙毕业论文

软件111班胡飞龙毕业论文

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

安徽工业大学

毕业设计(论文)任务书

课题名称 IOS系统手机APP象棋游戏

学院计算机科学与技术学院

专业班级软件工程111班

姓名胡飞龙

学号 119074149

毕业设计(论文)的主要内容:

1.了解IOS(Internetworking Operating System-Cisco,缩写IOS)系统使用方面的相关知识,学习苹果手机应用方面的相关信息,熟悉手机APP(application的缩写)的运作过程。2.学习手机APP的编写和设计过程,熟悉苹果手机APP设计过程的相关理念,按照软件开发的方法,进行对软件的需求分析,设计,测试和维护。

3.能够熟练的掌握软件开发过程中的相关技术,采用了Objective-c,和UI的一些简单相关使用,

以实现游戏中的各种功能:棋子的移动,吃棋,将军,悔棋等。

4.按照学校规范的要求撰写毕业论文。

指导教师签字:

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

目录

摘要............................................................................................................................................... 四Abstract ........................................................................................................................................... 五1. 绪论 (5)

1.1项目背景 (5)

1.2项目目的 (6)

1.3项目意义 (7)

2.关键技术介绍 (7)

2.1 Objective-c技术 (7)

2.2 IOS技术 (8)

2.3 Xcode技术 (8)

2.4 UIView技术 (9)

3. 系统需求分析 (10)

3.1用户需求 (10)

3.1.1功能需求 (10)

3.1.1.1功能需求 (10)

3.1.1.2功能模块(用图的方式技术) (10)

3.1.2系统性能需求 (11)

3.1.3环境需求 (11)

3.2可行性分析 (11)

3.2.1技术可行性分析 (11)

3.2.2经济可行性分析 (11)

3.2.3操作可行性分析 (12)

3.2.4结论 (12)

3.3实体图 (12)

4. 总体设计 (14)

4.1系统功能 (14)

4.2能力模块设计 (14)

4.3用户操作模块设计 (15)

4.3.1用户吃棋模块 (15)

4.3.2用户将军模块 (16)

5. 系统详细设计与实现.......................................................................................................... 十七5.1游戏运行界面设计............................................................................................................... 十七5.2 棋子移动设计.......................................................................................... 错误!未定义书签。

5.3吃棋运行设计 (22)

6 系统的测试 (24)

6.1 将军状态测试 (25)

结论 (25)

参考文献 (27)

致谢.............................................................................................................................. (28)

附录:部分重要源程序.....................................................................................................三十一英文翻译(另外装订).........................................................................................................四十四

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

摘要

随着苹果手机的全球流行和使用,苹果手机的APP需求也大量的增加着。苹果手机的流行不仅仅是因为它的外观设计简单,流畅,也不仅是iOS系统的稳定,操作流畅,可扩展性,功能强大;还因为苹果的APP在设计人员的开发过程中更加的精益求精,这才使得广大的iPhone用户喜欢上苹果。

这个手机游戏的开发是使用了Objective-C和UI的一些方面,后台方面的使用很少。只需要制作棋盘,棋子,规则和开盘,悔棋等功能的实现等方面。

这款象棋游戏手机app是一款人人对战的手机游戏,旨在能够用于闲暇时娱乐。可以在任何地方与朋友进行对战,还能起到提高智力的作用。这款应用操作简单方便,界面简洁明了。

游戏以IOS操作平台实现应用,以消遣娱乐和发扬传统艺术为目的,满足了用户的动手休闲的目的。主题积极向上,具有良好的娱乐和竞争性。

关键字:IOS; Objective-C; UI

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

Abstract

Mobile phone APP needs a lot of also increase. iPhone's popular not just because of its simple design, smooth, also is not only the stability of the iOS, smooth operation, expansibility, powerful; But also because of iPhone's APP in the development process of the design personnel more excellence, which makes the iPhone users like iPhone .

The mobile game development is the use of the Objective - C and some of the aspects of the UI, use very little background. Only need to make a board, pieces, rules and opening, the realization of the function such as back, etc.

This chess game mobile phone app is a mobile game against anyone, aimed at entertainment can be used in your spare time. You can play with friends anywhere, also can have the effect of improving intelligence. The app is simple and convenient operation, interface simple and clear.

Games to iOS operating platform to achieve application, for the purpose of entertainment and carry forward the traditional arts, meet the users to the purpose of leisure. Theme positive, have good fun and competitive.

Keywords: IOS iPhone APP

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

1. 绪论

1.1项目背景

在信息化时代的今天,人们对于手机有了进步的了解与应用。随着科技的发展,智能手机已经成为了今天手机市场的最重要的产品,现在的人们都在用智能手机。智能手机的发展已经势不可挡。而苹果公司就是在这个阶段获得了崛起和成功。

现在常用的智能手机系统有:苹果ios智能系统、安卓智能系统、塞班智能系统、软

智能手机系统、黑莓智能系统等等。

毫无疑问,手机的智能化是手机的一场革命。互联网应用的发展和3G网络的成熟,

3G智能手机成为最重要的终端载体,吸引了越来越多消费者利用智能手机网上冲浪、

收发电子邮件、看电影、打游戏、视频对话等。智能手机让人们的生活变得越来越便捷,

这就使得智能手机成为了消费者追捧的对象。

苹果ios系统作为高端机的智能系统截止至2011年11月,根据Canalys的数据显示,iOS已经占据了全球智能手机系统市场份额的30%,在美国的市场占有率为43%,并在逐渐的增加。

从2007年开始,在接下来的8年中,苹果的IOS系统在短短的时间内能从一个全新的移动操作系统,顺利晋级成为一个最炙手可热的操作系统,同时还使得搭载IOS 系统的设备更是将苹果公司从濒临破产的边境拉回,并一跃成为全球市值最高的公司,如此传奇般的故事不仅为人们所称道,更造就了一大批IOS开发和iPhone开发成功的人。当然,苹果的IOS系统之所以会如此成功,肯定是有它自己的优势的。

由于互联网的应用,PC机的大量普及,iPhone在全球的市场上占有的比重越来越多,iOS系统应用的开发者也在变的越来越重要。另外,由于IOS系统开发技术在全球手机系统的前端,其他系统平台应用开发公司和系统研发公司也都在大量高薪招聘IOS开发者。

一个成功的IOS开发者不仅需要有项目经验,还需要有创新,先从模仿开始,再逐步的进行创新。我的这款象棋游戏是基于现实游戏的模仿和一些规则的限定而设计出的游戏。

1.2项目目的

制作的这款象棋手机游戏是基于iOS系统,旨在用来放松精神,打发日常休闲时间。让一些象棋爱好者能够随时随地的与他人进行对战,具有使用简单,界面明了,快速易懂的特点。

玩过象棋的朋友都能够很简单的了解到这款游戏的简单易懂之处,极短的时间内就能够上手。本游戏完全按照现实中国象棋的规则来进行,较为的通俗简单。这个手机应用的开发目的在于使当下是年轻人也能够更加全面的了解到中国古代文化的精髓,不至于仅仅沉溺于现在这个物欲横流的社会,变得更加的有精神方面的追求。同时还能提高自身的修养,变的更加自信。虽然现在的功能还不够完善,但这个应用完全可以根据用户的需求进行更进一步的加强和补充,使之更加人性化。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊1.3项目意义

随着经济和科技的不断发展,人们的物质生活得到了大量的满足,但精神食粮的需求也会进一步加大。都说我们这最新的一代变得浮夸,变得物质,因此就更加需要在精神方面和自我修养方面进行加强。中国古代文化的精髓也需要我们来弘扬。中国象棋是一项健康且有益智力的游戏,可以让我们在精神和文化方面获得很多,也有效的利用了闲暇的时光。大学的四年学习也需要一个完整的检测,以此来运用我们所学到的全部知识,系统和全面的进行以此项目的开发和分析执行等。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

2.关键技术介绍

2.1 Objective-c技术

Objective-C是非常“实际”的于洋。它使用一个用C写成、很吊的运行库,只会令应用程序的大小增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。Obj-C写成的程序通常不会比其源代码大很多。而其函数库(通常附在软件发行本)亦和Smalltalk系统要使用极大的内存来开启一个窗口的情况相反。

Objective-C的最初版本冰不支持垃圾回收。在当时这是争论的焦点之一,很多人考虑到Smalltalk回收时有漫长的“死亡时间”,令整个系统失去功用。Objective-C为避免此问题才不拥有这个功能。虽然某些第三方版本已经加入这个功能(尤其是GNUstep),再起Mac OS X 10.3中仍未引入这个功能。不过令人欣慰的是在Apple发布的XCode4中已经支持自动释放,我不敢冒昧的说那是垃圾回收,因为两者机制不同,在xCode4中的自动释放,也就是ARC(Automatic Reference Counting)机制,是不需要用户手动去Release一个对象,而是在编译期间,编译器会自动帮你添加那些以前你经常写的[NSObject release]。

另一个问题是Obj-C不包括命名空间机制(namespace mechanism)。取而代之的是程序设必须在其类别名称加上前缀,时常引致冲突。在2004年,在Cocoa编程环境中,所有Mac OS

X类别和函式均有“NS”作为前缀,例如NSObject 10 或NSButton来清楚分别它们属于

Mac OS X核心;使用“NS”是由于这些类别的名称在NeXTSTEP开发时定下。

虽然Objective-C是C的母集,但它也不视C的基本型别为第一级的对象。

和C++不同,Objective-C不支援运算子多载(它不支持ad-hoc多型)。亦与C++不同,但和Java相同,Objective-C只容许对象继承一个类别(不设多重继承)。Categories 和protocols不但可以提供很多多重继承的好处,而且没有很多缺点,例如额外执行时间过重和二进制不兼容。

Objective-c的编写比c语言要简单的多,只要有一定的c语言基础就能很好的学习objective-c,并自如运用。

2.2 IOS技术

(1)IOS简介2

Cisco的网际操作系统(IOS)是一个为网际互连优化的操作系统--类似一个局域操作系统(NOS)、如Novell的NetWare,为LANs而进行优化。IOS为长时间有效地维护一个互联网络提供了统一的规则。简而言之,它是一个与硬件分离的软件体系结构,随网络技术的不断发展,可动态地升级以适应不断变化的技术(硬件和软件)。

IOS是iPad、iPhone、iPod touch、Apple TV和Apple watch的操作系统。是由苹果公司自主开发的移动操作系统。苹果公司一开始只是想给iPhone开发一个操作系统使用的,但后来却陆续的被用到在其他产品上。IOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的操作系统,顾名思义它也属于类Unix的商业操作系统。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

IOS具有简单易用的界面和令人惊叹的功能,再加上超强的稳定性,这些都让它成为iPhone、iPad和iPod touch能够强大的基础,尽管其他竞争对手在不断努力的追赶他的步伐,但是IOS内置的众多技术和功能都能让Apple设备一直保持着遥遥领先的地位。

(2)IOS的优势7

第一,IOS系统的软件与硬件的整合度相当的高,使其分化降低,在这方面要远胜于碎片化严重的Android。且它的源代码不开放,扩展相对不足,移植性很好。这样也增加了整个系统的稳定性,经常使用iPhone的朋友都可以发现,手机很少出现死机、无响应的情况;

第二,苹果在外观和界面设计上投入了很多精力,无论从外观还是到易用性,IOS 都致力于为使用者提供最直观的用户体验。IOS系统给人的第一感觉就是简洁、美观、有气质,用户上手很快,用起来有很简单、行云流水的感觉;

第三,对于现代的用户来说保障移动设备的信息安全十分重要,不管这些信息是企业和客户的个人信息、或者是个人照片、银行信息或者地址等,都必须保证其安全性。苹果对IOS生态采取了封闭的措施,并建立了完整的开发者认证和应用审核机制,因而恶意程序基本上没有登台亮相的机会。

第四,基于Cisco产品的工程开发以用户可以获得适应变化的灵活性。IOS软件提供一个可扩展的平台,Cisco会随着需求和技术的发展集成新的功能。Cisco可以更快地将新产品投向市场,我们的客户可以享用这种优势。

第五,IOS提供最广泛的基于标准的物理和逻辑协议接口——超过业界任何其他供应商:从双绞线到光纤,从局域网到园区网到广域网,Novell NetWare,UNIX,SNA 以及其他许多接口。即是说,一个围绕IOS建立的网络将支持非常广泛的应用。

(3)系统结构

IOS系统结构分为下面四个层次:核心操作系统(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),触摸框架层(the Cocoa Touch layer)。

2.3 Xcode技术

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

Xcode是开发人员建立基于iOS的应用最快捷的方式。Xcode是苹果公司向开发人员提供的集成开发环境。其运行于苹果公司的Mac操作系统下。

不管你用C、C++、Objective-C或Java编写程序,在AppleScript里编写脚本,还是试图从另一个奇妙的工具中转移编码,你会发现 Xcode 编译速度极快,每次操作都很快速和轻松[5]。

苹果公司为用户提供了全套免费的Cocoa程序开发工具。Mac OS X一起发行,在苹果公司官方的网站下载[6]。

2.4 UIView技术

1.窗口UIWindow

iPhone的开发规则是一个窗口,多个视图,窗口就是你在app上看到的最底层页面 2.视图 UIView

视图是用户构建界面的基础,在这个视图上你可以画出所有的控件,增加各种控件,并利用控件和用户进行交互和传递数据。

3..UIAlertView

通过警告视图让用户选择或者向用户显示文本。

4.UIImageView

通过UIImage可以向UIImageVIew里加载图片,加载后你可以指定显示的位置和大小 5.UIButton

我们平常触摸的按钮,触发时能够调用我们想要执行的方法。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

3. 系统需求分析

根据第一章的描述,本章将对其功能进行具体的需求分析,分析中国象棋将要实现的功能和欲将打到的效果

3.1用户需求

3.1.1功能需求

3.1.1.1功能需求

此程序设计的是IOS平台下的中国象棋游戏设计,程序在iPhone手机上能够进行真机调试。

此程序设计用户界面要求比较简单明了,由于针对的用户为iPhone智能手机用户,所有程序的操作都可以全部通过手指触控来完成。本中国象棋软件要求设计必须合理,在设计完成后,要求程序能够实现它的基本功能。

3.1.1.2功能模块

总的系统模块主要包括:开始游戏,重置游戏,悔棋和对棋子的移动,吃棋,将军。

重置游戏:游戏的重新开局;

悔棋:退回到上一步的状态;

移子:移动棋子到空白的位置;

吃棋:移动到有棋子的位置并占据;

将军:对将或帅进行威胁。

总的系统功能结构图,如图3.1所示:

图3.1 总的系统功能结构图

中国象棋游戏

游戏管理棋子管理

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊3.1.2系统性能需求

1、安全性:由于该软件不需要联网就能进行运行,所以在个人手机上具有很大的安全性。

2、稳定性:该软件占用的CPU利用率很小,操作简单,对手机的运行干扰很小,所以稳定性很强。

3、兼容性:该象棋游戏是基于IOS平台开发的手机应用app,所以只能在iPhone 上运行

4、并发性:因软件相对较小,占有资源很少,所以对并发性的利用不高

3.1.3环境需求

1、硬件环境:Mac OS X Snow Leopard 10.6.2以上版本的Mac OS操作系统或者IOS 系统

2、软件环境:

1.开发工具:

(1)开发该软件使用的开发工具为Xcode6.0版本1

(2)开发该软件使用的开发语言为Objective-C等开发语言

2运行环境:

(1)该软件运行手机的版本为iPhone5s版本

(2)开发该软件运行的苹果系统为IOS7.0及其以上版本

3.2可行性分析

可行性分析的目的就是用最小的代价在尽可能短的时间内确定问题是否能够被有效解决。对于一个新系统的开发,需要从技术、经济、操作等多方面进行分析和研究,以避免开发者做无用功、投资者的投资失误,这样才能保证新软件的开发成功后有价值,中国象棋这个游戏也一样。

3.2.1技术可行性分析

技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬件、软件能否满足开发者的需要等等。本系统只要采用了Xcode6.0进行相关的开发,而Xcode是苹果系统软件开发的必要工具,其对编程平台和数据库的访问都做了很好的封装。

3.2.2经济可行性分析

经济的可行性主要是对项目的经济效益进行评价,此系统是作为一个毕业设计来提供的,不需要任何的经费,对于我们学校如果要将它上线的话,在经济上只需要很少的

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊经费,而且本系统正式使用后,将可以起到娱乐益智的目的

3.2.3操作可行性分析

本系统运行在苹果IOS操作系统上,用户只需下载该app并安装上手机即可安心使用这个软件了,而且在AppStore上我们免费提供下载,地从用户的利益出发,保证用户的权益。并且,该系统的所有操作只需要通过手指触摸来完成,这也大大降低了使用门槛,提高了它的灵活性和简洁性。因此,在操作的可行性上是没有问题的。

3.2.4结论

由技术可行性,经济可行性和操作可行性的研究,本项目是可以开发运行的。

3.3实体图

用户实体图如图3.2所示:

图3.2学生实体图

用户

移动

吃棋

将军

重置

悔棋

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

4 总体设计

这一章主要的是将这款游戏的几个部分的功能和运行流程说明一下,以便于用户了解。4.1系统功能

系统的功能主要分为两大模块,两个模块各管理着不同的进程,每个用户都能够在这两个模块之间进行各种操作,其用例图如图4.1所示;

吃棋

将军

用户

游戏进度模块

棋子模块

图4.1系统功能用例图

4.2能力模块设计

JSON数据解析出后,都是将获得的数据存储到模型中,然后再从模型中提取,这样有利于数据的不泄露,加强了数据的安全性。

具体情况如图4.2。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

图4.2 JSON数据处理模型

4.3用户操作模块

4.3.1用户吃棋模块

该模块主要是为用户吃棋设计的,在用户登录后进入游戏运行界面,可以开始对棋子进行操作,让棋子进行移动或者吃掉别的棋子。其运行的流程图如图4.3所示;

开始游戏

移动棋子

所要移动到的

位置是否有对

方棋子

消除原有button并

占据位置

消除自己并在将要

移动位置添加自己

的棋子

图4.3用户吃棋流程图

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊4.3.2用户将军模块

此模块主要是为了判断玩家是否处于将军的状态,并要求玩家移动棋子用以解除将军状态,其流程图如图4.4所示;

吃棋

将帅是否是被

吃的棋

移动棋子

是否移动了无

关的棋子

没有特殊限制的移

动棋子

移动棋子以解除将

军状态

弹出警告并禁止移

图4.4用户判定将军流程图

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

5. 系统详细设计与实现

较为详细的介绍这款中国象棋游戏的设计与实现的功能,是用户能够更加全面的了解这个作品,从而学会其中的原理和操作。

5.1游戏运行界面设计

图5.1为生活控制器界面,整个界面是个UICollectionViewController,每个控制器控制一个棋子,整个页面就是象棋游戏的全部运行和作用展示,最底端为两个游戏进度选项。整个界面设计的相当的简洁和明了,让用户可以一目了然的就知道了基本的所有操作和功能。

图5.1

5.2棋子移动设计

这里将举例说明棋子的移动规则设计和遇到特殊情况时,棋子无法随意移动的原因,其中就有如将帅不能碰面的规则,都是中国象棋的基本规则,已经被完善的考虑到了,如图5.2所示。还有当一方处于被将军的状态时,棋子的移动都会受到相应的限制,以解除将军为最前提。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

图5.2

-(void)chessClick:(id)btn

{

MyButton *b=btn;

int row=b.row;

int column=b.column;

// NSLog(@"%d %d",row,column);

ChessPiece *newCp=nil;

for(ChessPiece *cp in allChessArray)

{

//选中棋子

if(cp.row==row&&cp.column==column)

{

newCp=cp;

if(selectedChessPiece)//之前已经有棋子点击

{

if(selectedChessPiece==newCp)//是不是点击同一个棋子 {

[selectedChessPiece lostFocus];

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

selectedChessPiece=nil;

return;

}

else

{

if([selectedChessPiece canEat:newCp])

{

if(newCp==(ChessPiece *)[self.window

viewWithTag:1]||newCp==(ChessPiece *)[self.window viewWithTag:2])//被吃掉的是将帅

{

//弹出一个警告框

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"游戏结束"message:@"警告信息"delegate:self cancelButtonTitle:@"取消"otherButtonTitles:nil];

//显示警告视图

[alertView show];

[selectedChessPiece

setPosition:CGPointMake(row,column)];

[selectedChessPiece lostFocus];

selectedChessPiece=nil;

[newCp removeFromSuperview];

[allChessArray removeAllObjects];

return;

}

lastStepChessPiece=selectedChessPiece;

[selectedChessPiece

setPosition:CGPointMake(row,column)];

if([self jiangAndShuai])//YES 代表有棋子

{

lastBeEatenChessPiece=newCp;//保存被吃掉的棋子 [allChessArray removeObject:newCp];//从数组中删除被吃掉的棋子

[newCp removeFromSuperview];//从棋盘上删除被吃掉的棋子

_turn++;

_turn=_turn%2;

if(![self checkMate])//没有被将军的时候将check 清为0

{

precheck=check;

check=0;

}

}

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

else if(![self jiangAndShuai])

{

[selectedChessPiece

setPosition:CGPointMake(selectedChessPiece.prerow,selectedChessPiece.precol umn)];

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"将帅不能对面"message:@"警告信息"delegate:self cancelButtonTitle:@"取消"otherButtonTitles:nil];

//显示警告视图

[alertView show];

}

if([self checkMate])

{

if(check&&_turn!=color)

{//被将军时移动无关的棋子

[selectedChessPiece

setPosition:CGPointMake(selectedChessPiece.prerow,selectedChessPiece.precol umn)];

[self addSubview:lastBeEatenChessPiece];

lastBeEatenChessPiece=nil;

[allChessArray addObject:newCp];

_turn++;

_turn=_turn%2;

}

[self animation];

precolor=color;

check=1;

}

[selectedChessPiece lostFocus];

selectedChessPiece=nil;

return;

}

else

{

//不能吃子

if(selectedChessPiece.subType==newCp.subType)

{//如果点的都是同一中颜色的棋子

return;

}

[selectedChessPiece lostFocus];

selectedChessPiece=nil;

return;

}

}

相关主题
文本预览
相关文档 最新文档