OC-小游戏

计时器

    //计时器的存在是需要一个环境,环境就是NSRunLoop
    [[NSRunLoop currentRunLoop]run];
    -(void)startAttackWithMonster:(Monster *)monster{

_monster = monster;

//计时器,就是死循环
[NSTimer scheduledTimerWithTimeInterval:1.0
                                 target:self
                               selector:@selector(attackMonster:)
                               userInfo:nil repeats:YES];
}

/* 时间:表示执行方法的时间间隔 target:执行方法的主体 selector:表示被执行的方法 useInfo:传入的参数 repeats:是否重复 */

-(void)attackMonster:(NSTimer *)timer{
NSLog(@"英雄攻击怪兽");

_monster.curHp -= (self.attackNo - _monster.defenseNo);
self.curHp -= (_monster.attackNo - self.defense);

NSLog(@"英雄当前的血量%f,怪兽当前的血量是%f",self.curHp,_monster.curHp);


if (self.curHp <= 0){
    NSLog(@"英雄被打死了");
    //停止计时器
    [timer invalidate];
}

if (_monster.curHp <= 0){
    NSLog(@"怪物被打死啦");
    //a += b  a=a+b
    _curExperienceNo += _monster.experiencesNo;

    if (_curExperienceNo >= _levelExperienceNo){

        NSLog(@"爸爸你升级啦!");

    }

    _curExperienceNo -= _curExperienceNo - _levelExperienceNo;

    self.level++;
    //_level++ 没用到设置器的话只等级增加 攻击力什么的都不会增加




NSLog(@"英雄的等级为%ld,英雄的攻击力为%f,英雄的防御力为:%f",self.level,self.attackNo,self.defense);

停止计时器

[timer invalidate];
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值