|
Dzielene z dokładnością po przecinku |
| Autor |
Wiadomość |
sulge
Sierżant
 
Pomógł: 1 raz Posty: 125
3935 Prestiż
|
Wysłany: 30-05-2006, 11:07 Dzielene z dokładnością po przecinku
|
|
|
pepe9donkey jeśli chcesz robić to dzielenie w TGF div. I jeśli rozumiesz to tak jak ja, czyli ze jest to dzielenie bez reszty. To w TGF zwykłe dzielenie "/" to właśnie div. Gorzej jest zrobić dzielenie z wartościami po przecinku, ale to też nie jest trudne. Wytłumaczę ci to na przykładzie przypuśćmy że chcesz podzielić liczbę X przez Y tak aby wynikiem była liczba całkowita. Więc robisz to tak: X/Y, czyli jeśli np. Liczba X=1, a liczba Y=3 to w TGF otrzymasz wynik 0.
Jeśli chcesz otrzymać wynik z dokładnością do np. 2 miejsc po przecinku, to użyj w tym celu zwykłego „stringa, aby wyświetlić wynik.
A tak to wygląda na przykładzie chcesz podzielić liczbę X przez Y z dokładnością do 2 miejsc po przecinku. Więc najpierw dzielisz liczbę X/Y, wynik to liczba przed przecinkiem, teraz aby uzyskać część po przecinku mnożysz liczbę (X*100) a całość dzielisz przez liczbę Y. Czyli wygląda to tak: (X*100)/Y. W obiekcie „string” wyświetlasz wynik: Czyli ustawiasz tekst na zamienioną na string część przed przecinkiem plus sam przecinek, plus zamienioną na string część po przecinku. To wszystko. Mam nadzieje, że ci pomogłem.
A oto przykład jak by to zadziałało na liczbie X=1, i Y=3 wiemy że X/Y=0,3333.....
Jak to obliczy TGF więc część przed przecinkiem będzie to wynik dzielenia całkowitego liczb X i Y czyli „0”, część po przecinku będzie to wynik dzielenia całkowitego 100-krotności liczby X przez liczbę Y, czyli (100*1)/3=33, Czyli nasz ostateczny wynik to 0,33. Jeśli chcemy aby wynik był do 3 miejsca po przecinku mnożymy X*1000, itd.
Musisz jedynie pamiętać że w TGF „/” oznacza dzielenie bez reszty czyli „div”. |
|
|
|
 |
Slawo
Legenda
 
Główny edytor: 
Pojedynki: nie
Pomógł: 16 razy Posty: 706
25566 Prestiż
|
Wysłany: 30-05-2006, 12:27
|
|
|
No i jakie proste, kurcze też bym chyba na to wpadł, skoro wpadłem jak zrobić w php i mysql aby hiscoresy mniejsze były "zarankingowane" wyżej niż większe ... mnoże przez minus 1 i jak zamienić czas na liczbę ...
A ten przykład Sulgego też mi się przyda ! |
_________________ http://pograjmy.webd.pl - gry z rankingami graczy i turniejami - miejsce również na Twoje gry klikowe
Ponad 150 gier wydanych
Od 2003 w klikach
Od 2001 w hiscoresach na www
http://pograjmy.webd.pl/typer/ (typuj wyniki Mundialu)
Czytam: http://kontrowersje.net |
|
|
|
 |
pepe9donkey
Bohater Strup Parzyłapa
 
Główny edytor: 
Pomógł: 3 razy Posty: 216
18099 Prestiż
|
Wysłany: 30-05-2006, 14:52
|
|
|
No kurczę faktycznie! Liczyłem procenty, np. 25/67 czy 42/67, więc cały czas zwracało mi 0. Dzięki Sulge . Rozwiązałem to w dość podobny sposób, tyle, że bez stringów . |
_________________ \,,/, (o_O) ,\,,/ |
|
|
|
 |
Slawo
Legenda
 
Główny edytor: 
Pojedynki: nie
Pomógł: 16 razy Posty: 706
25566 Prestiż
|
Wysłany: 30-05-2006, 15:43
|
|
|
| mam nadzieję, że Ci od kliktimu kolekcjonują takie ptaszki i w TGF/MMF 2 nie trzeba będzie kombinować jak dzielić z resztą lub jak wstawić wartość licznika gdzieś tam bo krzyczy, że to nie string ! |
_________________ http://pograjmy.webd.pl - gry z rankingami graczy i turniejami - miejsce również na Twoje gry klikowe
Ponad 150 gier wydanych
Od 2003 w klikach
Od 2001 w hiscoresach na www
http://pograjmy.webd.pl/typer/ (typuj wyniki Mundialu)
Czytam: http://kontrowersje.net |
|
|
|
 |
sulge
Sierżant
 
Pomógł: 1 raz Posty: 125
3935 Prestiż
|
Wysłany: 30-05-2006, 17:28
|
|
|
| Slawo napisał/a: | | mam nadzieję, że Ci od kliktimu kolekcjonują takie ptaszki i w TGF/MMF 2 nie trzeba będzie kombinować jak dzielić z resztą lub jak wstawić wartość licznika gdzieś tam bo krzyczy, że to nie string ! |
Slawo i w TGF i w MMF możliwa jest konwersjia wartości licznika do stringa i na odwrót więc nie jest źle. Ale oczywiście fajnie było by gdyby to było automatyczne jak w PHP. |
|
|
|
 |
morty
Młodszy chorąży
 
Pomógł: 7 razy Posty: 236
6521 Prestiż
|
Wysłany: 30-05-2006, 18:39
|
|
|
| Slawo napisał/a: | | wpadłem jak zrobić w php i mysql aby hiscoresy mniejsze były zarankingowane wyżej niż większe ... mnoże przez minus 1 i jak zamienić czas na liczbę ... |
Eee Slawo, o co chodzi? Przecież mysql ma wbudowane pobieranie danych posorotwanych |
_________________ http://gmapsapi.com - Poznaj Google Maps API |
|
|
|
 |
Minty
Stwórczyni omc dr fizyki
 
Główny edytor: 
Drugi edytor: 
Pojedynki: być może
Pomogła: 259 razy Posty: 3447
33795 Prestiż
|
Wysłany: 30-05-2006, 18:54
|
|
|
W MMF działając na zmiennej liczbą zmiennoprzecinkową wynik jest wymierny, tj. 111/77 = 1 (77 mieści się raz w całości w 111), a 111/77.0 = 1.44156 (zaokrągla do 5 miejsca po przecinku). Ważne jest, żeby zamiast przecinka była kropka (zapis amerykański czy jakoś tak).
W TGF jest tak, jak napisał sulge, ale trzeba też pamiętać o tym, że np.:
3*100/100 = 3; 3/100 = 0,03
33*100/100 = 33; 33/100 = 0,33
Czyli dla drugiego wyniku wystarczy dać 0 (dla uproszczenia liczby będą tu poniżej 1) i przecinek, ale dla pierwszego należy jeszcze dodać 0. Należy więc sprawdzać, czy liczba uzyskana w ten sposób ma 2 znaki (≥10), a jeśli nie, to trzeba dodać te zero. |
|
|
|
 |
Slawo
Legenda
 
Główny edytor: 
Pojedynki: nie
Pomógł: 16 razy Posty: 706
25566 Prestiż
|
Wysłany: 30-05-2006, 21:34
|
|
|
| morty napisał/a: | Eee Slawo, o co chodzi? Przecież mysql ma wbudowane pobieranie danych posorotwanych |
Celowo napisałem "zarankingowanych" wiedząc, że będziesz miał wątpliwości
A o to chodzi, że ranking graczy generuje się "czytając" wyniki od największego do najmniejszego w każdej grze i przyznaje punkty 20,19,18...1 od największego wyniku i zapętla się to dla wszystkich ponad stu topów w grach.
Gdy wyniki są segregowane zawsze tylko od największego do najmniejszego - nie musi być innych warunków.
Pewnie, że można by zrobić dla gier, w których mniejsze wyniki są lepsze jakiś identyfikator i dać drugi warunek w generowaniu się rankingu graczy. |
_________________ http://pograjmy.webd.pl - gry z rankingami graczy i turniejami - miejsce również na Twoje gry klikowe
Ponad 150 gier wydanych
Od 2003 w klikach
Od 2001 w hiscoresach na www
http://pograjmy.webd.pl/typer/ (typuj wyniki Mundialu)
Czytam: http://kontrowersje.net |
|
|
|
 |
morty
Młodszy chorąży
 
Pomógł: 7 razy Posty: 236
6521 Prestiż
|
Wysłany: 30-05-2006, 21:40
|
|
|
| Slawo napisał/a: | | morty napisał/a: | Eee Slawo, o co chodzi? Przecież mysql ma wbudowane pobieranie danych posorotwanych |
Celowo napisałem zarankingowanych wiedząc, że będziesz miał wątpliwości
A o to chodzi, że ranking graczy generuje się czytając wyniki od największego do najmniejszego w każdej grze i przyznaje punkty 20,19,18...1 od największego wyniku i zapętla się to dla wszystkich ponad stu topów w grach.
Gdy wyniki są segregowane zawsze tylko od największego do najmniejszego - nie musi być innych warunków.
Pewnie, że można by zrobić dla gier, w których mniejsze wyniki są lepsze jakiś identyfikator i dać drugi warunek w generowaniu się rankingu graczy. |
Hmmm uruchamiasz n razy petle (n - liczba gier) dla n-tego przebiegu wczytujesz z tabeli 20 pierwszych wynikow z identyfikatorem gry n posortowanych malejaco (np. SELECT nick,id FROM wyniki WHERE id_gry=n LIMIT 0,20 ORDER BY pts DESC), nastepnie kolejna petla do przyznawanie punktow, nie wiem jak je liczysz no ale to juz drugorzedna sprawa, tworzysz tablice asocjacyjna do ktorej na biezaco dopisujesz owe punkty (gdzie kluczem jest Id lub nick gracza) i po n przebiegach petli masz piekne wyniczki w tablicy - wystarczy posortowac (array_multisort()) i gotowe |
_________________ http://gmapsapi.com - Poznaj Google Maps API |
|
|
|
 |
Slawo
Legenda
 
Główny edytor: 
Pojedynki: nie
Pomógł: 16 razy Posty: 706
25566 Prestiż
|
Wysłany: 30-05-2006, 21:54
|
|
|
| morty napisał/a: | Hmmm uruchamiasz n razy petle (n - liczba gier) dla n-tego przebiegu wczytujesz z tabeli 20 pierwszych wynikow z identyfikatorem gry n posortowanych malejaco (np. SELECT nick,id FROM wyniki WHERE id_gry=n LIMIT 0,20 ORDER BY pts DESC), nastepnie kolejna petla do przyznawanie punktow, nie wiem jak je liczysz no ale to juz drugorzedna sprawa, tworzysz tablice asocjacyjna do ktorej na biezaco dopisujesz owe punkty (gdzie kluczem jest Id lub nick gracza) i po n przebiegach petli masz piekne wyniczki w tablicy - wystarczy posortowac (array_multisort()) i gotowe |
Tak, jak będziesz robił swój ranking to sobie tak zrobisz a ja mam do połowy podobnie ( nie mam tablic asocjacyjnych a zapis w bazie no i poza tym wywoływane są tylko gry w których od ostatniego generowania pojawiły się nowe wyniki) a potem inaczej ... i skończmy ten temat bo tak jak dwóch Polaków ma trzy zdania na ten sam temat tak dwóch klikowców zrobi tę samą grę na 123 sposoby tak można w php/mysql zrobić "program" na kilka sposobów - wszystko zależy co chce się uzyskać i gdzie potem wykorzystać. |
_________________ http://pograjmy.webd.pl - gry z rankingami graczy i turniejami - miejsce również na Twoje gry klikowe
Ponad 150 gier wydanych
Od 2003 w klikach
Od 2001 w hiscoresach na www
http://pograjmy.webd.pl/typer/ (typuj wyniki Mundialu)
Czytam: http://kontrowersje.net |
|
|
|
 |
morty
Młodszy chorąży
 
Pomógł: 7 razy Posty: 236
6521 Prestiż
|
Wysłany: 30-05-2006, 22:16
|
|
|
| Slawo napisał/a: | | poza tym wywoływane są tylko gry w których od ostatniego generowania pojawiły się nowe wyniki |
To już wszystko sprawy optymalizacyjne... A tak offtop - jak zebzpieczach wyniki przed fałszownaiem/błędem? Mam na myśli jak eleminujesz nieprawidłowości powstałe między wysłaniem wyniku a odebraniem go przez grę? |
_________________ http://gmapsapi.com - Poznaj Google Maps API |
|
|
|
 |
Slawo
Legenda
 
Główny edytor: 
Pojedynki: nie
Pomógł: 16 razy Posty: 706
25566 Prestiż
|
Wysłany: 30-05-2006, 22:31
|
|
|
| morty napisał/a: | | ... A tak offtop - jak zebzpieczach wyniki przed fałszownaiem/błędem? Mam na myśli jak eleminujesz nieprawidłowości powstałe między wysłaniem wyniku a odebraniem go przez grę? |
Jak ja się pytałem na PW, po prośbie od mateusza209, o Twój system, podobno pozwalający na wysyłanie wyników tym co nie mogą wysyłać na zagrajmy, to ... nie otrzymałem ani be ani me ani kukuryku, że tak powiem ku uciesze BROO (BROO, nie gniewaj się, ale musiałem ... ).
Więc pozwól, że nie odpowiem na to pytanie.
Poza tym zrobiliśmy niezły off top w tym temacie.
PS. Najlepszym zabezpieczeniem jest ... system logowania się graczy a wszystko inne to tylko dodatek kosmetyczny może być. |
_________________ http://pograjmy.webd.pl - gry z rankingami graczy i turniejami - miejsce również na Twoje gry klikowe
Ponad 150 gier wydanych
Od 2003 w klikach
Od 2001 w hiscoresach na www
http://pograjmy.webd.pl/typer/ (typuj wyniki Mundialu)
Czytam: http://kontrowersje.net |
|
|
|
 |
morty
Młodszy chorąży
 
Pomógł: 7 razy Posty: 236
6521 Prestiż
|
Wysłany: 30-05-2006, 23:21
|
|
|
| Slawo napisał/a: | | Jak ja się pytałem na PW, po prośbie od mateusza209, o Twój system, podobno pozwalający na wysyłanie wyników |
A Twoje gry nie wysyłają?:>
| Slawo napisał/a: | | PS. Najlepszym zabezpieczeniem jest ... system logowania się graczy a wszystko inne to tylko dodatek kosmetyczny może być. |
Pytam z czystej ciekawości. Frikik jest pozabezpieczany z każdej strony, po prostu jestem ciekaw jak inni to robią |
_________________ http://gmapsapi.com - Poznaj Google Maps API |
|
|
|
 |
Slawo
Legenda
 
Główny edytor: 
Pojedynki: nie
Pomógł: 16 razy Posty: 706
25566 Prestiż
|
Wysłany: 31-05-2006, 00:47
|
|
|
| morty napisał/a: | | A Twoje gry nie wysyłają?:> |
Gdybym nie znał Cię to ... DN .
Jakby nie wysyłały to nie byłoby serwisu z 66 grami i 1oo iluś tam topami. Chodzi o to, że mateusz209 należy do grupy tych nieszczęśliwców, którzy nie wiadomo dlaczego nie mogą wysyłać wyników na zagrajmy.superhost.pl a na top Frikika mógł wysyłać.
Jak potem mi pisał Ty zaczerpnąłeś wiedzę z TDC. Ale mi z tego kwietniowego kursu, zresztą pełnego błędów, nie udało się skleić nowego systemu wysyłania, tak by Ci co nie mogą wysyłać obecnie - mogli.
Zresztą ... nic mi się nie chciało wysyłać jak kombinowałem. Dlatego skończyłem ten temat i ... mi to tito.
| morty napisał/a: |
Pytam z czystej ciekawości. Frikik jest pozabezpieczany z każdej strony, po prostu jestem ciekaw jak inni to robią |
Tak i na forum mają Ci napisać ? A potem mieć problem z dowcipnisiami ? |
_________________ http://pograjmy.webd.pl - gry z rankingami graczy i turniejami - miejsce również na Twoje gry klikowe
Ponad 150 gier wydanych
Od 2003 w klikach
Od 2001 w hiscoresach na www
http://pograjmy.webd.pl/typer/ (typuj wyniki Mundialu)
Czytam: http://kontrowersje.net |
|
|
|
 |
morty
Młodszy chorąży
 
Pomógł: 7 razy Posty: 236
6521 Prestiż
|
Wysłany: 31-05-2006, 08:45
|
|
|
| Slawo napisał/a: | | Tak i na forum mają Ci napisać ? A potem mieć problem z dowcipnisiami ? |
W porządku. Powtórki z Frikika to zwykłe INI zaszyfrowane szyfrem cezara. Przesunięcie 1 dla bardzo leniwych. Mimo to nikomu nie uda się ich złamać bo mają sumę kontrolną MD5.
Albo jeszcze prościej - katalog data plik online.dat - zwykłu ini z wynikami online. Jak ktośgo zmieni i gra się nie połapie to cały mój prestiż dla niego
Wysyłanie wyników? Mogę ci podać plik do którego się odwołuje, nazwy zmiennych też. I tak nikt nic nie doda inaczej niż przez grę. Tam jest do tego stopnia porobione, że dwa razy tej samej powtórki nie wyślesz, mimo że ona sama w sobie nie zawiera informacji czy była wysłana czy nie. Możesz ją próbować z innego kompa i też to nic nie da
Ja się dowcipnisiów nie boję
Ja napisałem kiedyś mateuszowijakiśtamnumer że nie opierałem się na kursie z TDC, tylko żeby on się z nim zaznajomił. Mojego rozwiązania nie znalazłem jak dotąd w żadnym kursie.
BTW: Czytałem gdzieś na jakiejś stronie klikowej, że wysyłanie wyników nie idzie czasem jak Firewall blokuje, i pewnie mateusz taką sytuację ma. Niech wyłączy firewalla to pewnie pójdzie |
_________________ http://gmapsapi.com - Poznaj Google Maps API |
|
|
|
 |
|
|