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;