Jump to content

Ētikas jautājums


itanium
 Share

Recommended Posts

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 - itanium
Link to comment
Share on other sites

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

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

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

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 - J.Reinis
Link to comment
Share on other sites

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

  • Patīk 2
Link to comment
Share on other sites

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

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 - Vilx-
Link to comment
Share on other sites

MakeMeGoAway

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

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 - itanium
Link to comment
Share on other sites

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 kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...