OC:打僵尸問(wèn)題(類的問(wèn)題)??

  • 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。
1、定義普通僵尸類:

實(shí)例變量:僵尸種類、僵尸總血量、僵尸每次失血量。

方法:初始化方法(設(shè)置僵尸種類,總血量)、被打擊失血、死亡。

2、定義路障僵尸類:

實(shí)例變量:僵尸種類、僵尸總血量、僵尸每次失血量,道具,弱點(diǎn)。

方法:初始化方法(設(shè)置僵尸種類,總血量)、被打擊失血、失去裝備、死亡。

3、定義鐵桶僵尸類:

實(shí)例變量:僵尸種類、僵尸總血量、僵尸每次失血量,道具,弱點(diǎn)。

方法:初始化方法(設(shè)置僵尸種類,總血量)、被打擊失血、失去裝備、死亡。

4、在main.m中創(chuàng)建普通僵尸對(duì)象,設(shè)置總血量50,每次失血量為 3,沒(méi)有道具。
5、在main.m中創(chuàng)建路障僵尸對(duì)象,設(shè)置總血量80,每次失血量為 2,設(shè)置道具為路障。
6、在main.m中創(chuàng)建鐵桶僵尸對(duì)象,設(shè)置總血量120,每次失血量為 1,設(shè)置道具為鐵桶。
//main.m文件
#import #import "CommonZombie.h" 
#import "BarrierZombie.h" 
#import "BucketZombie.h" 

int main(int argc, const char * argv[]) 
{ 
    @autoreleasepool { 
    
    //創(chuàng)建普通僵尸對(duì)象 
    CommonZombie *xiaoGuang = [[CommonZombie alloc] initWithKind:@"普通僵尸" totalBlood:50]; 
    
    //設(shè)置每次失血量 
    [xiaoGuang setReduceBlood:3]; 
    
    //創(chuàng)建路障僵尸 
    BarrierZombie *xiaoMeng = [[BarrierZombie alloc] initWithKind:@"路障僵尸" totalBlood:80]; 
  
    //設(shè)置每次失血量 
    [xiaoMeng setReduceBlood:2]; 

    //設(shè)置裝備 
    [xiaoMeng setProp:@"路障"]; 

    //創(chuàng)建鐵桶僵尸 
    BucketZombie *xiaoCui = [[BucketZombie alloc] initWithKind:@"鐵桶僵尸" totalBlood:120]; 

    //設(shè)置每次失血量 
    [xiaoCui setReduceBlood:1]; 

    //設(shè)置裝備 [xiaoCui setProp:@"鐵桶"]; 
  } 
return 0; 
}```


//普通僵尸CommonZombie.m文件

import "CommonZombie.h"

@implementation CommonZombie

//customized init method 
  • (id)initWithKind:(NSString *)kind totalBlood:(NSInteger)totalBlood
    {
    _kind = kind;

    _totalBlood = totalBlood;

    return self;
    }

//失血

  • (void)loseBlood
    {
    NSLog(@"哎呀,哎呀,要死啦要死啦,掉了3滴血");

    _totalBlood -= _reduceBlood;
    }

//死亡

  • (void)death
    {
    NSLog(@"哎呀,哎呀,死啦死啦,這次是真死啦");
    }

//設(shè)置每次的失血量

  • (void)setReduceBlood:(NSInteger)reduceBlood
    {
    _reduceBlood = reduceBlood;
    }
    @end```
//路障僵尸BarrierZombie.m

#import "BarrierZombie.h" 
@implementation BarrierZombie 
//customized init method 
- (id)initWithKind:(NSString *)kind totalBlood:(NSInteger)totalBlood 
{ 
    _kind = kind; 
    
    _totalBlood = totalBlood; 
    
    return self; 
} 

//失血 
- (void)loseBlood 
{ 
    NSLog(@"哎呀,哎呀,要死啦要死啦,掉了3滴血"); 

    _totalBlood -= _reduceBlood; 
} 

//死亡 
- (void)death 
{ 
    NSLog(@"哎呀,哎呀,死啦死啦,這次是真死啦"); 
} 

//失去裝備 
- (void)loseProp 
{ 
    NSLog(@"哎呀,哎呀,要死啦,要死啦,裝備沒(méi)了"); 
} 

//設(shè)置每次的失血量 
- (void)setReduceBlood:(NSInteger)reduceBlood 
{ 
    _reduceBlood = reduceBlood; 
} 

//設(shè)置裝備 
- (void)setProp:(NSString *)prop 
{ 
    _prop = prop; 
} 
@end```


//鐵桶僵尸BucketZombie.m

import "BucketZombie.h"

@implementation BucketZombie

//customized init method

  • (id)initWithKind:(NSString *)kind totalBlood:(NSInteger)totalBlood
    {
    _kind = kind;

    _totalBlood = totalBlood;

    return self;
    }

//失血

  • (void)loseBlood
    {
    NSLog(@"哎呀,哎呀,要死啦要死啦,掉了3滴血");

    _totalBlood -= _reduceBlood;
    }

//死亡

  • (void)death
    {
    NSLog(@"哎呀,哎呀,死啦死啦,這次是真死啦");
    }

//失去裝備

  • (void)loseProp
    {
    NSLog(@"哎呀,哎呀,要死啦,要死啦,裝備沒(méi)了");
    }

//設(shè)置每次的失血量

  • (void)setReduceBlood:(NSInteger)reduceBlood
    {
    _reduceBlood = reduceBlood;
    }

//設(shè)置裝備

  • (void)setProp:(NSString *)prop
    {
    _prop = prop;
    }
    @end```
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容