itanium Ierakstīts Septembris 27, 2014 Share Ierakstīts Septembris 27, 2014 (labots) Sveiki, biedri, man jums ir pavisam vienkāršs jautājums: kā kārtot labākos rezultātus spēlē? Ir spēle, kurai datubāzē tiek piefiksēts rezultāts (score),izmantotais laiks vai gājienu skaits (atkarīgs no līmeņa veida - dots konkrēts gājienu skaits vai laiks). Jautājums : kā attēlot pirmo desmitieku un noteikt konkrēta lietotāja vietu, ja ir spēlētaji, kuru rezultāts (score) ir vienāds? Kārtot pēc lietotāja vārda (alfabēts) vai rezultāta pievienošanas datuma, vai kā savādāk? Neskatoties uz to, ka gājienu skaits un patērētais laiks tiek piefiksēts, es nevēlētos tos atradīt lietotājam. Citur izmantotā pieeja: -kārtot pēc lietotāja vārda ("aaa" ar 80 punktiem ir pirmajā vietā, bet "aab" ar tik pat lielu punktu skaitu ir 2. vietā) -kārtot pēc rezultāta pievienošanas datuma un laika -vairākiem lieotājiem ir viena un tā paša vieta (1. vietā ir lietotājs "aaa" un "aab" ar 80 punktiem) Labots Septembris 27, 2014 - itanium Link to comment Share on other sites More sharing options...
itanium Septembris 28, 2014 Author Share Septembris 28, 2014 Un ja tie arī sakrīt? Link to comment Share on other sites More sharing options...
itanium Septembris 28, 2014 Author Share Septembris 28, 2014 Nav nemaz tik maz ticams: ja gājienu skaits līmenī ir fiksēts, tad var atšķirties tikai patērētais laiks un otrādi. Link to comment Share on other sites More sharing options...
nevertell Septembris 28, 2014 Share Septembris 28, 2014 Nav piefiksēts laiks, kurš pirmais dabūja to konkrēto punktu skaitu ? Jo krutāk tak ir, ja esi pirmais, kas savāca tos punktus. Link to comment Share on other sites More sharing options...
itanium Septembris 28, 2014 Author Share Septembris 28, 2014 Random gluži nederēs, jo top listes atrādīšana un vietas noteikšana konkrētam lietotājam, vismaz manā gadījumā, ir veikta ar diviem atsevišķiem vaicājumiem. Būtu ne pārāk jauki, ja atrādītais top 10 atšķirtos no tā, kas tiek atgriezts vietas noteikšanas vaicājumā. Rezultāta pievienošanas laiks nav piefiksēts, bet nav nekādu baigo problēmu piefiksēt. Jautājums: vai lietotājiem neradīsies pretenzijas pret to, ka viņiem nav izprotama top 10 un viņu vietas noteikšanas kārtība? Kā arī - mobilajām ierīcēm ekrāns (tā izšķirtspēja) ir tik liels cik ir - negribētos leaderboard papildināt ar score pievienošanas datumu un laiku. Manuprāt, problēma ir tieši ar pirmo 10nieku, jo to kaut kādā veidā ir jāsakārto un jāatrāda lietotājiem. Kā arī kaut kā ir jānosaka, kurš ta tu galu galā no tiem 10 esi (101. vai 103. vieta - nav īsti nekādas nozīmes). Link to comment Share on other sites More sharing options...
J.Reinis Septembris 28, 2014 Share Septembris 28, 2014 (labots) Jo krutāk tak ir, ja esi pirmais, kas savāca tos punktus. Es atkal domāju, ka interesantāk un sacensības garu labāk uzturētu sistēma, kurā pēdējais, kas dabūjis konkrēto punktu skaitu iegūtu pirmo vietu - t.i. sorēt pēc rezultāta sasniegšanas timestamp. Tas uzsistu asinis, jo tad iepriekšējais pirmās vietas ieguvējs būtu ieinteresēts spēlēt atkal, lai atgūtu vietu uz goda pjedstāla. Labots Septembris 28, 2014 - J.Reinis Link to comment Share on other sites More sharing options...
AndrisBB Septembris 28, 2014 Share Septembris 28, 2014 A kapec nevar ta ka salidzina punktu skaitu un ja sakrit, tad salidzina pateretos gajienus, ja veljoprojam sakrit, tad patereto laiku un ja veljoprojam sakrit tad kursh pirmais pievienoja 2 Link to comment Share on other sites More sharing options...
Dzonijs Septembris 28, 2014 Share Septembris 28, 2014 Tāpēc es atgādināšu,mēs dzīvojam Latvijas padomju Republikā un nekas to nav atcēlis un neatcels. Latvijā ir ap miljonu balstiesīgo , ja slasās (nu nesmuki skan be dotajā brīdī..) ap 500 cilvēku vienādi domājošu, tad tik skaisti var notestēt vēlēšanu sistēmu. Uhh. Link to comment Share on other sites More sharing options...
Grossmeister Septembris 28, 2014 Share Septembris 28, 2014 Neesi topikus sajaucis ? Link to comment Share on other sites More sharing options...
Vilx- Septembris 28, 2014 Share Septembris 28, 2014 (labots) Mans variants: ja rezultāti (skatoties gan uz punktiem, gan gājieniem/laiku) vienādi, tad arī piešķir abiem vienādas vietas. Uzsver to rezultātu tabulā ieviešot "vietas" kolonnu (tajā tad abiem būs vienādi cipari), kā arī šos abus atdali no iepriekšējiem/nākamajiem ar lielāku atstarpi (grupē). Grupas ietvaros sakārto alfabētiskā secībā. Piemēram: Vieta Vārds Punkti 1 Ansis 10000 1 Žanis 10000 2 Anna 9999 3 Pičus 9998 4 Svens 9000 4 Toms 9000 5 Josifs 8000 6 Baiba 7000 7 Nauris 6000 Labots Septembris 28, 2014 - Vilx- Link to comment Share on other sites More sharing options...
MakeMeGoAway Septembris 28, 2014 Share Septembris 28, 2014 Klasiska pieeja, kas novērojama, ir tāda, ka augstāk atrodas tas, kurš identisku rezultātu sasniedzis pirmais. Tobiš, ja Juris Zariņš 100 punktus 10 gājienos, tieši 3 minūtēs ir sasniedzis 3. septembra 12:27:31, bet Jānis Lejiņš identisku rezultātu ir sasniedzis kaut sekundi vēlāk, tad attiecīgi augstakā vietā atrodas Juris. Link to comment Share on other sites More sharing options...
itanium Septembris 28, 2014 Author Share Septembris 28, 2014 (labots) Paldies par viedokļiem, pagaidām izvēlējos šo: ORDER BY scores.score DESC, scores.timestamp ASC, players.name ASC Kāds datu bāžnieks varbūt varētu ieteikt zolīdāku/ātrāku risinājumu vietas ieguvei?Esošajā ir iekļauti 5 atlases vaicājumi: https://gist.github.com/itanium21/e2389e9e454d2cd8167a#file-get_place-py Labots Septembris 28, 2014 - itanium Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!