//释放闪电链 monster.kind = 1; break; case 2: //致命一击 monster.kind = 2; break; case 3: //使用梅肯斯姆回复 monster.kind = 3; break; case 4: //逃跑 monster.kind = 4; break; } } } //第26~30个画面时显示玩家攻击图标 if(f>=26 && f<=30) { switch(monster.kind) { case 0: //利爪攻击 SelectObject(bufdc,slash); BitBlt(mdc,480,150,98,162,bufdc,98,0,SRCAND); BitBlt(mdc,480,150,98,162,bufdc,0,0,SRCPAINT); //第30个画面时计算玩家受伤害程度并加入显示消息 if(f == 30) { damage = rand()%10 + monster.lv*monster.w; player.nHp -= (int)damage; sprintf(str,"怪物利爪攻击...对玩家照成 %d 点伤害",damage); MsgInsert(str); CheckDie(player.nHp,true); } break; case 1: //释放闪电链 SelectObject(bufdc,magic); BitBlt(mdc,480,190,100,100,bufdc,100,0,SRCAND); BitBlt(mdc,480,190,100,100,bufdc,0,0,SRCPAINT); //第30个画面时计算玩家受伤害程度并加入显示消息 if(f == 30) { damage = rand()%10 + 3*monster.w; player.nHp -= (int)damage; sprintf(str,"怪物释放闪电链...对玩家照成 %d 点伤害",damage); MsgInsert(str); CheckDie(player.nHp,true); } break; case 2: //致命一击 SelectObject(bufdc,slash); BitBlt(mdc,480,150,98,162,bufdc,98,0,SRCAND); BitBlt(mdc,480,150,98,162,bufdc,0,0,SRCPAINT); //第30个画面时计算玩家受伤害程度并加入显示消息 if(f == 30) { damage = rand()%10 + monster.lv*monster.w*5; player.nHp -= (int)damage; sprintf(str,"怪物致命一击...对玩家照成 %d 点伤害.",damage); MsgInsert(str); CheckDie(player.nHp,true); } break; case 3: //使用梅肯斯姆补血 SelectObject(bufdc,recover); BitBlt(mdc,60,160,150,150,bufdc,150,0,SRCAND); BitBlt(mdc,60,160,150,150,bufdc,0,0,SRCPAINT); //第30个画面时怪物回复生命值并加入显示消息 if(f == 30) { monster.nHp += 30; |