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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 克莱斯勒 中级黑马   /  2015-9-11 21:24  /  1498 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

士兵射击那个题能不能打印出来"谁在用什么枪射击,剩余子弹是多少"?
能不能把NSLog放在最下边?

13 个回复

倒序浏览
应该可以吧
回复 使用道具 举报
可能可以。。。
回复 使用道具 举报

怎么搞?
回复 使用道具 举报

怎么搞?
回复 使用道具 举报

#include<Foundation/Foundation.h>
@interface Bullet: NSObject
{
    @public
    int _bulletcount;
    NSString *_model;
}
@end

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

@interface Person: NSObject
{
    @public
    NSString *name;
    int life;
    int level;
}
-(void)fire:(Gun *)Gun andBullet:(Bullet *) bullet;
@end


@implementation Bullet

@end

@implementation Gun
-(void)shoot:(Bullet *)bullet{
    if( bullet ->_bulletcount>0){
        bullet->_bulletcount--;
        NSLog(@"\n%@正在猛烈射击,子弹还剩%d发",_size,bullet->_bulletcount);
        
   
    }else{
        NSLog(@"\n子弹不够,请换子弹");
   
    }
   

}
@end

@implementation Person
-(void)fire:(Gun *)Gun andBullet:(Bullet *)bullet{

    [Gun shoot:bullet];
};

@end

int main(){
    Person *p1=[Person new];
    Gun *g1=[Gun new];
    g1->_size=@"小米加步枪";
    Bullet *b1=[Bullet new];
    b1->_bulletcount=3;
    [p1 fire:g1 andBullet:b1];
    [p1 fire:g1 andBullet:b1];
    [p1 fire:g1 andBullet:b1];
    [p1 fire:g1 andBullet:b1];
    [p1 fire:g1 andBullet:b1];
    return 0;
}

回复 使用道具 举报
pyy061 中级黑马 2015-9-11 22:32:17
7#

回复 使用道具 举报
学到了 ~~~~~~~~~~~~~
回复 使用道具 举报
这是oc后面的联系题吗?
回复 使用道具 举报
学习了。
回复 使用道具 举报
涨姿势。
回复 使用道具 举报
#import <Foundation/Foundation.h>

#pragma mark 子弹类的声明
@interface  Bullet:NSObject
{@public
    NSString * _size;   //子弹型号
    int _bulletCount;  //子弹数目
}

@end

#pragma mark 子弹类的实现
@implementation Bullet

@end





#pragma mark 枪类的声明

@interface Gun : NSObject
{//枪的属性
@public
    NSString * _size;
   
}
//枪的行为
-(void)fire:(Bullet *)bullet andName:(NSString *)_name;
@end

//枪类的实现  方法
#pragma mark 枪类的实现
@implementation Gun
//射击
-(void)fire:(Bullet *)bullet andName:(NSString *)_name{
    if(bullet->_bulletCount>0){
        bullet-> _bulletCount--;
        NSLog(@"%@用%@正在  突突的射击....,子弹剩余数:%d",_name,_size, bullet->_bulletCount);
        
    }else
        NSLog(@"子弹没有了,请放入子弹!!!");
   
}

@end

#pragma mark -
#pragma mark 人类的声明
@interface Soldier : NSObject
{//属性
@public
    NSString *_name;  //姓名
    int life;   //生命值
    int level;   //水平
}
//人的行为  开枪
-(void)kill:(Gun *)gun andBullet:(Bullet *) bullet andName:(NSString *)_name;

@end

#pragma mark 人类的实现
@implementation Soldier
//人的行为  让枪射击
-(void)kill:(Gun *)gun andBullet:(Bullet *) bullet andName:(NSString *)_name{
    [gun fire:bullet andName:@"许三多"];
}

@end



#pragma mark -

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //创建人的对象
        Soldier *per=[Soldier new];
        per->_name=@"许三多";
        per->life=99;
        per->level=3;
        //创建枪的对象
        Gun *gun=[Gun new];
        gun->_size=@"步枪";
        //创建子弹的对象
        Bullet *bullet=[Bullet new];
        bullet->_size=@"2mm的口径";
        bullet->_bulletCount=4;
        //战士开枪
        [per kill:gun andBullet:bullet andName:@"许三多"];
        
    }
    return 0;
}

运行结果如下:
2015-09-12 00:29:24.619 OC第2天[771:44307] 许三多用步枪正在  突突的射击....,子弹剩余数:3
回复 使用道具 举报
或许是可以的。。。
回复 使用道具 举报
tr2e 中级黑马 2015-9-13 20:50:22
14#
求教 你是自学还是上的辅导?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马