Centrum Fanów Symulatorów » Nascar Racing Season 4,2002,2003 Nascar Real » SkinControl
Napisz nowy temat    Odpowiedz do tematu

SkinControl

Idź do strony Poprzedni  1, 2, 3 ... 7, 8, 9 ... 18, 19, 20  Następny
Autor Wiadomość
McLaren


Dołączył: 07 Sty 2003
Posty: 736
Miasto: Białystok GG:1156269

Post2003-07-28, 11:03      SkinControl Odpowiedz z cytatem
Usuniecie kierowcy powinno jedynie wiazac sie z jego ukryciem w liscie kierowcow kasowanie calkowite na poczatku sezonu dopiero
 
Reklamy
PiotreQ





Post2003-07-28, 11:13      SkinControl Odpowiedz z cytatem
Ale po co usuwać ???
Wystartował raz, zdobył punkty więc niech siedzi w tabelkach do końca sezonu.
Ewentualnie na WYRAŹNE żądanie danego delikwenta można jego ksywkę zamienić na "deleted" i już
 
MaXyM


Dołączył: 17 Sie 2001
Posty: 6289
Miasto: Kraków GG:1905678

Post2003-07-28, 11:21      SkinControl Odpowiedz z cytatem
Zawsze można usunąć z SQLa. Jednak włąśnie ze względu na bezpieczeństwo bym nie dawał możliwości usuwania tego z poziomu GUI - nawet z 2 potwierdzeniami 'czy aby na pewno jesteś pewien' można się machnąć. I jak taka pomyłka będzie po parunastu wyścigach to uzupełnianie danych mogłoby być koszmarem
 
MaXyM


Dołączył: 17 Sie 2001
Posty: 6289
Miasto: Kraków GG:1905678

Post2003-07-28, 12:06      SkinControl Odpowiedz z cytatem
OK. Skończyłem liczenie punktów - uwzględnione są punkty i kary.
Czyli można powiedzieć że wszystko jest zrobione i czeka na gruntowne testy.

Zostanie tylko przystosowanie tego do DIV1/2. Jakieś sugestie? mam nadzieję że nie będziecie chcieli robić kontroli kto jest w której dywizji? MOżna po prostu założyć 2 równoległe serwisy ale to by wymagało podwójnej rejestracji, uploadowania skinów etc.
 
McLaren


Dołączył: 07 Sty 2003
Posty: 736
Miasto: Białystok GG:1156269

Post2003-07-28, 13:50      SkinControl Odpowiedz z cytatem
ja bym proponowal jedna liste kierowcow i 2 oddzielne serwisy punktacji. Przyniesie to skutek ze w div1 i 2 nie moga byc takie same numery startowe i kierowcy z div1 i 2 beda posiadac swoje skiny, ktore przeydadza sie podczas treningow bo nie wiadomo jak sie beda one odbywac ale zapewne bedza one wspolne... a moze nie
 
MaXyM


Dołączył: 17 Sie 2001
Posty: 6289
Miasto: Kraków GG:1905678

Post2003-07-28, 14:25      SkinControl Odpowiedz z cytatem
OK.
Mc, mógłbyś wypełnić tabelę kar ich definicjami?
 
witek_p


Dołączył: 24 Sty 2003
Posty: 1251
Miasto: Katowice GG 2425547

Post2003-07-28, 15:05      SkinControl Odpowiedz z cytatem
Trochę trochę zboczę z tematu, ale do kogo teraz zgłaszać chęć startów w lidze, czy tak jak na nascar.pl do Richiego czy rejestrować się u Ciebie MaXyM i będzie to dalej przekazywane odpowiednim osobom.
Soory za może głupie pytanie ale się już zakręciłem.
Pozdr.
 
MaXyM


Dołączył: 17 Sie 2001
Posty: 6289
Miasto: Kraków GG:1905678

Post2003-07-28, 15:17      SkinControl Odpowiedz z cytatem
W serwisie który tworzę możesz się rejestrować bez przeszkód (ale sprawdź najpierw na www.nascar.pl czy nr który chcesz mieć nie jest uzywany żeby potem nie było problemów).

Serwis ten (pod tym adresem) ma charakter testowy więc robisz to na własną odpowiedzialność. Jednakże staram się żeby dane nie ulegały usunięciu. Potem zostaną one przeniesione do bazy danych z której będzie czerpać oficjalny serwis.

Co do dopuszczenia do ligii jak i podziału na Div1/Div2, decydować będzie Szefostwo pewnie gdzieś w okolicy września. Do tego czasu możesz w moim serwisie sam się aktywować w panelu sędziego.
Ma to tę zaletę że będziesz mógł już ludziom udostępnić swojego skina, i brać udział w wakacyjnych treningach ze swoim malowaniem.

BTW (do Kierownictwa ): kiedy stanie serwer z N2003?
 
witek_p


