Objective-C学习练习

/*打僵尸。需求:

1、定义普通僵尸类:

实例变量:僵尸总血量、僵尸每次失血量。

方法:初始化方法(总血量)、被打击失血、死亡。

2、定义路障僵尸类:

实例变量:僵尸总血量、僵尸每次失血量,道具,弱点。

方法:初始化方法(总血量)、被打击失血、失去装备、死亡。

3、定义铁桶僵尸类:

实例变量:僵尸总血量、僵尸每次失血量,道具,弱点。

方法:初始化方法(总血量)、被打击失血、失去装备、死亡。

4、在main.m中创建普通僵尸对象,设置总血量50,每次失血量为 3,没有道具。

5、在main.m中创建路障僵尸对象,设置总血量80,每次失血量为 2,设置道具为路障。

6、在main.m中创建铁桶僵尸对象,设置总血量120,每次失血量为 1,设置道具为铁桶。

7. main.m中模拟打僵尸的过程(通过方法调用),打死三个僵尸,提示游戏通过。

提示:每次失血,就相当于赋值操作,每次失血之后判断是否死亡

增加趣味性,可以出现暴击”,”闪避等效果。多数以NSLog输出为游戏提示。

 */


#import <Foundation/Foundation.h>

#import "Zombie.h"

#import "tietongZambie.h"

#import "luzhangZanbie.h"


int main(int argc, const char * argv[]) {

    @autoreleasepool {

        /*普通僵尸*/

        

        Zombie *zombie1 = [[Zombie alloc]initWithHP:50];

        [zombie1 setEveryTimeLossHP:3];

        while (1) {

            if ([zombie1 HP] ==  0) {

                [zombie1 death];

                break;

            }

            [zombie1 attacked];

        }

        

    

        /*铁桶僵尸*/

        

        tietongZambie *zombie2 = [[tietongZambie alloc ] initWithHP:80];

        [zombie2 setEveryLossHP:1];

        [zombie2 setEquipment:@"铁桶"];

        while (1) {

            if ([zombie2 HP] <= 50) {

                [zombie2 lossEquipment];

                [zombie2 setEveryLossHP:[zombie1 everyTimeLossHP]];

                    break;

                }

                [zombie2 attacked];

                

            }

        while (1) {

            if ([zombie2 HP] == 0) {

                [zombie2 death];

                break;

            }

            [zombie2 attacked];

        }

        

        

        

        

        /*路障僵尸*/

        

        luzhangZanbie *zombie3 = [[luzhangZanbie alloc]initWithHP:100];

        [zombie3 setEveryLossHP:2];

        [zombie3 setEquipment:@"路障"];

        

        while (1) {

            if ([zombie3 HP] <= 50) {

                [zombie3 lossEquipment];

                [zombie3 setEveryLossHP:[zombie1 everyTimeLossHP]];

                

                break;

            }

            [zombie3 attacked];

        }

        

        while (1) {

            if ([zombie3 HP] == 0) {

                [zombie3 death];

                break;

            }

            [zombie3 attacked];

        }

        

    }

    

    

    return 0;

}







#import <Foundation/Foundation.h>


@interface Zombie : NSObject

{

    //总血量

    NSInteger _HP;

    //每次失血

    NSInteger _everyTimeLossHP;

    //道具

    NSString *_equipment;

    //弱点

    NSString *_weakness;


}


-(void)setHP : (NSInteger)HP;

-(NSInteger)HP;


-(void)setEveryTimeLossHP : (NSInteger)everyTimeLossHP;

-(NSInteger)everyTimeLossHP;



/*初始化方法*/

-(id)initWithHP : (NSInteger)HP;


/*被打击流血*/

-(void)attacked;


/*死亡*/

-(void)death;

@end






#import "Zombie.h"


@implementation Zombie

-(void)setHP:(NSInteger)HP{

    _HP = HP;

}

-(NSInteger)HP{


    return _HP;

}



-(void)setEveryTimeLossHP:(NSInteger)everyTimeLossHP{

    _everyTimeLossHP = everyTimeLossHP;

}

-(NSInteger)everyTimeLossHP{

    return _everyTimeLossHP;

}


-(id)initWithHP:(NSInteger)HP{

    _HP = HP;

    return self;


}


-(void)attacked{

    _HP = _HP - _everyTimeLossHP;

    

    if (_HP <= 0) {

        _HP = 0;

    }


    NSLog(@"剩余血量: %ld",_HP);

}


-(void)death{


    NSLog(@"普通僵尸,死亡");

}



@end






#import <Foundation/Foundation.h>


@interface tietongZambie : NSObject

{

    NSInteger _HP;

    NSInteger _everyLossHP;

    //道具

    NSString *_equipment;

    //弱点

    NSString *_weakness;

    

    

    

    

}


-(void)setHP: (NSInteger)HP;

-(NSInteger)HP;


-(void)setEveryLossHP:(NSInteger)everyLossHP;

-(NSInteger)everyLossHP;


-(void)setEquipment:(NSString *)equipment;

-(NSString *)equipment;


-(void)setWeakness:(NSString *)weakness;

-(NSString *)weakness;


-(id)initWithHP:(NSInteger)HP;


-(void)attacked;


-(void)death;


-(void)lossEquipment;


@end


#import "tietongZambie.h"


@implementation tietongZambie

-(void)setHP:(NSInteger)HP{

    _HP = HP;

    

}

-(NSInteger)HP{

    return _HP;

}


-(void)setEveryLossHP:(NSInteger)everyLossHP{


    _everyLossHP = everyLossHP;

    

}

-(NSInteger)everyLossHP{

    return _everyLossHP;

}


-(void)setEquipment:(NSString *)equipment{

    _equipment = equipment;

}

-(NSString *)equipment{

    return  _equipment;

}


-(void)setWeakness:(NSString *)weakness{

    _weakness = weakness;

}

-(NSString *)weakness{

    return _weakness;

}


-(id)initWithHP:(NSInteger)HP{

    _HP = HP;

    return self;

}


-(void)attacked{

    _HP = _HP - _everyLossHP;

    

    if (_HP <= 0) {

        _HP = 0;

    }

    NSLog(@"剩余血量: %ld",_HP);

}


-(void)death{

    NSLog(@"铁桶僵尸死亡");

}


-(void)lossEquipment{

    NSLog(@"铁桶僵尸 失去装备");

}

@end







#import <Foundation/Foundation.h>


@interface luzhangZanbie : NSObject

{



   

        NSInteger _HP;

        NSInteger _everyLossHP;

        //道具

        NSString *_equipment;

        //弱点

        NSString *_weakness;

        

        

        

        

    }

    

    -(void)setHP: (NSInteger)HP;

    -(NSInteger)HP;

    

    -(void)setEveryLossHP:(NSInteger)everyLossHP;

    -(NSInteger)everyLossHP;

    

    -(void)setEquipment:(NSString *)equipment;

    -(NSString *)equipment;

    

    -(void)setWeakness:(NSString *)weakness;

    -(NSString *)weakness;

    

    -(id)initWithHP:(NSInteger)HP;

    

    -(void)attacked;

    

    -(void)death;

    

    -(void)lossEquipment;

    



@end




#import "luzhangZanbie.h"


@implementation luzhangZanbie

-(void)setHP:(NSInteger)HP{

    _HP = HP;


}

-(NSInteger)HP{

    return _HP;

}


-(void)setEveryLossHP:(NSInteger)everyLossHP{

    

    _everyLossHP = everyLossHP;

    

}

-(NSInteger)everyLossHP{

    return _everyLossHP;

}


-(void)setEquipment:(NSString *)equipment{

    _equipment = equipment;

}

-(NSString *)equipment{

    return  _equipment;

}


-(void)setWeakness:(NSString *)weakness{

    _weakness = weakness;

}

-(NSString *)weakness{

    return _weakness;

}


-(id)initWithHP:(NSInteger)HP{

    _HP = HP;

    return self;

}


-(void)attacked{

    _HP = _HP - _everyLossHP;

    

    if (_HP <= 0) {

        _HP = 0;

    }

    NSLog(@"剩余血量: %ld",_HP);

}


-(void)death{

    NSLog(@"路障僵尸死亡");

}


-(void)lossEquipment{

    NSLog(@"路障僵尸 失去装备");

}


@end




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值