Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4
  1. #1
    Аватар для whoami
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.09.2019
    Сообщений
    1
    Репутация:
    0 ±

    Формирование рандомной строки

    Привет, тут уже поднимали вопрос по функции которая фигачит рандом букв и цифр

    Строка

    PHP код:
    <символ><символ><число><число><число><символ><символ><символ
    Функция

    PHP код:
    SomeRandomFunction(buffer[]) {
        for (new 
    = -1; ++8;) {
            
    buffer[i] = (<= <= 4)
                ? (
    random(10) + '0')
                : (
    random(26) + 'A');
        }

    все работает только че то не вкуриваю как сделать чтоб например после 2х символов был пробел , потом 3 числа и потом опять пробел

    типо
    PHP код:
    <символ><символ><пробел><число><число><число><пробел><символ><символ><символ

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Судя по формату строки, ты собрался генерировать автомобильный номер. Если MySQL используешь, то гораздо проще и лучше создать базу, в которую сразу сгенерировать несколько тысяч рандомных номеров и уже брать их оттуда. Это обеспечит уникальность номеров.

    Ну а касаемо твоего вопроса:
    1. SomeRandomFunction(buffer[10])
    2. {
    3. for (new i = -1; ++i < sizeof(buffer);)
    4. {
    5. switch(i)
    6. {
    7. case 0, 1, 7, 8, 9:
    8. buffer[i] = random(26) + 'A';
    9. case 2, 6:
    10. buffer[i] = ' ';
    11. case 3, 4, 5:
    12. buffer[i] = random(10) + '0';
    13. }
    14. }
    15. }
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для 123
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.02.2014
    Сообщений
    93
    Репутация:
    8 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Судя по формату строки, ты собрался генерировать автомобильный номер. Если MySQL используешь, то гораздо проще и лучше создать базу, в которую сразу сгенерировать несколько тысяч рандомных номеров и уже брать их оттуда. Это обеспечит уникальность номеров.
    http://pro-pawn.ru/showthread.php?15...ll=1#post87355

    Хорошо, что со временем люди приходят к истине :)

    По поводу вопроса, в ссылке выше даже есть запрос, который генерирует эти самые автомобильные номера.

  4. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от 123 Посмотреть сообщение
    http://pro-pawn.ru/showthread.php?15...ll=1#post87355

    Хорошо, что со временем люди приходят к истине :)
    Я всё ещё не отказываюсь от слов о том, что написание нормального алгоритма генерации номера будет гораздо лучше в плане гибкости и потреблении ресурсов (в среднестатистической системе аккаунтов полно уникальной информации, по которой можно сгенерировать вполне уникальный автомобильный номер без каких-либо запросов в БД, рандома и прочего) :) Но если автор не смог внести относительно простые изменения в функцию, которую он скинул, то вряд ли он осилит составление нормального алгоритма. Вариант с БД хоть и костыльный, как по мне, но он проще в реализации, из-за чего я его и озвучил.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •