PHP наложение слоев
Не могу решить следующую логическую задачу.
Дана область экрана с границами. В ней создаются области с координатами $x,$y:
Код:
$x = rand(n,n)//n-случайные координаты
$y = rand(n,n)
$y = rand(n,n)
Чтобы области не выходили за рамки я сделал так:
$x = rand(n,n-ширина изображения)// "-" (минус)
$y = rand(n,n-высота изображения)
$x,$y заносятся в базу данных...
Затем затык! Чтобы не происходило их наложение (областей) я создал такой код:
Код:
if($conn_mysql = mysql_connect("localhost","root")){
mysql_select_db("Баз данных");
$stmt="select * from база order by id desc";
$crsr=mysql_query($stmt, $conn_mysql);
while($res=mysql_fetch_array($crsr,MYSQL_BOTH)){
$totalx = $x+$xw;//$xw,$yh это высота и ширина
$totaly = $y+$yh;//изображения, загруженного пользователем
if($totalx > $x+$res["x"]){////$res["x"],$res["y"]-координаты других областей в базе данных
if($totaly > $y+$res["y"]){$x = rand(n,n-$xw);
$y = rand(n,n-$yh); }}
if($totaly > $y+$res["y"]){
if($totalx > $x+$res["x"]){$x = rand(n,n-$xw);
$y = rand(n,n-$yh); }}
mysql_select_db("Баз данных");
$stmt="select * from база order by id desc";
$crsr=mysql_query($stmt, $conn_mysql);
while($res=mysql_fetch_array($crsr,MYSQL_BOTH)){
$totalx = $x+$xw;//$xw,$yh это высота и ширина
$totaly = $y+$yh;//изображения, загруженного пользователем
if($totalx > $x+$res["x"]){////$res["x"],$res["y"]-координаты других областей в базе данных
if($totaly > $y+$res["y"]){$x = rand(n,n-$xw);
$y = rand(n,n-$yh); }}
if($totaly > $y+$res["y"]){
if($totalx > $x+$res["x"]){$x = rand(n,n-$xw);
$y = rand(n,n-$yh); }}
Применив такой код слои не перестали накладываться.
Я тогда сделал по-другому:
Создал файл пхп и вставил туда эту проверку, а затем размножил до тысячи.
В конце я вставил ту же проверку, но вместо
Код:
$x = rand(n,n-$xw);
$y = rand(n,n-$yh);
$y = rand(n,n-$yh);
Вставил echo"Error!";(Говорит, что слой поместить нельзя - слишком большой).
После тестирования все осталось, как прежде... :(
Заранее благодарен за помощь.
[COLOR="Red"]Для оформления php-кода используй теги.[/COLOR]
m_Valery