Dołączył: 24 Sty 2003
Posty: 1251
Miasto: Katowice GG 2425547

Post2003-07-28, 15:21      SkinControl Odpowiedz z cytatem
OK. Dzieki.
Pozdr.
 
MaXyM


Dołączył: 17 Sie 2001
Posty: 6289
Miasto: Kraków GG:1905678

Post2003-07-29, 01:00      SkinControl Odpowiedz z cytatem
Hehe. A zaokrąglanie miało być takie proste.
Szkoda tylko że MySQL pod RedHatem zaokrągla połówki do liczb parzystych
ROUND(1.5) = 2
ROUND(2.5) = 2
ROUND(3.5) = 4

Pod windowsami zaokrągla w dół.

Zadanie dla ambitnych: napisac algorytm zaokrąglania nie korzystając z ROUND. Można z CEILING, FLOOR, TRUNCATE
Oczywiscie można stosowac warunki.

Ja napisałem ale nie wiem czy nie można prostszego alg. Już późno. Idę spać.

BTW: dzięki McLarenowi za pomoc w testowaniu serwisu.
 
Nogal


Dołączył: 18 Sie 2001
Posty: 5672
Miasto: Kraków

Post2003-07-29, 06:39      SkinControl Odpowiedz z cytatem
No to jesli liczba = 1.5, 2.5 etc. to dodaj 0.01 i zaokraglaj. Zeby sprawdzic czy jest to 1.5, 2.5 etc. podziel przez 0.5 i sprawdz czy wynik jest liczba calkowita.
 
MaXyM


Dołączył: 17 Sie 2001
Posty: 6289
Miasto: Kraków GG:1905678

Post2003-07-29, 07:26      SkinControl Odpowiedz z cytatem
Hehe. No a jak bedzie 1.49 ?? to po dodaniu 0.01 bedzie połówka i co wtedy? Poza tym to musi się zmieścić w zapytaniu SQLowym.

Ja to zrobiłem tak:

IF (Liczba-0.5<TRUNCATE(Liczba, 0), FLOOR(Liczba), CEILING(Liczba))

co oznacza "jeśli Liczba-0.5 jest mniejsza od Liczby po odcięciu ułamka (całkowitej) to wynikiem jest nawięjsza liczba całkowita mniejsza od Liczby (FLOOR), w przeciwnym razie najmniejsza liczba całk. większa od Liczby (CEILING).

Problem w tym że w moim konkretnym wypadku

Liczba = PenaltyPoints * PenaltyFactor / 100. Więc mamy 4 razy takie samo wyrażenie na dodatek z dzieleniem i mnożeniem. Stąd konkurs na wydajniejszy algorytm
 
PiotreQ





Post2003-07-29, 07:45      SkinControl Odpowiedz z cytatem
Ale przecież Liczba jest wyliczana tylko raz, a nie za każdym wywołaniem.
 
MaXyM


Dołączył: 17 Sie 2001
Posty: 6289
Miasto: Kraków GG:1905678

Post2003-07-29, 08:29      SkinControl Odpowiedz z cytatem
Poniżej mały SQL (nie mogłem się powstrzymać ) liczący sumy punktów kar dla kierowcy w danym wyścigu. Czy wartość PenaltyPoints * PenaltyFactor / 100 jest wyliczana raz? Może optymalizator faktycznie o to zadbał ale prawdę powiedziawszy mam wątpliwości.
Oczywiście to czysto akademicka dyskusja, bo obciążenie maszyny takimi obliczeniami będzie znikome tym bardziej biorąc pod uwagę częstotliwość odświeżania strony z takimi zestawieniami.

SELECT *,
SUM(IF(PenaltyPoints * PenaltyFactor / 100 - 0.5 < TRUNCATE (PenaltyPoints * PenaltyFactor / 100,0), FLOOR(PenaltyPoints * PenaltyFactor / 100), CEILING(PenaltyPoints * PenaltyFactor / 100))) AS PenaltySum
FROM (RacePenalties
LEFT JOIN Penalties ON RacePenalties.IDpenalty = Penalties.IDpenalty)
LEFT JOIN N2003_drivers ON RacePenalties.IDcar = N2003_drivers.IDcar
WHERE RacePenalties.IDcar=8 AND IDrace=4
GROUP BY RacePenalties.IDcar;
 
PiotreQ





Post2003-07-29, 09:10      SkinControl Odpowiedz z cytatem
Czemu nie zastąpisz całego wyrażenia PenaltyPoints * PenaltyFactor / 100 jedną znienną wyliczaną tylko raz ?
Będzie szybciej
 
Centrum Fanów Symulatorów » Nascar Racing Season 4,2002,2003 Nascar Real » SkinControl Idź do strony Poprzedni  1, 2, 3 ... 7, 8, 9 ... 18, 19, 20  Następny
Napisz nowy temat  Odpowiedz do tematu
Skocz do: