Shape positionen überprüfen
-
Hi ihr!
Ich schreibe ein Programm in dem ich mehrere Shapes in Form von Kreisen dynamisch erzeuge. Die Position des jeweiligen Shapes wird per Zufall ermittelt. Nur jetzt habe ich ein Problem, bevor ein neues Shape an eine zufälig gewälte Stelle gezeichnet wird,soll überprüft werden,ob sich dort eventuell schon ein zuvor erzeugtes Shape befindet. Falls dies der Fall ist soll eine neue Position ermittelt werden.
Aber wie kann ich am einfachsten überpfüfen, ob sich an der Position schon eins befindet?
Soll ich am besten alle Positionen in einen Array einlesen und diese dann durchlaufen,oder geht das noch irgendwie anders?Ich danke euch schonmal.
Maddin
-
Ja, nimm ein Array. Aber ein TShape-Array.
#define MAX_ARRAY 10 int Pos, i; bool error; for (Pos=0;Pos<MAX_ARRAY;Pos++) { do { error=false; Shape[Pos]->Left=Random(ClientWidth-Shape[Pos]->Width); Shape[Pos]->Top=Random(ClientHeight-Shape[Pos]->Height); for (i=0;i<ANZ_ARRAY;i++) { if (i!=Pos && Shape[i]->Left==Shape[Pos]->Left && Shape[i]->Top==Shape[Pos]->Top) error=true; } } while(error); }
-
Ok ich danke dir!