现在的位置: 首页 > 综合 > 正文

小小小小小Hmt小战僵尸

2014年10月05日 ⁄ 综合 ⁄ 共 3968字 ⁄ 字号 评论关闭
// 普通僵尸
@interface CommonZombie : NSObject{

    NSString * _kind;
    int        _totalBlood;
    int        _everyDownBlood;
    BOOL       _state;
    
}

@property (nonatomic,copy) NSString * kind;        // 僵尸种类
@property (nonatomic,assign) int totalBlood;       // 僵尸总血量
@property (nonatomic,assign) int everyDownBlood;   // 僵尸每次失血量
@property (nonatomic,assign) BOOL state;           // 僵尸状态,YES为生,NO为死


- (id)initWithKind:(NSString *)kind TotalBlood:(int)totalblood EveryDownBlood:(int)everyDownBlood State:(BOOL)state;

- (void)sufferDownBlood;

- (void)isLiveOfDeath;

@end

@implementation CommonZombie

- (id)initWithKind:(NSString *)kind TotalBlood:(int)totalblood EveryDownBlood:(int)everyDownBlood State:(BOOL)state{
    
    if (self = [super init]) {
        _kind = kind;
        _totalBlood = totalblood;
        _everyDownBlood = everyDownBlood;
        _state = state;
    }
    
    return self;
}

- (void)sufferDownBlood{
    
    
    _totalBlood -= _everyDownBlood;
    if (_totalBlood > 0) {
        NSLog(@"%@僵尸被攻击了,掉了%i滴血,剩余%i滴血",_kind,_everyDownBlood,_totalBlood);
    } else {
        NSLog(@"%@僵尸被攻击了,掉了%i滴血,剩余0滴血",_kind,_everyDownBlood);
    }
    
}

- (void)isLiveOfDeath{
    
    if (_totalBlood < 0) {
        NSLog(@"普通僵尸死亡");
        _state = NO;
    }
    
    
}

@end

@interface BarricadeZombie : CommonZombie

@property (nonatomic,copy) NSString * prop;        // 僵尸道具
@property (nonatomic,copy) NSString * weakness;    // 僵尸弱点


- (id)initWithKind:(NSString *)kind TotalBlood:(int)totalblood State:(BOOL)state EveryDownBlood:(int)everyDownBlood Prop:(NSString *)prop Weakness:(NSString *)weakness;

// 遭受攻击掉血
- (void)sufferDownBlood;

// 是生是死
- (void)isLiveOfDeath;

@end

@implementation BarricadeZombie

- (id)initWithKind:(NSString *)kind TotalBlood:(int)totalblood State:(BOOL)state EveryDownBlood:(int)everyDownBlood Prop:(NSString *)prop Weakness:(NSString *)weakness{

    if (self = [super initWithKind:kind TotalBlood:totalblood EveryDownBlood:everyDownBlood State:state]) {
        
        _prop = prop;
        _weakness = weakness;
    
        
    }

    return self;
}


- (void)sufferDownBlood{
    
    
    if (_totalBlood > 40 && _totalBlood <= 80 ) {

        _totalBlood -= 2;
        NSLog(@"%@僵尸被攻击了,掉了%i滴血,剩余%i滴血",_kind,_everyDownBlood,_totalBlood);
    } else if(_totalBlood <= 40 && _totalBlood > 0){
        if (_totalBlood == 40) {
            NSLog(@"道具--路障掉了,僵尸现在流血由2滴血变成了3滴血");
        }
        _everyDownBlood = 3;
        _totalBlood -= 3;
        
        if (_totalBlood > 0) {
            NSLog(@"%@僵尸被攻击了,掉了%i滴血,剩余%i滴血",_kind,_everyDownBlood,_totalBlood);
        }else{
            NSLog(@"%@僵尸被攻击了,掉了%i滴血,剩余0滴血",_kind,_everyDownBlood);
        }
    }
    
}

- (void)isLiveOfDeath{
    
    if (_totalBlood < 0) {
        NSLog(@"路障僵尸死亡");
        _state = NO;
    }
    
    
}

@end

@interface IronDrunZombie : CommonZombie

// 铁桶僵尸
@property (nonatomic,copy) NSString * prop;        // 僵尸道具
@property (nonatomic,copy) NSString * weakness;    // 僵尸弱点

- (id)initWithKind:(NSString *)kind TotalBlood:(int)totalblood State:(BOOL)state EveryDownBlood:(int)everyDownBlood Prop:(NSString *)prop Weakness:(NSString *)weakness;

// 遭受攻击掉血
- (void)sufferDownBlood;

// 是生是死
- (void)isLiveOfDeath;

@end

@implementation IronDrunZombie

- (id)initWithKind:(NSString *)kind TotalBlood:(int)totalblood State:(BOOL)state EveryDownBlood:(int)everyDownBlood Prop:(NSString *)prop Weakness:(NSString *)weakness{
    
    if (self = [super initWithKind:kind TotalBlood:totalblood EveryDownBlood:everyDownBlood State:state]) {
        
        _prop = prop;
        _weakness = weakness;
        
        
    }
    
    return self;
}

- (void)sufferDownBlood{
    
    
    if (_totalBlood > 40 && _totalBlood <= 120 ) {
       
        _totalBlood -= 1;
        NSLog(@"%@僵尸被攻击了,掉了%i滴血,剩余%i滴血",_kind,_everyDownBlood,_totalBlood);
    } else if(_totalBlood <= 40 && _totalBlood > 0){
        if (_totalBlood == 40) {
            NSLog(@"道具--铁桶掉了,僵尸现在流血由1滴血变成了3滴血");
        }
        _everyDownBlood = 3;
        _totalBlood -= 3;
        
        if (_totalBlood > 0) {
            NSLog(@"%@僵尸被攻击了,掉了%i滴血,剩余%i滴血",_kind,_everyDownBlood,_totalBlood);
        }else{
            NSLog(@"%@僵尸被攻击了,掉了%i滴血,剩余0滴血",_kind,_everyDownBlood);
        }
    }
    
}

- (void)isLiveOfDeath{
    
    if (_totalBlood < 0) {
        NSLog(@"铁桶僵尸死亡");
        _state = NO;
    }
    
    
}

@end

int main(int argc, const char * argv[])
{
    
    @autoreleasepool {
        
        CommonZombie * HMT = [[CommonZombie alloc]initWithKind:@"普通僵尸" TotalBlood:50 EveryDownBlood:3 State:YES];
        BarricadeZombie * ZWS = [[BarricadeZombie alloc]initWithKind:@"路障僵尸" TotalBlood:80 State:YES EveryDownBlood:2  Prop:@"路障" Weakness:@"大喷蘑"];
        IronDrunZombie * ZWP = [[IronDrunZombie alloc]initWithKind:@"铁桶僵尸" TotalBlood:120 State:YES EveryDownBlood:1 Prop:@"铁桶" Weakness:@"磁铁蘑菇"];
       
        int count = 0;
        
        while (ZWP.state == YES) {
            if (HMT.state == YES) {
                [HMT sufferDownBlood];
                [HMT isLiveOfDeath];
            }
            if (ZWS.state == YES) {
                [ZWS sufferDownBlood];
                [ZWS isLiveOfDeath];
            }
            [ZWP sufferDownBlood];
            [ZWP isLiveOfDeath];
            count++;
        }
        
        NSLog(@"一共攻击了%i次",count);
        
        
        
    }
    return 0;
}

【上篇】
【下篇】

抱歉!评论已关闭.