Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem dodeljivanja igračkog stola

[es] :: Pascal / Delphi / Kylix :: Problem dodeljivanja igračkog stola

Strane: 1 2

[ Pregleda: 3757 | Odgovora: 21 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

rick_hunter
rick hunter

Član broj: 178288
Poruke: 10
*.dynamic.isp.telekom.rs.



Profil

icon Problem dodeljivanja igračkog stola06.06.2018. u 08:13 - pre 70 meseci
Pozdrav.Napravio sam program za uparivanje igrača za igranje neke društvene igre, tipa riziko.
Ima nekoliko stolova sa različitim terenima, tj stolova ima upola manje od broja igrača (na pr. 10 igrača 5 stola, 12 igrača 6 stola). Po dva igrača igraju za jednim stolom.
Da li ima neko ideju kako bih mogao da dodelim igračima svaki put različit sto, sve dok je to moguće?
Da napomenem da imam bazu u kojoj sve beležim.

Unapred hvala!
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Problem dodeljivanja igračkog stola06.06.2018. u 09:49 - pre 70 meseci
Pogledaj Bergerov sistem za uparivanje igrača po kolima:
https://sr.wikipedia.org/sr-el...%D0%B1%D0%BB%D0%B8%D1%86%D0%B5
 
Odgovor na temu

rick_hunter
rick hunter

Član broj: 178288
Poruke: 10
*.static.isp.telekom.rs.



Profil

icon Re: Problem dodeljivanja igračkog stola06.06.2018. u 13:49 - pre 70 meseci
Bergerov sistem je uparivanje igrača. Ne vidim kako mogu da ga primenim za dodeljivanje stolova igračima.
Probao sam da u bazi za svakog igrača beležim za kojim stolom je igrao a zatim kod sledeće dodele stolova iščitavao te podatke i vršio proveru da li je igrao za tim stolom ali često se desi da poslednji par nema dodeljen sto jer je ostao sto na kojem je jedan od tih igrača već igrao.

primer kako bi trebalo da bude:

1. kolo
Igra1 - Igrac2 -> Sto 1
Igra3 - Igrac4 -> Sto 2
Igra5 - Igrac6 -> Sto 3
Igra7 - Igrac8 -> Sto 4


2. kolo

Igra1 - Igra3 -> Sto 3
Igra2 - Igra4 -> Sto 4
Igra5 - Igra7 -> Sto 1
Igra6 - Igra8 -> Sto 2


U ovom slučaju igra se do 2. kola.

 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Problem dodeljivanja igračkog stola06.06.2018. u 15:06 - pre 70 meseci
> Bergerov sistem je uparivanje igrača. Ne vidim kako mogu da ga primenim za dodeljivanje stolova igračima.

Sve to što tebe sad muči je već razrađeno, ako u tvom turniru igra svako sa svakim, rešenje je to.
Berger je sistem i tablice napravio pre svega za šah gde je osim uparivanja itekako bitan sto za kojim se partija odigrava. Ako pogledaš tablice pažljivije videćeš raspored parova, ujedno i raspored stolova.
 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 932
*.dynamic.isp.telekom.rs.



+31 Profil

icon Re: Problem dodeljivanja igračkog stola06.06.2018. u 21:03 - pre 70 meseci
Šta ti je ovde prioritetnije, da igračima dodeliš uvek različite stolove ili da igrač uvek igra sa različitim igračima, a da sto može da se ponavlja.

[Ovu poruku je menjao Milan Milosevic dana 06.06.2018. u 23:02 GMT+1]
 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 932
*.dynamic.isp.telekom.rs.



+31 Profil

icon Re: Problem dodeljivanja igračkog stola06.06.2018. u 21:57 - pre 70 meseci
Evo ti rešenje za primer šest igrača i tri stola.
Levog igrača pomeraš za po jedno mesto ulevo, a desnog za po jedno mesto udesno.
Ukoliko nema više mesta probaciš ga na kraj odnosno početak.

Code:

[1,2]  [3,4]  [5,6]
[3,6]  [5,2]  [1,4]
[5,4]  [1,6]  [3,2]
 
Odgovor na temu

((BugA))
Igor Djordjevic
Bor, Srbija

Član broj: 29241
Poruke: 196
87.116.183.*

ICQ: 66516695
Sajt: www.MalamutKlub.com


+17 Profil

icon Re: Problem dodeljivanja igračkog stola06.06.2018. u 23:32 - pre 70 meseci
Citat:
savkic: Berger je sistem i tablice napravio pre svega za šah gde je osim uparivanja itekako bitan sto za kojim se partija odigrava. Ako pogledaš tablice pažljivije videćeš raspored parova, ujedno i raspored stolova.

Možda mi nešto promiče, ali mislim da ovo nije tačno. Ako kolone/parove obeležimo brojevima (predstavljajući stolove), vidimo npr. da poslednji igrač uvek igra na prvom stolu (dok mu se protivnici menjaju). E sad, ovo valjda u šahu i ima logike, jer mislim da tu sto za kojim se igra zapravo ipak nije bitan(?), ali jeste bitno ko dobija bele/crne figure, a to se menja (koliko god je ravnomerno moguće).

Dalje, uzimajuću situaciju sa šest igrača i tri stola kao prost (ne i najprostiji) primer za manuelnu analizu, vidimo da nije moguće zadovoljiti uslov da kroz kola igra svako sa svakim (bez ponavljanja), a da pritom igrači ne ponavljaju sto za kojim su igrali (što je i logično, jer imamo pet kola a tri stola). Obrni-okreni, koristeći Bergerove tablice ali ipak menjajući sto za kojim par igra (kolonu u kojoj se par u kolu nalazi), već u trećem kolu dva igrača će ponovo igrati na nekom od stolova za kojima su igrali u prva dva kola (u tabeli ispod obeleženo zvezdicom) - ali ako ispratimo distribuciju stolova kroz sva moguća kola, na kraju opet dolazimo da je ona najpribližnija idealnoj, koliko god je to moguće (isto kao i sa distribucijom belih/crnih figura).

kolo, par za stolom (Bergerova tablica, sa promenom kolona u kojoj se par nalazi - stola na kome igra)
I II III
1 1:6 2:5 3:4
2 5:3 6:4 1:2
3 2:6 3:1 4:5
4 1:4 2:3 6:5
5 4:2 5:1 3:6

igrač, sto u kolu
1 2 3 4 5
1 I III II I* II*
2 II III I II* I*
3 III I II II* III*
4 III II III* I I*
5 II I III III* II*
6 I II I* III III*

igrač, igrao za stolom
1 Ix2 IIx2 III
2 Ix2 IIx2 III
3 I IIx2 IIIx2
4 Ix2 II IIIx2
5 I IIx2 IIIx2
6 Ix2 II IIIx2

igrač, igrao kao beli/crni
1 beli: 3 crni: 2
2 beli: 3 crni: 2
3 beli: 3 crni: 2
4 beli: 2 crni: 3
5 beli: 2 crni: 3
6 beli: 2 crni: 3
 
Odgovor na temu

rick_hunter
rick hunter

Član broj: 178288
Poruke: 10
*.dynamic.isp.telekom.rs.



Profil

icon Re: Problem dodeljivanja igračkog stola07.06.2018. u 00:15 - pre 70 meseci
Citat:
Milan Milosevic:
Šta ti je ovde prioritetnije, da igračima dodeliš uvek različite stolove ili da igrač uvek igra sa različitim igračima, a da sto može da se ponavlja.

[Ovu poruku je menjao Milan Milosevic dana 06.06.2018. u 23:02 GMT+1]


Bitne su mi obe stvari. Inače igrače uparujem na osnovu rang liste (prvo plasirani sa drugim, treći sa četvrtim...) tako da jaki igraju sa jakima a slabi sa slabima ali pod uslovom da se dva igrača ne susretnu dva puta.Ne odigraju se sva kola.
Na primer za 20 igrača (uvek je paran broj) odigra se od 4 do 5 kola i tu se igra završava i proglašava pobednik.

 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Problem dodeljivanja igračkog stola07.06.2018. u 00:17 - pre 70 meseci
> Možda mi nešto promiče, ali mislim da ovo nije tačno. Ako kolone/parove obeležimo brojevima (predstavljajući stolove), vidimo npr. da poslednji
> igrač uvek igra na prvom stolu (dok mu se protivnici menjaju). E sad, ovo valjda u šahu i ima logike, jer mislim da tu sto za
> kojim se igra zapravo ipak nije bitan(?), ali jeste bitno ko dobija bele/crne figure, a to se menja (koliko god je ravnomerno moguće).

U pravu si, prevideo sam poslednjeg igraca i njegov raspored po stolovima. Ne znam sto je to tako ispalo, verovatno je takav osnovni algoritam, verujem da ima neka varijanta (poput tvog primera) gde je sto random.

 
Odgovor na temu

((BugA))
Igor Djordjevic
Bor, Srbija

Član broj: 29241
Poruke: 196
87.116.183.*

ICQ: 66516695
Sajt: www.MalamutKlub.com


+17 Profil

icon Re: Problem dodeljivanja igračkog stola07.06.2018. u 00:24 - pre 70 meseci
Citat:
rick_hunter:
Citat:
Milan Milosevic:Šta ti je ovde prioritetnije, da igračima dodeliš uvek različite stolove ili da igrač uvek igra sa različitim igračima, a da sto može da se ponavlja.

Bitne su mi obe stvari. Inače igrače uparujem na osnovu rang liste (prvo plasirani sa drugim, treći sa četvrtim...) tako da jaki igraju sa jakima a slabi sa slabima ali pod uslovom da se dva igrača ne susretnu dva puta.Ne odigraju se sva kola.
Na primer za 20 igrača (uvek je paran broj) odigra se od 4 do 5 kola i tu se igra završava i proglašava pobednik.


Kako ti nije bitno da svako igra sa svakim, Milan ti je već dao rešenje za to (sa sve objašnjenjem algoritma) - tu je maksimalni broj kola jednak broju stolova, a da se neki par ne ponovi (ako dobro vidim).

Za situaciju da je potrebno da svako igra sa svakim, onda ti je rešenje ono što sam ja napisao, Bergerova tablica sa malom modifikacijom u smislu pomeranja parova u okviru kolona (stolova). Tu je maksimalan broj kola za jedan manji od broja igrača (za paran broj igrača), gde će se neki stolovi ravnomerno (koliko je to moguće) ponavljati.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Problem dodeljivanja igračkog stola07.06.2018. u 00:27 - pre 70 meseci
> Bitne su mi obe stvari. Inače igrače uparujem na osnovu rang liste (prvo plasirani sa drugim, treći sa četvrtim...) tako da jaki igraju sa jakima
> a slabi sa slabima ali pod uslovom da se dva igrača ne susretnu dva puta.Ne odigraju se sva kola.

To onda liči na švajcarski sistem parovanja, s tim što je kod njega raspored po stolovima shodno plasmanu (prvoplasirani je uvek na prvom). Elem, verovatno ima neka varijanta gde je raspored po stolovima random.


 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 932
*.dynamic.isp.telekom.rs.



+31 Profil

icon Re: Problem dodeljivanja igračkog stola07.06.2018. u 06:09 - pre 70 meseci
Citat:
rick_hunter:
Citat:
Milan Milosevic:
Šta ti je ovde prioritetnije, da igračima dodeliš uvek različite stolove ili da igrač uvek igra sa različitim igračima, a da sto može da se ponavlja.


Bitne su mi obe stvari. Inače igrače uparujem na osnovu rang liste (prvo plasirani sa drugim, treći sa četvrtim...) tako da jaki igraju sa jakima a slabi sa slabima ali pod uslovom da se dva igrača ne susretnu dva puta.Ne odigraju se sva kola.
Na primer za 20 igrača (uvek je paran broj) odigra se od 4 do 5 kola i tu se igra završava i proglašava pobednik.



Nigde nisi u uvodnom postu spominjao sparivanje po rejtingu igrača.

Ovo ti komplikuje stvar i prosto ne postoji optimalno rešenje jer ne postoji način da utvrdiš koji će igrač izaći kao pobednik iz duela što te sprečava da predvidiš idealnu kombinaciju stolova.

Treba razmisliti o mogućnosti većeg broja stolova tako da se u određenim partijama ne igra na svim stolovima.
Neki mogu da ostanu prazni tj. bez igrača.
Razmisli i o toj mogućnosti.
 
Odgovor na temu

rick_hunter
rick hunter

Član broj: 178288
Poruke: 10
*.static.isp.telekom.rs.



Profil

icon Re: Problem dodeljivanja igračkog stola07.06.2018. u 07:00 - pre 70 meseci
Citat:
Milan Milosevic:

Citat:
savkic:
> Bitne su mi obe stvari. Inače igrače uparujem na osnovu rang liste (prvo plasirani sa drugim, treći sa četvrtim...) tako da jaki igraju sa jakima
> a slabi sa slabima ali pod uslovom da se dva igrača ne susretnu dva puta.Ne odigraju se sva kola.


Nigde nisi u uvodnom postu spominjao sparivanje po rejtingu igrača.

Ovo ti komplikuje stvar i prosto ne postoji optimalno rešenje jer ne postoji način da utvrdiš koji će igrač izaći kao pobednik iz duela što te sprečava da predvidiš idealnu kombinaciju stolova.

Treba razmisliti o mogućnosti većeg broja stolova tako da se u određenim partijama ne igra na svim stolovima.
Neki mogu da ostanu prazni tj. bez igrača.
Razmisli i o toj mogućnosti.



Uparivanje nije unapred poznato. Za prvo kolo (uparivanje) radi se žreb. Po odigranom prvom kolu radi se rangiranje pa zatim uparivanje za drugo kolo, pa zatim po završetku mečeva drugog kola na osnovu rang liste radi uparivanje za treće kole i sve tako do n kola. Nije potrebno da igra svako sa svakim jer je to previše mečeva, uglavnom se igra od 4 do 5 kola. Oni koji uglavnom pobeđuju igraće će takođe sa onima koji pobeđuju a oni koji gube igraće takođe sa onima koji gube. Tako da se dobijaju mečevi da jaki igraju sa jakima a slabi sa slabima.


[Ovu poruku je menjao rick_hunter dana 07.06.2018. u 08:18 GMT+1]
 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: Problem dodeljivanja igračkog stola08.06.2018. u 03:01 - pre 70 meseci
Pa ako je samo to problem, sto ne uvedes neki fiktivni broj, koji ce sadrzati podatak o statistici igraca? Recimo svaka pobeda donosi 30 bodova, svaki poraz oduzima 25. Onda u zreb ubacujes samo one koji su recimo, 100-200 poena, 200-300 poena, 300-600 poena, itd.
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: Problem dodeljivanja igračkog stola08.06.2018. u 03:04 - pre 70 meseci
Ili da ubacis podatak, ako se igra 1 na 1 (nisam obratio paznju da je i to moguce jer si spomenuo riziko, koji se obicno igra sa 2+) koji je bio poslednji protivnik i matchmaking da mu jednostavno ne dozvoli igru sa njim. Mozes i da iskombinujes poene i "lastplayed".

Tebi ne treba algoritam ovde, vec masta.
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Problem dodeljivanja igračkog stola08.06.2018. u 06:01 - pre 70 meseci
Ako je 16 takmicara, u prvom krugu ima 8 parova.
Posle prvog kruga se dobijaju dva nivoa:

8 - pobednika
8 - gubitnika

8 pobednika mogu igrati medju sobom. 4 parova igra u sledecem krugu.
8 gunitnika igraju medju sobom. 4 parova igra u sledecem krugu.

Posle drugog kruga 4 nivoa:

4 - pobednika - pobednika
4 - pobednika - gubitnika
4 - gubitnika - pobednika
4 - gubitnika - gubitnika

Posle treceg kruga kruga:

2 - pobednika - pobednika - pobednika
2 - pobednika - pobednika - gubitnika
...

To je isto kao na teniskim turnirima.
Jedina je rqazlika sto ovde i porazeni igraju.
Posle svakog kola postoji novi nivo porazenih.

Problem je pocetni broj takmicara.
U prvom kolu broj takmicara mora da bude 2**Broj kola.

Ako ih im a 20 onda od tih 20 treba dobiti 16.
Tako se na teniskim turnirima igraju kvalifikacije.
Ovde bi se moglo zrebom odrediti kji takmicari se moraju kvalifikovati.
O 8 kvalifikanata 4 pobednika se kvalifikuju a 4 ispadaju sa takmicenja.
Tako se dobija 16 za prvo kolo.

Ako svih 20 mora da igra bez kvalifikacija onda za to treba vise vremena i ideja.
 
Odgovor na temu

rick_hunter
rick hunter

Član broj: 178288
Poruke: 10
*.static.isp.telekom.rs.



Profil

icon Re: Problem dodeljivanja igračkog stola08.06.2018. u 09:31 - pre 70 meseci
Citat:
rick_hunter:
Pozdrav.Napravio sam program za uparivanje igrača za igranje neke društvene igre, tipa riziko.
Ima nekoliko stolova sa različitim terenima, tj stolova ima upola manje od broja igrača (na pr. 10 igrača 5 stola, 12 igrača 6 stola). Po dva igrača igraju za jednim stolom.
Da li ima neko ideju kako bih mogao da dodelim igračima svaki put različit sto, sve dok je to moguće?
Da napomenem da imam bazu u kojoj sve beležim.

Unapred hvala!


Ja sam već napravio kako će igrači da se uparuju i to nije problem, nego mi je problem kako da izvedem da igrači igraju svaki put na različitom stolu?
Probao sam tipa da se u prvom kolu stolovi dodeljuju random i to je ok. U drugom i sledećim kolima vršio sam proveru da li su igrači igrali na navedenom stolu, ako jesu, proveri sledeći sto a ako nisu dodeli ga.Često se desi da napravi problem kod zadnjeg para. Naime svim predhodnim parovima su dodeljeni brojevi stolova na kojima nisu igrali a zadnjem paru ostao je sto na kojem je već igrano.





 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Problem dodeljivanja igračkog stola08.06.2018. u 11:29 - pre 70 meseci
Ako se rangiraju to je onda kriterijum.
Sto je onda bitno na kom stolu igraju?
 
Odgovor na temu

rick_hunter
rick hunter

Član broj: 178288
Poruke: 10
*.static.isp.telekom.rs.



Profil

icon Re: Problem dodeljivanja igračkog stola08.06.2018. u 12:12 - pre 70 meseci
Citat:
tkaranovic:
Ako se rangiraju to je onda kriterijum.
Sto je onda bitno na kom stolu igraju?


Svaki sto ima drugačiju mapu i teren.
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Problem dodeljivanja igračkog stola08.06.2018. u 16:18 - pre 70 meseci
Sad vidim da si to vec napisao gore.

Jednom () sam pravio programcic za jednu malu stampariju.
Trebalo je na osnovu dimenzija u naterijalu izanrati onu koja ima najmanje skarta.
Stampar je mislio da je vrlo komplikovano pronaci koja je od velikog broja opcija najbolja.
Jednostavno resenje je bilo da se sortiraju prvih 10 i svaka sledeca se ili ubaci u listu ili se ide dalje.
Stampar je bio zadibljen resenjem ;)
Na kraju se dobije 10 najboljih opcija.
Najbolja od tih 10 je sa najmanje skarta.
Malo sam pojednostavio tu pricu.

Poenta je da se sve opcije izvte i pronadje najbolja.

U ovom slucaju bi to bilo da se svi stolovi krenu vrteti redom dok ne daju resenje za sve parove.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Problem dodeljivanja igračkog stola

Strane: 1 2

[ Pregleda: 3757 | Odgovora: 21 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.