kryniak Opublikowano 8 Lutego 2008 Udostępnij Opublikowano 8 Lutego 2008 Witam, drodzy panowie (i panie)! Otóż czy chcielibyście np. w Waszej grze RPG, żeby sklepikarz mówił, ile kosztuje dany produkt? Albo piszesz jakiś program do przelewów w GM-ie (mało prawdopodobne :P)? Tak? To dobrze się składa, ponieważ zrobiłem przykład, który słownie wyświetli daną liczbę! Przykład użycia: GML show_message(slownie(15)); // wyświetli "piętnaście" show_message(slownie(9999999)); //wyświetli "dziewięć milionów dziewięćset dziewięćdziesiąt dziewięć tysięcy dziewięćset dziewięćdziesiąt dziewięć" Nad tym przykładem bardzo się napracowałem (ok. 1h) i także nie dodałem żadnych komentarzy do skryptu, ale myślę, że przeżyjecie =3. Uwaga! Jeśli chcesz go wykorzystać, umieść mnie w liście autorów. Link jest tutaj: https://gmclan.org/up739_12_slownie.html Enjoy! EDIT: Chciałem jeszcze powiedzieć, że zakres liczb to 0 - 9 999 999 :). EDIT2: Działa również na niezarejestrowanej wersji. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pentalinio Opublikowano 8 Lutego 2008 Udostępnij Opublikowano 8 Lutego 2008 Nie jest zły, ale bym jeszcze nad nim popracował. 4. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kryniak Opublikowano 8 Lutego 2008 Autor Udostępnij Opublikowano 8 Lutego 2008 A co jest źle? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pentalinio Opublikowano 8 Lutego 2008 Udostępnij Opublikowano 8 Lutego 2008 Ograniczenie do 9 999 999. Cwicz dalej ;) ! @Edit: Oki, to były żarty ;p . Daję 3/5, bo w sumie nic takiego =D . Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kryniak Opublikowano 8 Lutego 2008 Autor Udostępnij Opublikowano 8 Lutego 2008 @Edit: Oki, to były żarty ;p . Daję 3/5, bo w sumie nic takiego =D . To nie były, to są żarty =3. Dobra, widzę, że większość siedzi na pirackim GM-ie 6.1, więc podaję kod skryptu: GML /**************************** Argument 0 - liczba by Kryniak ****************************/ var str,slow,jednosci,dziesiatki,dziesiatki2,setki,tysiace,n,tmp; slow=''; tmp=''; jednosci[0]='zero'; jednosci[1]='jeden'; jednosci[2]='dwa'; jednosci[3]='trzy'; jednosci[4]='cztery'; jednosci[5]='pięć'; jednosci[6]='sześć'; jednosci[7]='siedem'; jednosci[8]='osiem'; jednosci[9]='dziewięć'; dziesiatki[0]='dziesięć'; dziesiatki[1]='jedenaście'; dziesiatki[2]='dwanaście'; dziesiatki[3]='trzynaście'; dziesiatki[4]='czternaście'; dziesiatki[5]='piętnaście'; dziesiatki[6]='szesnaście'; dziesiatki[7]='siedemnaście'; dziesiatki[8]='osiemnaście'; dziesiatki[9]='dziewiętnaście'; dziesiatki2[0]='dwadzieścia'; dziesiatki2[1]='trzydzieści'; dziesiatki2[2]='czterdzieści'; dziesiatki2[3]='pięćdziesiąt'; dziesiatki2[4]='sześćdziesiąt'; dziesiatki2[5]='siedemdziesiąt'; dziesiatki2[6]='osiemdziesiąt'; dziesiatki2[7]='dziewięćdziesiąt'; setki[0]='sto'; setki[1]='dwieście'; setki[2]='trzysta'; setki[3]='czterysta'; setki[4]='pięćset'; setki[5]='sześćset'; setki[6]='siedemset'; setki[7]='osiemset'; setki[8]='dziewięćset'; tysiace[0]='tysiąc'; tysiace[1]='tysiące'; tysiace[2]='tysięcy'; miliony[0]='milion'; miliony[1]='miliony'; miliony[2]='milionów'; str=string(argument0); str=string(real(string_digits(str))); n=string_length(str); if (n==1) slow=jednosci[real(str)]; else { if (string_char_at(str,n-1)!='1' && string_char_at(str,n)!='0') slow=jednosci[real(str) mod 10]; if (n>1 && string_char_at(str,n-1)=='1') slow=dziesiatki[real(string_char_at(str,n))]; if (n>1 && string_char_at(str,n-1)!='1' && string_char_at(str,n-1)!='0') slow=dziesiatki2[real(string_char_at(str,n-1))-2]+' '+slow; if (n>2 && string_char_at(str,n-2)!='0') slow=setki[real(string_char_at(str,n-2))-1]+' '+slow; if (n==4 && string_char_at(str,n-3)=='1') slow=tysiace[0]+' '+slow; if (n==4 && real(string_char_at(str,n-3))>1 && real(string_char_at(str,n-3))<5) slow=jednosci[real(string_char_at(str,n-3))]+' '+tysiace[1]+' '+slow; if (n==4 && real(string_char_at(str,n-3))>4) slow=jednosci[real(string_char_at(str,n-3))]+' '+tysiace[2]+' '+slow; if (n>=5 && string_char_at(str,n-4)=='1') slow=dziesiatki[real(string_char_at(str,n-3))]+' '+tysiace[2]+' '+slow; if (n>=5 && real(string_char_at(str,n-4))>1) { tmp=slow; slow=dziesiatki2[real(string_char_at(str,n-4))-2];//+' '+tysiace[2]+' '+slow; if (string_char_at(str,n-3)!='0') slow+=' '+jednosci[real(string_char_at(str,n-3))]; slow+=' '+tysiace[2]+' '+tmp; } if (n>=6 && string_char_at(str,n-5)!='0') { if (string_count(tysiace[2],slow)==0) slow=setki[real(string_char_at(str,n-5))-1]+' '+tysiace[2]+' '+slow; else slow=setki[real(string_char_at(str,n-5))-1]+' '+slow; } if (n==7) { if (string_char_at(str,n-6)=='1') slow=miliony[0]+' '+slow; if (string_char_at(str,n-6)!='1' && real(string_char_at(str,n-6))<5) slow=jednosci[real(string_char_at(str,n-6))]+' '+miliony[1]+' '+slow; if (real(string_char_at(str,n-6))>4) slow=jednosci[real(string_char_at(str,n-6))]+' '+miliony[2]+' '+slow; } } return slow; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Solmis Opublikowano 8 Lutego 2008 Udostępnij Opublikowano 8 Lutego 2008 4/5... :> Masz, za pomysł... xDD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Xedom Opublikowano 9 Lutego 2008 Udostępnij Opublikowano 9 Lutego 2008 Znalazłem błąd, kiedy wpisałem 1234567 wyświetliło: milion dwieście trzydzieści cztery tysięcy pięćset sześćdziesiąt siedem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pentalinio Opublikowano 9 Lutego 2008 Udostępnij Opublikowano 9 Lutego 2008 Być może jestem ślepy, ale imo dobrze wyświetliło ;) . Co ty miałeś z matematyki :o ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BeWuO Opublikowano 9 Lutego 2008 Udostępnij Opublikowano 9 Lutego 2008 Tysiące powinno być. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Misiek999 Opublikowano 9 Lutego 2008 Udostępnij Opublikowano 9 Lutego 2008 mi się nie przyda, ale fajny pomysł. 4/5. :jezor: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shylios Opublikowano 9 Lutego 2008 Udostępnij Opublikowano 9 Lutego 2008 Dobre :D Ale jak to ktoś już powiedział, to nic wielkiego, ale daje 4 ;DD Popraw: Na 666 powinno odpisywać 'Szatan!' I jak wpisuje 1010101010101010 to odpisuje 'sto tysięcy dziesięć o_O Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kryniak Opublikowano 9 Lutego 2008 Autor Udostępnij Opublikowano 9 Lutego 2008 Chciałem jeszcze powiedzieć, że zakres liczb to 0 - 9 999 999 :). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kamciog Opublikowano 9 Lutego 2008 Udostępnij Opublikowano 9 Lutego 2008 Niezłe, chociaż mi się nie przyda. -5/5 :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lord Vayaa Opublikowano 9 Lutego 2008 Udostępnij Opublikowano 9 Lutego 2008 Nawet fajne postarales sie piateczka Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę