ФорумПрограммированиеPHP для идиотов → Вероятнось события

Вероятнось события

  • kamachi

    Сообщения: 320 Репутация: N Группа: Кто попало

    Spritz 27 марта 2010 г. 13:13

    Нужно каким то образом придумать алгориму "удачи". Это для онлайн игры. Вот допустим пользователь зашел на станицу.С ним может что то случиться, или нет.

    Я меня хватило только на
    $var = rand(1,10);

    if($var == 5) {
    //событие
    }

    какие еще есть идеи? Вообще в сети не нашел литературы о написании игр на php.
  • Baboot

    Сообщения: 440 Репутация: N Группа: Адекваты

    Spritz 27 марта 2010 г. 13:30, спустя 17 минут 1 секунду


    $var = rand(1,10);

    if($var == 0.125553677755) {
    //событие
    }

  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 27 марта 2010 г. 13:35, спустя 4 минуты 41 секунду

    Почитай про mt_rand
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Nyaah

    Сообщения: 574 Репутация: N Группа: Джедаи

    Spritz 27 марта 2010 г. 13:39, спустя 4 минуты 4 секунды

    Ну да можно так
    function testСhance($chance)
    {
       return mt_rand(0, $chanse) == 0 ? true : false;
    }

    if (testChanse(100))
    {
       echo 'Произошло событие с вероятность 1/100';
    }
    else
    {
       echo 'События не произошло';
    }


    Вообще в сети не нашел литературы о написании игр на php.

    потому что это идиотизм писать игры на PHP, он не для этого создавался
    Work, buy, consume, die
  • kamachi

    Сообщения: 320 Репутация: N Группа: Кто попало

    Spritz 27 марта 2010 г. 14:05, спустя 25 минут 57 секунд


    Ну да можно так
    function testСhance($chance)
    {
       return mt_rand(0, $chanse) == 0 ? true : false;
    }

    if (testChanse(100))
    {
       echo 'Произошло событие с вероятность 1/100';
    }
    else
    {
       echo 'События не произошло';
    }


    Вообще в сети не нашел литературы о написании игр на php.

    потому что это идиотизм писать игры на PHP, он не для этого создавался



    тоесть твоя функция принемает MAX

    и возвращает true если верно, или false. Просто конструкцию
    == 0 ? true : false;
    я никогла не использовал.

    А как это на php пишут игр, а браузерные онлайн игры??
    Спустя 48 сек.

    Почитай про mt_rand
    Пишут mt_rand лучше)
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 27 марта 2010 г. 14:47, спустя 41 минуту 29 секунд

    какая разница на чем онлайн игры делать?)
    Сапожник без сапог
  • kamachi

    Сообщения: 320 Репутация: N Группа: Кто попало

    Spritz 27 марта 2010 г. 15:22, спустя 35 минут 42 секунды


    Ну да можно так
    function testСhance($chance)
    {
       return mt_rand(0, $chanse) == 0 ? true : false;
    }

    if (testChanse(100))
    {
       echo 'Произошло событие с вероятность 1/100';
    }
    else
    {
       echo 'События не произошло';
    }


    Вообще в сети не нашел литературы о написании игр на php.

    потому что это идиотизм писать игры на PHP, он не для этого создавался



    твоя функция все время выводит Произошло событие с вероятность 1/100 ошибка выходит
    Спустя 33 сек.

    какая разница на чем онлайн игры делать?)
    для меня есть,я только кое как php знаю
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 27 марта 2010 г. 15:23, спустя 41 секунду

    kamachi, ну отлаживай, епт
  • kamachi

    Сообщения: 320 Репутация: N Группа: Кто попало

    Spritz 27 марта 2010 г. 15:26, спустя 2 минуты 58 секунд

    а вот так робит

    function mayBe($chance)
    {
       if(mt_rand(0,$chance)==0) {
           
           return true;
       } else {
           return false;
       }
    }

    if (mayBe(1))
    {
       echo 'Произошло событие с вероятность 1/100';
    }
    else
    {
       echo 'События не произошло';
    }
    Спустя 49 сек.

    kamachi, ну отлаживай, епт
    что тебе отложить
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 27 марта 2010 г. 15:36, спустя 10 минут 6 секунд


    kamachi, ну отлаживай, епт
    опечатка там

    function testСhance($chance)
    {
    return mt_rand(0, $chanse) == 0 ? true : false;
    }
    Сапожник без сапог
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 27 марта 2010 г. 15:42, спустя 5 минут 56 секунд

    phpdude,
    ну почему ты то это должен искать. А отладка. Я считаю, что неправильно просматривать весь код в поисках опечатки. Сделать пару echo и сузить область поиска.
    На самом деле там будет вероятность 1/101 ибо с 0 начинается.
  • kamachi

    Сообщения: 320 Репутация: N Группа: Кто попало

    Spritz 27 марта 2010 г. 16:45, спустя 1 час 3 минуты 18 секунд

    $upgrade = mysql_query("UPDATE stalker SET force='".$force."',accuracy='".$accuracy."',mind='".$mind."',endurance='".$endurance."' WHERE id='".$user['id']."'") or die(mysql_error());


    вот хоть убейте не могу понять почему выдает ошибку

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'force='2',accuracy='11',mind='12',endurance='11' WHERE id='1'' at line 1
    и почему тут WHERE id='1'' "
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 27 марта 2010 г. 16:55, спустя 9 минут 30 секунд

    это пиздец. юзай echo, а не пыху.
    Спустя 127 сек.
    'force='2',accuracy='11',mind='12',endurance='11' WHERE id='1''
  • kamachi

    Сообщения: 320 Репутация: N Группа: Кто попало

    Spritz 27 марта 2010 г. 17:01, спустя 5 минут 49 секунд


    это пиздец. юзай echo, а не пыху.
    Спустя 127 сек.
    'force='2',accuracy='11',mind='12',endurance='11' WHERE id='1''
    и где там ошибка, умник
  • Baboot

    Сообщения: 440 Репутация: N Группа: Адекваты

    Spritz 27 марта 2010 г. 17:03, спустя 2 минуты 25 секунд

    бля выведи весь sql нам хуле запрос додумывать?

Пожалуйста, авторизуйтесь, чтобы написать комментарий!