За последние 24 часа нас посетили 17807 программистов и 1679 роботов. Сейчас ищут 777 программистов ...

Как можно упростить свою задачу ???

Тема в разделе "PHP для новичков", создана пользователем Adil, 4 апр 2007.

  1. Вльдемар

    Вльдемар Активный пользователь

    С нами с:
    20 май 2006
    Сообщения:
    635
    Симпатии:
    0
    Адрес:
    Белхород
    Каждой дыне и всякому фрукту соответствует своя цифра
    Заносим цыфры в массив
    Делаем массиву asort
    потом implode без разделителей

    и case со строкой

    Тока строка тоже должна быть "типа" отсортирована
     
  2. Военный

    Военный Активный пользователь

    С нами с:
    15 янв 2007
    Сообщения:
    70
    Симпатии:
    0
    Попробуем так: (незнаю, можно ли упростить дальше)

    каждой картинке присваиваем букву.
    Соответсвенно результат - 3 буквы (ааа, bbb, abc и тд)
    Далее создаем массив выигрышных комбинаций (ключи) и соответвсующее количество денег (значения):
    PHP:
    1.  
    2. $priz = array(
    3. "aaa" =>200,
    4. "bbb" =>190,
    5. "aab" =>100,
    6. "aba" =>100,
    7. "baa" =>100,
    8. и тд);
    9.  
    Дальше проверяем:
    Переменная $rezult содержит выпавшую комбинацию в виде ааа, bbb, abc и тд
    PHP:
    1.  
    2. if (array_key_exists($rezultat, $priz)) $money +=$priz[$rezultat];
    3.  
    Всё.
    Причем можно очень быстро и удобно менять выигрышные комбинации.
     
  3. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
  4. Военный

    Военный Активный пользователь

    С нами с:
    15 янв 2007
    Сообщения:
    70
    Симпатии:
    0
  5. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Военный
     
  6. Adil

    Adil Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    280
    Симпатии:
    0
    Еще один вопрос входящий в эту игру. Допустим у меня выпало бинго и я выиграл 100 очков.

    Код (Text):
    1. // если  три яблока
    2. if ($rand1==0 &&  $rand2==0  && $rand3==0) {
    3. print  "100";
    4. $result=+100;
    5. }
    $result=+100;

    Я сохраняю выигрыш в переменной $result. Подскажите пожалуйста, как я могу сохранить эту переменную, допустим в hidden, чтобы при следующем выигрыше, очки добалялись на эти 100, а не заново считались ???
     
  7. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Adil
    аватарку меняем... в аватарах только личные фото.
     
  8. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    сессии
     
  9. Военный

    Военный Активный пользователь

    С нами с:
    15 янв 2007
    Сообщения:
    70
    Симпатии:
    0
    Так это выигрышные комбинации (ключи) и количество очков за них (значения).
    Далее определяем есть ли такой ключ в массиве и если есть, то на счет докладываем очки.

    Это другой подход, не тот который уже упоминался в топе.
     
  10. Adil

    Adil Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    280
    Симпатии:
    0
    А почему "aab" =>100, нельзя написать "aab" ==100 ???
     
  11. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Военный, так зачем создавать 3 ключа вместо 1-го? aab, aba и baa - это одно и то же, поэтому можно оставить только один из ключей и сравнивать с "отсортированной" строкой результата.
     
  12. Военный

    Военный Активный пользователь

    С нами с:
    15 янв 2007
    Сообщения:
    70
    Симпатии:
    0
    :)
    Потому что 'aaa'=>100 - это ключ=>значение, а "aaa"==100 будет давать false, потому как это сравнение

    simpson
    Ну если в этом плане - тогда не вопрос.
    Но я описывал решение всей задачи, а не как сократить ключи.
     
  13. ZZZubec

    ZZZubec Активный пользователь

    С нами с:
    28 мар 2007
    Сообщения:
    140
    Симпатии:
    0
    мдя..., давно я не был новичком, эх. Ну смотри, все команды любого языко имееют смысловую нагрузку, и очень часто означают именно перевод с анг на рус (можно использовать translate.ru).

    empty - само слово говорит само за себя - пустой. Т.е. она проверяет переменную на пустоту. Например для строки пустота означает ( if ( $str == "" ) или if ( empty( $str ) ) ) оба условия выполняют одно и тоже.

    isset - аналогично, тоже говорящая функция. Помните жвачку "love is"? она тут конечно не причем 8). isset проверяет на существование ту или иную переменную. Допустим тебе надо проверить, а пользователь в форме прописал email,
    PHP:
    1. <?
    2. if ( $email != "" ) ...
    3. ?>
    Если напишешь так как выше, и при этом пользователь в форме свой емайл не пропишет, интерпритатор выведет ошибку, что переменной email вообще не существует, не то чтобы она пустая, она даже не создана. ВОт для этих целей и существует isset
    PHP:
    1. <?
    2. if ( isset( $email ) ) {
    3.   //а вот уже здесь можно делать проверку на значение переменной email
    4.   ...
    5. }
    6. ?>
    хотя условия if ( isset( $email ) ) и if ( @$email != "" ) выполняют довольно одинаковые вычисления, принято использовать всё таки isset. Почему??? Да потому что, красную строку принято начинать с отступом, а не писать сразу от края.
     
  14. Adil

    Adil Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    280
    Симпатии:
    0
    Большое спасибо )))