Stoper

Fabian Lepsy
  • Rejestracja:ponad 2 lata
  • Ostatnio:ponad 2 lata
  • Postów:2
0

Cześć,
pracuję nad projektem webowym, z wykorzystaniem Javy i wyświetlaniem JSP (wytyczne z kursu).
Chcę zrobić serwis do układania kostki Rubika dla speedcuberów.
Potrzebuję wyświetlić stoper który zapisze dane do zmiennej w controllerze, tak żebym mógł zapisać go w sql.
W pierwszej kolejności zrobiłem stoper w javascript, niestety mialem problem z przesłaniem wyniku do controllera.
Moje pytanie, jak mógłbym przesłać wartości utworzone w momencie zatrzymania stopera do controllera, ewentualnie czy jest możliwość żeby zrobić taki stoper w samej Javie (takie rozwiązanie preferowałbym), myślałem też nad rozwiązaniem które zapisuje aktualny czas po naciśnięciu przycisku 'start', następnie odejmuje od aktualnego po naciśnięciu przycisku 'stop', ten pomysł też nie chciał mi zadziałać.

edytowany 1x, ostatnio: Riddle
K5
Co to za kurs, że wymusza JSP?
marcyse
  • Rejestracja:około 4 lata
  • Ostatnio:7 miesięcy
  • Postów:76
2

Czy nie lepiej pobierać czas ze strony backendu?

Fabian Lepsy
Jasne że lepiej, tylko nie mam pomysłu jak to zrobić, żeby zainicjować pobieranie czasu z poziomu UI.
marcyse
po co? niech sobie UI leci swoim tempem, a czas będzie pobierany po backendzie i tak kazdy moze ci zmodyfikowac ten zegarek na froncie
piotrpo
  • Rejestracja:ponad 7 lat
  • Ostatnio:16 dni
  • Postów:3277
0
Fabian Lepsy napisał(a):

pracuję nad projektem webowym, z wykorzystaniem Javy i wyświetlaniem JSP (wytyczne z kursu).

Bez żadnych złośliwości, może warto poszukać kursu z obecnego tysiąclecia?
Masz jakiś tam stoper w JS
Dobudowujesz do tego jakiś serwis w Springu (jak już masz go w tagu)
Serwis wystawia:

POST /results
Do którego następnie przesyłasz coś na kształt:

Kopiuj
{
  "username":"SzybkiLopez",
  "resolutionTime":74
}

Zrobione.

pedegie
a jak tam wyślę 0 to wygram?
marcyse
to 0 to liczba czy string bo to wazne czy wygrales
piotrpo
Jak otworzysz sobie stronkę i klikniesz "stop" zanim ułożysz kostkę, to też "wygrasz"
pedegie
  • Rejestracja:około 11 lat
  • Ostatnio:ponad rok
  • Postów:204
0

Tak jak @marcyse napisał, nie możesz z frontu wysyłać czasu rozwiązania bo tam każdy może podać co chce, trzeba to na backendzie liczyć. Przed wysyłka z controllera wygeneruj sobie UUID gry, czas i przypisz go do użytkowników. Później jak ktoś skończy, to sprawdzasz na backendzie czy request pochodzi od użytkownika który brał udział w tej grze i tam liczysz ile to zajęło. Naturalnie Ci z mniejszym latency będą mieli większe szanse na wygraną

_13th_Dragon
  • Rejestracja:prawie 20 lat
  • Ostatnio:10 dni
0
pedegie napisał(a):

Naturalnie Ci z mniejszym latency będą mieli większe szanse na wygraną

Zapewniam cię że nawet jak założysz 30 cm obcasy to z Michaelem Jordanem w kosza nie wygrasz.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
pedegie
wtedy byłbym od niego o 17cm wyższy
_13th_Dragon
No właśnie, ale nadal byś nie wygrał.
pedegie
Ja nie, ale taki Larry Bird już tak, a jak układamy kostke rubika na czas to te 200ms na topowym poziomie robi kolosalną różnice
Fabian Lepsy
  • Rejestracja:ponad 2 lata
  • Ostatnio:ponad 2 lata
  • Postów:2
1

W tej aplikacji nie ma chodzić o to żeby 'wygrać' jak najmniejszym czasem. Użytkownik liczy czas dla siebie, żeby poznać swoje statystyki, średnie czasy i móc kontrolować progress. Dlatego można dodać minimalny czas, natomiast nie ma takiego sensu.

piotrpo
  • Rejestracja:ponad 7 lat
  • Ostatnio:16 dni
  • Postów:3277
1

@Fabian Lepsy: Czyli dobrze zgadłem. Ja bym to zrobił w ten sposób, że mam stronkę, która sama z siebie liczy czas, na koniec wysyła rezultat do "backendu". Koncept masz w moim poprzednim poście.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.