Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PHP наложение слоев

21K
15 июня 2007 года
MaxMadTrain
5 / / 08.01.2007
:( Уважаемые програмисты и любители, прошу вникнуть в мою проблему.
Не могу решить следующую логическую задачу.
Дана область экрана с границами. В ней создаются области с координатами $x,$y:
 
Код:
$x = rand(n,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); }}

Применив такой код слои не перестали накладываться.
Я тогда сделал по-другому:
Создал файл пхп и вставил туда эту проверку, а затем размножил до тысячи.
В конце я вставил ту же проверку, но вместо
 
Код:
$x = rand(n,n-$xw);
    $y = rand(n,n-$yh);

Вставил echo"Error!";(Говорит, что слой поместить нельзя - слишком большой).
После тестирования все осталось, как прежде... :(

Заранее благодарен за помощь.

[COLOR="Red"]Для оформления php-кода используй теги.[/COLOR]
m_Valery
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог