打僵尸。需求:
1、定义普通僵尸类:
实例变量:僵尸种类、僵尸总血量、僵尸每次失血量。
方法:初始化方法(设置僵尸种类,总血量)、被打击失血、死亡。
2、定义路障僵尸类:
实例变量:僵尸种类、僵尸总血量、僵尸每次失血量,道具,弱点。
方法:初始化方法(设置僵尸种类,总血量)、被打击失血、失去装备、死亡。
3、定义铁桶僵尸类:
实例变量:僵尸种类、僵尸总血量、僵尸每次失血量,道具,弱点。
方法:初始化方法(设置僵尸种类,总血量)、被打击失血、失去装备、死亡。
4、在main.m中创建普通僵尸对象,设置总血量50,每次失血量为 3,没有道具。
5、在main.m中创建路障僵尸对象,设置总血量80,每次失血量为 2,设置道具为路障。
1、定义普通僵尸类:
实例变量:僵尸种类、僵尸总血量、僵尸每次失血量。
方法:初始化方法(设置僵尸种类,总血量)、被打击失血、死亡。
2、定义路障僵尸类:
实例变量:僵尸种类、僵尸总血量、僵尸每次失血量,道具,弱点。
方法:初始化方法(设置僵尸种类,总血量)、被打击失血、失去装备、死亡。
3、定义铁桶僵尸类:
实例变量:僵尸种类、僵尸总血量、僵尸每次失血量,道具,弱点。
方法:初始化方法(设置僵尸种类,总血量)、被打击失血、失去装备、死亡。
4、在main.m中创建普通僵尸对象,设置总血量50,每次失血量为 3,没有道具。
5、在main.m中创建路障僵尸对象,设置总血量80,每次失血量为 2,设置道具为路障。
6、在main.m中创建铁桶僵尸对象,设置总血量120,每次失血量为 1,设置道具为铁桶。
main 函数
#import <Foundation/Foundation.h>
#import "CommonZombie.h"
#import "RoadblockZombie.h"
#import "IronDrumZombie.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
//定义三个僵尸对象 然后初始化
CommonZombie *CZ = [[CommonZombie alloc]initWithBlood:50 loseBlood:3];
RoadblockZombie *RZ = [[RoadblockZombie alloc]initWithBlood:80 loseBlood:2];
IronDrumZombie *IDB = [[IronDrumZombie alloc]initWithBlood:120 loseBlood:1];
//打击普通僵尸
NSInteger blood = [CZ blood];//通过getter方法得到总血量赋给blood
NSLog(@"开战吧");
while (blood > 0) {
NSLog(@"啊,,好疼");//收到伤寒
[CZ setBLood:[CZ beated]];//总血量减少
blood = [CZ blood];
}
if (blood <= 0) {
[CZ die];
}
//打击路障僵尸
[RZ setProps:@"路障"];
blood = [RZ blood];//通过getter方法得到总血量赋给blood
while (blood > 0) {
NSLog(@"啊,,好疼");//受到伤害
if (blood <= 50) {
[RZ loseProps];//失去装备
[RZ setLoseBlood:[CZ loseBlood]];//失去装备后掉血变为和普通僵尸一样
}
[RZ setBLood:[RZ beated]];//总血量减少
blood = [RZ blood];
}
if (blood <= 0) {
[RZ die];
}
//打击铁桶僵尸
[IDB setProps:@"铁桶"];
blood = [IDB blood];//通过getter方法得到总血量赋给blood
while (blood > 0) {
NSLog(@"啊,,好疼");//受到伤害
if (blood <= 50) {
[IDB loseProps];//失去装备
[IDB setLoseBlood:[CZ loseBlood]];//失去装备后掉血变为和普通僵尸一样
}
[IDB setBLood:[RZ beated]];//总血量减少
blood = [IDB blood];
}
if (blood <= 0) {
[IDB die];
}
}
return 0;
}
CommonZombie.m
#import "CommonZombie.h"
@implementation CommonZombie
- (id)initWithBlood:(NSInteger)blood loseBlood:(NSInteger)loseBlood{
_blood = blood;
_loseBlood = loseBlood;
return self;
}//初始化僵尸种类总血量
- (NSInteger)beated{
return _blood - _loseBlood;
}//每次被打失血
- (void)setBLood:(NSInteger)blood{
_blood = blood;
}//设置总血量
- (NSInteger)blood{
return _blood;
}//获得总血量
- (NSInteger)loseBlood{
return _loseBlood;
}//得到失血量
- (void)die{
NSLog(@"我还会回来的.....");
}
@end
RoadblockZombie.m
#import "RoadblockZombie.h"
@implementation RoadblockZombie
- (id)initWithBlood:(NSInteger)blood loseBlood:(NSInteger)loseBlood{
_blood = blood;
_loseBlood = loseBlood;
return self;
}//初始化僵尸种类总血量//初始化僵尸种类总血量
- (NSInteger)beated{
return _blood - _loseBlood;
}//每次被打失血
- (void)setBLood:(NSInteger)blood{
_blood = blood;
}//设置总血量
- (void)loseProps{
_props = Nil;
}//失去装备
- (void)setProps:(NSString*)props{
_props = props;
}
- (NSInteger)blood{
return _blood;
}//获得总血量
- (void)setLoseBlood:(NSInteger)loseBlood{
_loseBlood = loseBlood;
}//设置失血量
- (void)die{
NSLog(@"我路障僵尸还会回来的.....");
}//死亡
IronDrumZombie.m
#import "IronDrumZombie.h"
@implementation IronDrumZombie
- (id)initWithBlood:(NSInteger)blood loseBlood:(NSInteger)loseBlood{
_blood = blood;
_loseBlood = loseBlood;
return self;
}//初始化僵尸种类总血量//初始化僵尸种类总血量
- (NSInteger)beated{
return _blood - _loseBlood;
}//每次被打失血
- (void)setBLood:(NSInteger)blood{
_blood = blood;
}//设置总血量
- (void)loseProps//设置道具
{
_props = Nil;
}//失去装备
- (NSInteger)blood{
return _blood;
}//获得总血量
- (void)setLoseBlood:(NSInteger)loseBlood{
_loseBlood = loseBlood;
}//设置失血量
- (void)setProps:(NSString*)props{
_props = props;
}
- (void)die{
NSLog(@"我铁桶僵尸还会回来的.....");
}//死亡
@end