A
Läuft, nochmals Danke an alle, die mir geholfen haben!
void C2D_GameManager::CreateRandomQuadrats(LPDIRECT3DDEVICE9 lpDevice, LPDIRECT3DTEXTURE9 Texture, int Count)
{
m_Quadrat_Amount = 0;
m_lpD3DDevice = lpDevice;
while(m_Quadrat_Amount <= Count)
{
Quadrat_Overlap = false;
m_QRX = 1 + rand() % (1000 - 1 + 1); // Zufallszahl fürs neue Quadrat
m_QRY = 1 + rand() % (700 - 1 + 1);
for (it = Quadrats.begin(); it!=Quadrats.end(); it++)
{
Radius = 70; // Radius der Texturen ist immer 70
CenterX1 = m_QRX + Radius;
CenterY1 = m_QRY + Radius;
CenterX2 = (*it)->GetPositionX() + Radius;
CenterY2 = (*it)->GetPositionY() + Radius;
Radius = Radius * 0.3;
OffsetX = abs(CenterX2 - CenterX1);
OffsetY = abs(CenterY2 - CenterY1);
if (OffsetX < (Radius * 2) && OffsetY < (Radius * 2))
{
Quadrat_Overlap = true; // 2 Quadrate schneiden sich
}
}
if (Quadrat_Overlap == false) // Wenn sie sich nicht schneiden, wird ein neues erstellt
{
CQEngine_Sprite *Quadrat = new CQEngine_Sprite; // QEngine = 2D Engine
Quadrat->Create(m_lpD3DDevice, Texture, m_QRX, m_QRY, 1.0f, 0.0f, 0.3f);
Quadrats.push_back(Quadrat);
m_Quadrat_Amount += 1;
}
}
}