Skocz do zawartości

Losowanie danej ilości znaków


Rekomendowane odpowiedzi

Wiem że już były takie tematy,analizowałem je próbowałem sam i od ponad godziny nic mi nie wychodzi :crying:

A więc chcem zrobić losowanie,które będzie losowało mi duże litery (od A do Z,bez polskich znaków),małe litery(od a do z ,bez polskich znaków),cyfry(od 0-9) i układało je w jakiejś wylosowaniej kolejności(oczywiście każda nie musi wystąpić). Do tego chciałbym aby losowało tylko wybraną przeze mnie ilość znaków.

 

Przykład:

Wybrałem ilość znaków: 10

Wylosowane znaki: 5aG4iL5DCv

 

Dziękuje za każdą odpowiedź z góry.

Odnośnik do komentarza
Udostępnij na innych stronach

GML
var _ciag, _znak, _znaki, _dlugosc, _ktory;

_znaki = "ABCDEFGHIJKLMOPQRSTUVWXYZabcdefghijklmopqrstuvwxyz0123456789";

_ciag = "";

_znak = "";

_dlugosc = argument0;

 

for (i = 0; i < _dlugosc; i += 1)

{

_ktory = round(random(string_length(_znaki)));

_znak = string_char_at(_znaki, _ktory);

_ciag += _znak;

}

 

return _ciag;

Losuje tyle znaków, ile podasz w arg0.

 

E: Jeszcze możesz ew. przed pętlą dodać sprawdzanie czy liczba nie jest za duża lub coś.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie działa. Na wszelki wypadek podam swój kod bo dziś jestem jakiś zakręcony:

 

CREATE:

GML
_ciag=""

var _ciag, _znak, _znaki, _dlugosc, _ktory;

_znaki = "ABCDEFGHIJKLMOPQRSTUVWXYZabcdefghijklmopqrstuvwxyz0123456789";_ciag = "";

_znak = "";

_dlugosc = 10;

 

for (i = 0; i < _dlugosc; i += 1)

{

_ktory = round(random(string_length(_znaki)));

_znak = string_char_at(_znaki, _ktory);

_ciag += _znak;

}

return _ciag;

 

W INNYM OBIEKCIE,W DRAW

GML
draw_text(3,3,object1._ciag)
Odnośnik do komentarza
Udostępnij na innych stronach

Co Ci tu nie działa? Mi wszystko działa, zrobiłem skrypt, wklepałem kod. Potem w obiekcie dałem

GML
str = skrypt_na_losowanie(10);
i wygenerowało mi 10 znaków ; o

I po co Ci 2 razy _ciag ?

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...