A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

士兵开枪,枪发射子弹 的一个实现
#import <Foundation/Foundation.h>
@interface Bullet: NSObject
{
@public
    NSString *_size;
   
    int _bulletcount;
   
}

@end
@implementation Bullet

@end

@interface Gun : NSObject
{
@public
    NSString *_size;
}
-(void)shoot:(Bullet *) bullet;
@end

@implementation Gun
-(void)shoot:(Bullet *) bullet{
    if (bullet->_bulletcount>0){
        bullet->_bulletcount--;
        NSLog(@"%@正在射击,剩余子弹%d",_size,bullet->_bulletcount);
    }else{
        NSLog(@"没子弹了,请添加子弹");
    }
}
@end

@interface Solider : NSObject
{
@public
    NSString *_name;
    int _life;
    int _level;
}
-(void)fire:(Gun *)gun andBullet:(Bullet *) bullet;
@end

@implementation Solider
-(void)fire:(Gun *)gun andBullet:(Bullet *) bullet{
    [gun shoot:bullet];
}
@end
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Solider *s=[Solider new];
        s->_name=@"kaiyi";
        s->_level=80;
        s->_life=5000;
        
        Gun *gun=[Gun new];
        gun->_size=@"机关枪";
        
        Bullet *bullet=[Bullet new];
        bullet->_size=@"A1";
        bullet->_bulletcount=2;
        [s fire:gun andBullet:bullet];
        [s fire:gun andBullet:bullet];
        [s fire:gun andBullet:bullet];
    }
    return 0;
}

评分

参与人数 1黑马币 +7 收起 理由
a124113798 + 7 很给力!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马