📄 bullet.cpp
字号:
#include ".\bullet.h"
extern bool CheckLimit(COORD _pos , char type , char act);
CBullet::CBullet(HANDLE _hOut)
{
hOut=_hOut;
m_iID=10;
chBullet=0x2E;
chVoid=0x20;
}
CBullet::~CBullet(void)
{
}
void CBullet::Render()
{
for (int i=0 ; i<vecPlayerDownBullet.size() ; i++)
{
WriteConsoleOutputCharacter(hOut , &chVoid , 1 , vecPlayerDownBullet[i].oldcoord , &result);
WriteConsoleOutputCharacter(hOut , &vecPlayerDownBullet[i].chBullet , 1 , vecPlayerDownBullet[i].newcoord , &result);
vecPlayerDownBullet[i].oldcoord.X=vecPlayerDownBullet[i].newcoord.X;
vecPlayerDownBullet[i].oldcoord.Y=vecPlayerDownBullet[i].newcoord.Y;
}
for (int i=0 ; i<vecPlayerUpBullet.size() ; i++)
{
WriteConsoleOutputCharacter(hOut , &chVoid , 1 , vecPlayerUpBullet[i].oldcoord , &result);
WriteConsoleOutputCharacter(hOut , &vecPlayerUpBullet[i].chBullet , 1 , vecPlayerUpBullet[i].newcoord , &result);
vecPlayerUpBullet[i].oldcoord.X=vecPlayerUpBullet[i].newcoord.X;
vecPlayerUpBullet[i].oldcoord.Y=vecPlayerUpBullet[i].newcoord.Y;
}
}
void CBullet::UpData(char type)
{
for (int i=0 ; i<vecPlayerDownBullet.size() ; i++)
{
vecPlayerDownBullet[i].newcoord.X+=vecPlayerDownBullet[i].iAngleX;
vecPlayerDownBullet[i].newcoord.Y+=vecPlayerDownBullet[i].iAngleY;
}
for (int i=0 ; i<vecPlayerUpBullet.size() ; i++)
{
vecPlayerUpBullet[i].newcoord.X+=vecPlayerUpBullet[i].iAngleX;
vecPlayerUpBullet[i].newcoord.Y+=vecPlayerUpBullet[i].iAngleY;
}
for (int i=0 ; i<vecPlayerDownBullet.size() ; i++)
{
if (CheckLimit(vecPlayerDownBullet[i].newcoord , BULLET_PLAYER_DOWN , ACT_NULL))
{
if (type==CLIENT_ACT)
{
WriteConsoleOutputCharacter(hOut , &chVoid , 1 , vecPlayerDownBullet[i].oldcoord , &result);
}
vecPlayerDownBullet.erase(&vecPlayerDownBullet[i]);
}
}
for (int i=0 ; i<vecPlayerUpBullet.size() ; i++)
{
if (CheckLimit(vecPlayerUpBullet[i].newcoord , BULLET_PLAYER_UP , ACT_NULL))
{
if (type==CLIENT_ACT)
{
WriteConsoleOutputCharacter(hOut , &chVoid , 1 , vecPlayerUpBullet[i].oldcoord , &result);
}
vecPlayerUpBullet.erase(&vecPlayerUpBullet[i]);
}
}
}
int CBullet::Fire(CPlayer player)
{
int iReturn;
BULLET bullet;
bullet.chBullet=chBullet;
bullet.iAngleX=0;
bullet.id=m_iID;
iReturn=m_iID;
bullet.newcoord=player.newcoord;
bullet.newcoord.X++;
if (player.m_iType==PLAYER_DOWN)
{
bullet.iAngleY=-1;
vecPlayerDownBullet.push_back(bullet);
}
else if(player.m_iType==PLAYER_UP)
{
bullet.iAngleY=1;
vecPlayerUpBullet.push_back(bullet);
}
m_iID++;
if(m_iID>5000)
{
m_iID=0;
}
return iReturn;
}
bool CBullet::DelBullet(int _id)
{
for (int i=0 ; i<vecPlayerDownBullet.size() ; i++)
{
if (vecPlayerDownBullet[i].id==_id)
{
WriteConsoleOutputCharacter(hOut , &chVoid , 1 , vecPlayerDownBullet[i].oldcoord , &result);
vecPlayerDownBullet.erase(&vecPlayerDownBullet[i]);
i--;
return true;
}
}
for (int i=0 ; i<vecPlayerUpBullet.size() ; i++)
{
if (vecPlayerUpBullet[i].id==_id)
{
WriteConsoleOutputCharacter(hOut , &chVoid , 1 , vecPlayerUpBullet[i].oldcoord , &result);
vecPlayerUpBullet.erase(&vecPlayerUpBullet[i]);
i--;
return true;
}
}
return false;
}
//void CBullet::FireUlt(CPlane* player)
//{
// static int iFireUltTime=0;
// if (iFireUltTime==0)
// {
// if(GetAsyncKeyState(0x4B))
// {
// iFireUltTime=100;
// }
// }
// if (iFireUltTime>99)
// {
// iFireUltTime++;
// }
// if (iFireUltTime>99 && iFireUltTime%2==0)
// {
// BULLET bullet1,bullet2,bullet3,bullet4,bullet5,bullet6,bullet7;
// bullet1.newcoord.X=player->newcoord.X;
// bullet1.oldcoord.X=player->oldcoord.X;
// bullet1.newcoord.Y=player->newcoord.Y;
// bullet1.oldcoord.Y=player->oldcoord.Y;
// Sleep(2);
// srand(time(0));
// bullet1.cBullet=(char)GetRandom(1,128);
// bullet1.iAngleX=-3;
// vecBullet.push_back(bullet1);
//
// bullet2.newcoord.X=player->newcoord.X;
// bullet2.oldcoord.X=player->oldcoord.X;
// bullet2.newcoord.Y=player->newcoord.Y;
// bullet2.oldcoord.Y=player->oldcoord.Y;
// Sleep(2);
// srand(time(0));
// bullet2.cBullet=(char)GetRandom(1,128);
// bullet2.iAngleX=-2;
// vecBullet.push_back(bullet2);
//
// bullet3.newcoord.X=player->newcoord.X;
// bullet3.oldcoord.X=player->oldcoord.X;
// bullet3.newcoord.Y=player->newcoord.Y;
// bullet3.oldcoord.Y=player->oldcoord.Y;
// Sleep(2);
// srand(time(0));
// bullet3.cBullet=(char)GetRandom(1,128);
// bullet3.iAngleX=-1;
// vecBullet.push_back(bullet3);
//
// bullet4.newcoord.X=player->newcoord.X;
// bullet4.oldcoord.X=player->oldcoord.X;
// bullet4.newcoord.Y=player->newcoord.Y;
// bullet4.oldcoord.Y=player->oldcoord.Y;
// Sleep(2);
// srand(time(0));
// bullet4.cBullet=(char)GetRandom(1,128);
// bullet4.iAngleX=0;
// vecBullet.push_back(bullet4);
//
// bullet5.newcoord.X=player->newcoord.X;
// bullet5.oldcoord.X=player->oldcoord.X;
// bullet5.newcoord.Y=player->newcoord.Y;
// bullet5.oldcoord.Y=player->oldcoord.Y;
// Sleep(2);
// srand(time(0));
// bullet5.cBullet=(char)GetRandom(1,128);
// bullet5.iAngleX=1;
// vecBullet.push_back(bullet5);
//
// bullet6.newcoord.X=player->newcoord.X;
// bullet6.oldcoord.X=player->oldcoord.X;
// bullet6.newcoord.Y=player->newcoord.Y;
// bullet6.oldcoord.Y=player->oldcoord.Y;
// Sleep(2);
// srand(time(0));
// bullet6.cBullet=(char)GetRandom(1,128);
// bullet6.iAngleX=2;
// vecBullet.push_back(bullet6);
//
// bullet7.newcoord.X=player->newcoord.X;
// bullet7.oldcoord.X=player->oldcoord.X;
// bullet7.newcoord.Y=player->newcoord.Y;
// bullet7.oldcoord.Y=player->oldcoord.Y;
// Sleep(2);
// srand(time(0));
// bullet7.cBullet=(char)GetRandom(1,128);
// bullet7.iAngleX=3;
// vecBullet.push_back(bullet7);
// }
// if (iFireUltTime>118)
// {
// iFireUltTime=0;
// }
//}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -