自己动手写植物大战僵尸(iOS)

如题,本博文介绍如何用iOS UI创建一个植物大战僵尸的游戏,如有可能能后续可能会用cocos2d重构。

简述一下类的结构设计:

Model:

僵尸(抽象类)->各种僵尸

植物(抽象类)->各种植物

子弹,阳光

僵尸池,子弹池(享元模式,在内存中重用僵尸和子弹,而不是来回重复的释放和创建,能极大的提高程序的运行效率)

僵尸工厂,植物工厂(工厂模式,负责僵尸对象和植物对象的创建)

View:

各种UIView和UIImageview

Controller:

viewController

碰撞算法的优化:

注意睋,子弹仅需循环检测本行的僵尸,每个子弹都检测全屏幕所有僵尸是非常耗时且无意义的,并且最先发出子的往往最先打击到,最先出现的僵尸往往有最先被打击。根据这两个特点对子弹检测打击僵尸进行算法设计。

数据结构优化:

僵尸和子弹频繁的死亡和创建,所以选用链式存储较好。重复一下,最先发出子的往往最先打击到,最先出现的僵尸往往有最先被打击,所以我们是需要顺序的。所以采用有序链表

Talking is cheap,show me the code

https://github.com/RonTang/PlantVsZombie-iOS

你可能感兴趣的:(ios,Objective-C,植物大战僵尸)