-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hraní hry #16
Comments
Podle mě server by neměl hned po odesílání slov posílat zprávu round_started.
Nebo hodnocení se děla až na konci, až skončíme hrát všechna kola? Tým pádem by to fungovalo jak jsi to napsal. |
Chtěl jsem také říct, že do 6. prosince nebudu moct dělat na projektu kvůli odevzdaní projektu GMU :( |
Může být, mj. v současnosti bych ani to ruční vyhodnocení neřešil, až pokud by byl čas, což nebude To je celkem rána, protože tu Activity část's měl nastudovanou, resp. nemám moc projité ty Async věci ... prosil bych zbytek, aby se taky přidal, ať to neděláme dva...už jeden |
Dneska ještě dodělám odesílání slov, aktivace nového kola |
To bude skvělé, díky moc. Tak ať to GMU dáš v pohodě |
Díky, myslím to bude v pořádku.
|
Na serveru, už je to opraveno |
Super, díky. Zatím ale server neodesílá odpověd' |
Nevím jestli jsi něco opravoval nebo ne, ale už vidím zprávu round_started) asi to byla moje chyba |
Aha, po debatě zakomentoval. Tak jsem to zase aktivoval. Navíc to pro účely round_started/game_finished už ignoruje staré zprávy. Teď mě napadá, že nevim jak řešit uplynutí limitu, zatím je to jen po odeslání všech odpovědí, tzn. funguje, pokud odešlou všichni, ale kontroluje se aktuální počet, ne max. tzn. to jede i pokud hraješ sám a # hráčů = 1. |
Asi to navážu na get_messages...jo, to by šlo |
Jak navažeš na get_messages? Mohl bys to prosím vysvětlit? Myslel jsem si, že pokud někdo skončí dřív, než uplyne ten limit, tak zmačne hotovo. Server na první takovou zprávu odpoví round_started. Na ostatní zprávy send_words pro ten round nebude odpovidat nic. Ten druhý hrač dostane zprávu round_started, a až tu zprávu dostane tak automatický se odešle to, co on vyplnil a přepne ho do nového kola. Pokud uplyne limit, tak odešleme slova. Server na první takovou zprávu odpoví round_started. Na ostatní zprávy send_words pro ten round nebude odpovidat nic. Tym pádem ale všichni ostatní hráči dostanou zprávu round_started i když pro ně limit ne uplynul (to se asi muže stat kvůli tomu že někdo má rychlejší internet, nekdo pomalejší a nezačinaji vyplnovat kolo současně) Možna rozumím tomu špatně.. pokud ano, prosím o vysvětlení |
Aha ... máš pravdu, to mě nenapadlo, pošle se to samo. Tak okey. Pardon za zmatení |
Ted' jsem zkusil odeslat slova v hře která má 2 kola. Server odpovídá zprávou game_finished |
Hned po odeslání slov s round=1 to pošle game_finished? To je divné...mrknu na to |
Hmm, nějak blbne fetchColumn ... už by to mělo být opravené |
Díky, už to funguje. Ještě jeden dotaz.. Zkusil jsem spustit dva emulatory aby bylo tam dva hrače. Tak pokud tam je dva hrače a jeden odešle slova, tak server neodesila pak round_started. Myslel jsem si že pokud jeden hráč vyplni, tak round se skončí, ne? |
Aha, já myslel že až všichni, tak jsem to změnil, je to triviální |
Super, funguje. Můžu tě taky poprosit abys udělal to tak aby server odesilal zprávu round_started jen po obdržení prvního výsledku tohoto kola? Protože ted' funguje to tak že round_started se odesila po obdržení odpovědi od každého hráče. Tým pádem po prvním roundu, pokud máme tří hráče, server odešle tří zprávy round_started, a po prvním raundu bychom přešli do čtvrtého. |
aha, jasně :) to jsem nedomyslel |
Tak teď snad? |
Nic se asi nezměnilo .. |
Když se dívám do databáze, třeba 184, tak se zdá, že to funguje dobře, po 1. send_words už to nehází round_started pro další z toho kola ... přístup do DB máš, že? |
Přístup do DB mám, ted' se na to dívám... |
už vidím.. byla to chyba v mém kodu. po obdržení zprávy nastavoval jsem nové aktuální kolo a pak jsem odesílal slova. Mělo by to byt naopak) Pardon |
V pohodě, hlavně že se na to přišlo |
Přidal jsem odesílání slov, aktivace nového kola, přechod do Activity RoundEvaluation v případě zprávy game_finished. Ted to funguje trochu zvláštně: ten, kdo ukončí kolo první, odesílá slova (stejná) dvakrát. To nevadí nebo bude lepší když to upravím? |
Myslim že ne, kdyžtak to nějak pak upravim |
Dobrá práce! |
Díky. Neřekl bych že je dobrá (ma bagy), ale aspon nějak funguje. Chci se zepat jak to je s vyhodnocením opdovědi? Rozumím tomu správně že po skončení všech kol server odešle výsledky všíchnim hračům? |
To nevadí, díky. Budu teď cestovat, ale jak dojedu, tak to dodělám |
Teď už by to mělo dělat ten mechanismus, který jsme tu popisovali, snad to je správně Evaluace zatím nekontroluje, jestli jsou slova i v databázi ... jenom jestli je vyplnil hráč sám nebo i ostatní (ale doplnit tu kontrolu nebude problém) |
Hlavně že odesila výsledky. Za hodinu budu doma a začnu na tom pracovat.. |
Opravil jsem tak teďka chybu, že startovalo nové kolo se stejným $round, ne $round + 1...ale asi byste napsali, kdyby se to u nahrávání nějak projevilo |
Projevilo se to u nahravaní, ale myslel jsem si že to je chyba v mém kódu) Nahrali jsme dvakrat první kolo, Katka tam pak přídá obrázek aby to vypadalo, že to je druhé kolo. |
Ok, dobře, omlouvám se ... kdyžtak ještě až dokončíme tady toto, tak to může přidat |
Za chvílu teda víc testnu tu evaluaci Jinak zatím bych skryl ve vytváření hry (a seznamu her pokud je) to nastavení evaluace |
Akorát je drobnost, že pro finální hodnocení se musí vytáhnout ještě kolo round_limit + 1 |
Aktuální hodnocení kola teda můžeš vytáhnout z round_started (viz databáze), ještě jsem přidal command get_scores (viz Wiki) A doplnil command do Game, vrací Map<String, Integer> ~ Map<player_name => score> commit 8db6522 |
Mohl bys prosím vysvětlit na co potřebujeme metodu getScores()? Server to pošle automaticky, ne? |
V message GetScores jsou hodnocení hráčů dohromady za všechny kola (nemusíš dělat součet v aplikaci). Přemýšlím, že by v evaluation místo player_id mohly být taky jména ... to si kdyžtak řekni |
Jasně, díky. Jména by byli lepší, protože id v aplikaci neznáme a nemůžeme je namapovat. Také podle mě bylo by dobrý kdyby zpráva s hodnocením kola také obsahovala slová, která hrače vyplnili. Aby bylo vídět za která slova kolika bodů dostal každý hrač. Co myslíš? |
Změnil jsem v evaluation player_id na player_name Přidal jsem do |
To player name už vidím, ale slova zatím ne.. Tady je zpráva |
Zkus teď prosím |
Už funguje, díky |
super |
Zkusel jsem get_scores. Mohl bys prosím udělat aby tam byli také jména hračů kromě bodů? Tady je zpáva kterou dostal jsem |
Zkus prosím teď |
Už funguje, díky |
Přidal jsem hodnocení. Neměl jsem ale čas to otestovat s více než jedním hráčem. |
Zkusil jsem záhrat s více než jedním hráčem a z nějakého důvodu to nejde. Nemůžu přejit od posledního kola do hodnocení, protože nedostavám zprávu round_started, pokud je tam více než jeden hrač. Pokud hrač je jeden, tak prně dostanu zprávu game_finished, pak round_started. Když mám dva hrače, tak dostavám zprávu game_finished, ale nedostavám round_started. |
Kouknu se na to |
A odesíláš i slova ostatních hráčů? |
Ano. V databazi je to vídět - posledni hra, id 364 |
Vidím to tam, ale zatim mi to nejde reprodukovat (resp. mě to teď funguje dobře) Aha, už možná chápu |
Zkus teďka Ona ta game_finished uzavřela hru a byla tam na to podmínka, teď už jde posílat i potom |
Pardon, že tak dlouho jsem odpovidal, nebyl jsem doma. Zkusil jsem to ted' a je to stejný.. hra 365 |
Tak teï u¾ by to opravdu mìlo jít Dne 7. prosince 2013 21:00 IevgenRagulin [email protected](a):
|
díky, už to jede |
Už by mělo být možno posílat hráčova slova
Na server jsem přidal handler, že pokud
zpráva == send_words & count(unique(send_words od hráčů v daném kole)) == player_count
, tak se aktivuje nové kolo přidáním zprávyround_started
, stejně jak to bylo minulé kolo. Pokud ovšemround == round_limit
, tak se místo toho přidágame_finished
.Jakmile bude nějaká databáze (wink, wink), tak přidám ještě před to vložení zprávy o bodech hráčů
Takže s vynecháním bodování by už mělo být teoreticky možné dodělat komplet hraní hry?
(updatována wiki - dole message)
The text was updated successfully, but these errors were encountered: