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

Algoritam za igru sa kartama

[es] :: Art of Programming :: Algoritam za igru sa kartama

Strane: 1 2

[ Pregleda: 19275 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Ivan Vasić

Član broj: 14756
Poruke: 631
*.verat.net

Jabber: ivasic@elitesecurity.org


Profil

icon Algoritam za igru sa kartama06.10.2003. u 23:40 - pre 250 meseci
Uopste nemam iskustva za pravljenje logickih igara pa mi (naravno) treba pomoc. Kako se uopste projektuju algoritmi za logicke igre tipa : hearts, reversi .. ???
radim sa C#-om.
Recimo da probam da napravim Hearts (svi ste igrali ovo znate o cemu se radi). Mislim da je suludo praviti IF ELSE ili SWITCH i sl. naredbe jer ima mali milion kombinacija za to. Zamislite da treba da se napravi sah ?!? Jel ima neko iskustva sa ovim ?

 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.bankmeridian.com

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Algoritam za igru sa kartama07.10.2003. u 08:51 - pre 250 meseci
Da, teško da bi neko preporučio swičove, a i ne bi bilo interesantno napraviti šah gde iz čitanja koda možeš videti koji potez kompjuter igra.
Program treba da ima svoju pamet, koja se sastoji iz poznavanja pravila igre i odlučivanja o potezu za igru. Ovaj drugi parametar odlučuje o njegovom kvalitetu. Primer mogu biti programi za šah, postoji ih više i suštinski se razlikuju u mašini za odlučivanje. Opet, mogu biti statički, u smislu da će uvek dati isti potez u istoj situaciji, zato što koriste predefinisanu bazu (veću ili manju) najjačih poteza iz otvaranja i jedinstven algoritam za odlučivanje koji se sastoji iz ocene jačine pozicija za svaku opciju, gde osnovnu ulogu nosi koliko će se programu dodeliti procesorskog vremena da donese svoju odluku - koliko poteza unapred će da misli... Mana ovakvog pristupa je što kad program gubi, uvek gubi u partiji koja je jednom izgubljena, jer uvek donosi istu odluku i uvek greši na istom mestu, a to je u stvari greška programera. Drugi pristup bih nazvao dinamičkim, odnosno logičkim pristupom, gde se program ponaša kao inteligentno biće koje proširuje svoje vidike iz ličnog iskustva i raspoloživih resursa (browsa po netu i traži interesantne partije (?)), itd.

Sad, za igre s kartama se treba postaviti u ugao igrača i videti na koji način on donosi odluke. Problem je zanimljiv jer se na početku vide samo dobijene karte na osnovu kojih se može vršiti određena licitacija (kod Heartsa je odluka koje karte proslediti kolegama, kod prefa je nešto drugo), a sve odluke se donose na osnovu pogađanja šta to ostali igrači mogu da imaju u rukama. Kad se sve karte otvore i kad se sve to izmeša veći broj puta, jasno se vidi ko je bolji igrač... S ovom problematikom već su se hvatali ljudi koji su nešto slično realizovali (nisam ja, majke mi), može biti neko sa elita, a može biti i da postoji link...

U međuvremenu: evo link koji sigurno nema veze s temom:
Indexing Links of Pages to Search for "Hearts" Through the World Wide Web

I nešto što verujem da ima veze:
Optimizing Multi-Player Game Search

Ako Prolog ima veze (.pdf):
Modeling Games with Prolog Expert Systems

Još jedan link: http://www.microsoft.com/mind/0396/games.asp
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.et.tudelft.nl

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Algoritam za igru sa kartama07.10.2003. u 09:49 - pre 250 meseci
Kod svih logičkih igara princip po kome se kreće u rešavanje uvek je isti. Računar nema drugi izbor nego da svoje „razmišljanje“ temelji na iscrpnoj pretrazi kroz stabla pozicija. Ova ideja je u principu sasvim ispravna, osim što u praksi nailazi na dva velika problema: vreme i memorijski zahtevi potrebni za dolazak do rešenja toliko su veliki da se ne mogu ispuniti nijednim u svemiru poznatim računarom, odnosno memorijom.

Svaka logička igra ima diskretan graf pozicija. Uzmimo neki klasičan i lako zamisliv primer logičke igre. Neću uzeti u obzir otelo (tj. reversi) pošto ne poznajem dovoljno principe, već ću uzeti igru Osam, pošto je lak(š)a za objašnjavanje, bar mi se tako čini.

Igru Osam si verovatno već sreo. Imaš kvadratno polje od 3x3 manja kvadrata u koje je uglavljeno osam pločica. Pošto ima 8 pločica a 9 mesta, logično je da je jedan kvadratić ostao prazan. Kvadratići koji su pored praznog mesta mogu se pomeriti na prazno mesto, i time ostavljaju prazno mesto na prethodnom položaju. Svaki kvadratić je označen brojem od 1 do 8 i zadatak igre je pomeranjem kvadratića od početne pozicije, gde su kvadratići slučajno razmešteni, doći do krajnje u kojoj su kvadratići poređani po redu. Ujedno sad vidiš zbog čega sam izabrao Osam kao primer igre — za razliku od šaha ili otela. Kod osmice postoji samo jedna krajnja pozicija (cilj) dok u otelu i pogotovo šahu postoji brdo krajnjih pozicija koje su definisane neposredno (ispunjena su sva polja na tabli, odnosno nečiji kralj je u „matu“).

Dakle kako bismo rešili Osam? Najprostiji pristup je ujedno i osnova svih poznatih algoritama za logičke igre: pretraga. Najpre smislimo nešto što se zove kodiranje pozicije, odnosno neko preslikavanje tako da svakoj poziciji odgovara jedan i samo jedan kod. To se recimo može uraditi na očigledan način tako što se za svako od 9 polja pamti koji kvadrat na njemu trenutno stoji (pri čemu nula označava recimo prazno mesto, a 1-8 pune kvadratiće). Kodiranje pominjem u ovom kontekstu, jer se može desiti da za praktično rešenje moraš da smisliš neki način za zapis pozicije koji će zauzimati manje mesta. To je pogotovo bitno u šahu, gde su memorijski zahtevi mnogo veći.

Zatim krenemo od zapisa početne pozicije i izgenerišemo sve moguće poteze u tom trenutku. U igri Osam mogući potezi su oni koji prebacuju susedne kvadratiće na mesto praznog i u svakom koraku ima ih najviše četiri. Sve moguće poteze koji su izgenerisani ubacimo u stablo pozicija (stablo pozicija je graf koji pokazuje sve prelaze između stanja koji se mogu ostvariti legalnim potezima). Dakle ubaciš nove (četiri) pozicije u graf i spojiš ih ivicom sa trenutnom pozicijom. Zatim se prebacuješ (nekim) redom u nove pozicije i ponavljaš ovaj postupak. Potraga se završava u onom trenutku kada nabasaš na poziciju u kojoj pločice stoje onako kako treba.

Ako si pažljivo čitao, dovde si već nanjušio problem koji se javlja kod svih logičkih igara a svodi se na pitanje a koliko dugo treba da pretražujem. E pa odgovor je na žalost: beskonačno dugo. Jer, stablo pozicija se odmotava u beskonačnost. Kao što se vidi, nigde se nismo obezbedili da ako pretragom natrčimo na poziciju koju smo već sreli, nju ne obrađujemo na dalje jer smo je već uzimali u obzir. Gore je to što pri pretrazi ne samo što trošimo beskonačno mnogo vremena, već i beskonačno mnogo memorije: sve te generisane međupozicije moraju se negde zapamtiti. Najgore je to što broj međupozicija eksponencijalno raste (tj. jako brzo). Početna pozicija pravi nam 4 nove, od te 4 nove pozicije skoro svaka daje 4 nove (16), opet od tih 16 svaka po 4 nove itd. Memorijski prostor koji ti treba za pamćenje svega ovoga je ogroman. I ne samo to. Da bi omogućio svojoj pretrazi da ide dalje u dubinu nije dovoljno da nabaviš jači/brži/bolji/veći računar: ako želiš da omogućiš svojoj igri da gleda jedan potez više u dubinu, moraš nabaviti 4 puta više memorije. Ako želiš ići još samo jedan, moraš nabaviti 16 puta više memorije. Ubrzo svaki dodatni korak traži sve veće i veće izdatke, koji se ne mogu zadovoljiti prostim čekanjem da tehnologija napreduje i umetanjem sve novih i novih memorijskih modula. Očigledno su nas pojeli ogromni brojevi.

Pitanje je šta sada. E pa tu u igru ulaze metode veštačke inteligencije, odnosno prvi momenat gde prirodna pamet sreće veštačku. Da bi napisao program koji može da napadne bilo koju logičku igru razumnom snagom, moraš mu pomoći da „pametno“ pretražuje stablo pozicija. Prva stvar koja se u igri Osam može uraditi jeste vođenje računa o tome da se pozicije ne ponavljaju. Ali postoji još pitanja. Svakako rešenje je sakriveno negde u stablu pozicija. Ali već u prvom koraku naš put se grana na četiri strane (od izvora najmanje dva a najviše četiri putića). Može li se unapred znati koji od njih vodi najkraćom putanjom do rešenja, a koji vodi na stranputicu kojom se na kraju dolazi do cilja posle hiljada koraka? Drugo pitanje je kako tražiti: da li prvo istresti sve mogućnosti koje nudi jedan put, pa preći na sledeći, ili razvijati sve puteve ravnomerno? Prva mogućnost zove se depth first search, druga breadth first search. Traženje sa ograničenjima zove se branch and bound search. Postoje i druge varijante pretrage poput iterative deepening tehnika koje kombinuju ova dva pristupa.

Napokon pravi izazov je odabir pravog puta. Na početku svi putevi imaju istu „težinu“, dakle a priori ti isto izgledaju. Ti ne možeš unapred znati koji put vodi ka cilju, ali možeš imati „predstavu“ da je od dva puta bolji onaj koji pločice dovodi „bliže“ cilju. Ovakvi približni kriterijumi kojima se biraju „bolje“ staze za pretragu zovu se heuristike. Jedan algoritam koji podržava heurističku pretragu zove se A* (A star, iliti A sa zvezdom). To je običan algoritam za pretragu u koga „ukopčaš“ željenu heuristiku i pustiš da radi. Sa programerske strane to je sve od mudrosti što se da ugraditi.

Dobro, ali kako ja da „znam“ koja heuristika je najbolja za dati problem. Odgovor je u stilu Radovana Trećeg. Šta je bilo?! Nemamo pojma! Heuristika se bira kao posledica izučavanja problema, gut feelinga, rasporeda zvezda ili šta ti ja već znam. Za neke igre, poput šaha, smatra se da postoje strategije koje su bolje od drugih. Svako će se setiti enciklopedija otvaranja i završnica. Ovde posao postaje kreativan — treba smisliti dobru heuristiku. Za igre poput šaha postoje razvijene heuristike. Za neke druge igre heuristike ne postoje, ili bar nisu opšte prihvaćene. A neke treće igre (poput igre awari) su rešene: neki superračunar odvrteo je sve moguće pozicije i dao odgovor: pri najboljoj mogućoj igri, ishod je nerešen. Za više detalja treba posetiti sajt Univerziteta u Amsterdamu gde rade momci koji su to izveli i pročitati članak „awari is solved“. Vredi znati i to da je svetski prvak u igri dama (checkers) — kompjuterski program. Igru Otelo računari iz nekog razloga igraju mnogo bolje od čoveka.

I jedan mali link:
http://www.norvig.com
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.bankmeridian.com

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Algoritam za igru sa kartama07.10.2003. u 10:08 - pre 250 meseci
Zanimljiva je ta igra Osam. Doduše, ja se sećam tablica formata 4 * 4 + 1, gde je slika podeljena na 16 kvadrata, postoji jedno dodatno slobodno polje (rupa) u jednom uglu. Pomeranjem rupe delovi slike se mogu fino ispremeštati, pa onda ko zna da reši - neka reši. Time sam se bavio pre nekih godinu dana (pronalazak optimalnog rešenja s minimalnim brojem poteza) i naravno došao do toga da povećanje dimenzija drastično ubija perfomanse, uz sav trud pronalaženja kvalitetnijeg odsecanja stabla pretrage.

Kao zaključak - sva ta primenjena matematika je izuzetno zanimljiva.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12850



+4784 Profil

icon Re: Algoritam za igru sa kartama07.10.2003. u 23:48 - pre 250 meseci
A da li je izracunato mozda (mada sumnjam) koliko postoji razlicitih partija u sahu? Naravno, bez vracanja na prethodnu poziciju jer tako se moze vrteti jedna partija beskonacno dugo.
 
Odgovor na temu

srki
Srdjan Mitrovic
Auckland, N.Z.

Član broj: 2237
Poruke: 3654
*.dialup.xtra.co.nz



+3 Profil

icon Re: Algoritam za igru sa kartama08.10.2003. u 06:05 - pre 250 meseci
Nije izracunato. Da je izracunato onda bi bila napravljena i strategija kako racunar da igra i bio bi nepobediv. Tj. znalo bi se koja boja figura je gubitnicka ako postoji gubitnicka boja.
 
Odgovor na temu

sspasic
Sasa Spasic

Član broj: 3261
Poruke: 175
*.medianis.net

Jabber: sspasic@elitesecurity.org
ICQ: 35454521


Profil

icon Re: Algoritam za igru sa kartama08.10.2003. u 07:53 - pre 250 meseci
U stvari izracunato je.
Samo je broj jako velik, tako da takav pristup, analizirati sve pozicije i u svakoj pronaci najbolji potez, nije moguce napraviti na danasnjim kompjuterima.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12850



+4784 Profil

icon Re: Algoritam za igru sa kartama08.10.2003. u 11:04 - pre 250 meseci
Pa i ako jeste izracunato to ne bi znacilo da je automatski napravljena i najbolja strategija. Na primer mozes lako izracunati na koliko senacina 100 knjiga moze raspodeliti na polici ali to ne znaci da ces tako lako znati i svaki raspored.

@sspasic. OK, koliko? Ili imas neki link?
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.bankmeridian.com

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Algoritam za igru sa kartama08.10.2003. u 11:30 - pre 250 meseci
Citat:
Shadowed
... ali to ne znaci da ces tako lako znati i svaki raspored.
Poruka primljena, ali nejasna... 100 knjiga raspoređuješ na jedan od mogućih 100! načina. To se, koliko se sećam, naziva permutacijama. Njih možeš fino numerisati po indeksu u nizu od 100! članova. Opet, ne moraš da držiš ceo niz u memoriji, bazi, disku - jer postoji funkcija kojom možeš dobiti bilo koju permutaciju samo na osnovu indeksa. Itd. Ako grešim, ignoriši ovo što sam kuckao.

OK, koliko ovo poslednje ima veze s Algoritmom za igru s kartama?

Da li Ivan sada zna da realizuje Hearts?

 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12850



+4784 Profil

icon Re: Algoritam za igru sa kartama08.10.2003. u 11:44 - pre 250 meseci
Da smo skrenuli sa teme je cinjenica ali sumnjam da ce dobiti bolji odgovor od filmilovog.
Naravno da mozes da nadjes sve nacine za raspored knjiga. Ono sto sam ja hteo da kazem da poznavanje broja kombinacija ne implicira poznavanje svih kombinacija. Tako i sto se tice saha, mozda je izracunato koliko ima mogucis pertija ali je tek potrebno pronaci sve njih i za to sumnjam da je proizveden dovoljno jak racunar (sa dovoljno memorije).
 
Odgovor na temu

sspasic
Sasa Spasic

Član broj: 3261
Poruke: 175
*.medianis.net

Jabber: sspasic@elitesecurity.org
ICQ: 35454521


Profil

icon Re: Algoritam za igru sa kartama08.10.2003. u 12:27 - pre 250 meseci
http://mathworld.wolfram.com/Chess.html
http://user.cs.tu-berlin.de/~kunegis/hack/chess/

Kad smo vec kod saha - postoje grupe pozicija za koje je problem resen - pozicije kada na tabli ostanu dva kralja i jos par figura, koje se javljaju u zavrsnicama.
Jedno od kompletnih resenja za zavrsnice dao je Ken Tomphson (autor Unix-a). Na linku:
http://www.cs.bell-labs.com/who/ken/chesseg.html
ta se baza moze pretrazivati.

Sto se tice igre Osam, ako se dobro secam u Racunarima je Dejan Ristanovic svojevremeno objavio seriju tekstova na temu algoritama kod logickih igara i kao primer dao program koji resava bas tu igru po algorimu poznatom kao 'alfa-beta stablo', ili 'minimax algoritam sa alfa-beta potkresivanjem stabla'.

Iskreno, ne znam puno o tome da li se isti algoritam moze koristiti za igre sa kartama (cini mi se da moze, ali nisam siguran), ali algoritam se koristi za sah (prakticno ga koriste svi programi, uz odredjene modifikacije, ukljucujuci i Deep Blue), checkers, othelo i jos neke igre.

Da bi algoritam bio upotrebljiv, koriste se heuristike, kao sto je filmil objasnio, koje se mogu podeliti u dve grupe:
1. heuristike koje ocenjuju poziciju i daju neku ocenu u opsegu [-MAX...+MAX]
2. heuristike koje ubrzavaju pretragu alfa-beta stabla tako sto u startu odbacuju neke grane ili tako sto odredjene grane favorizuju - prerasporedjuju tako da se pretraga vrsi prvo po granama koje su verovatnije dobri potezi - sto bitno ubrzava algoritam pretrage.

Ne bih ovde da detaljnije objasnjavam algoritam, posto ima na internetu puno tekstova i radova na tu temu.
 
Odgovor na temu

Ivan Vasić

Član broj: 14756
Poruke: 631
*.verat.net

Jabber: ivasic@elitesecurity.org


Profil

icon Re: Algoritam za igru sa kartama08.10.2003. u 18:54 - pre 250 meseci
Ok. Tu i tamo iz svega ovoga sam zakljucio da je moja pretpostavka (a to bi bilo upotrebiti mozak i matematiku a ne IF i ELSE) bila tacna. Na osnovu filmilovog odgovora sam dobio uputstva kako treba poceti sa razmisljanjem sto je u sustini OK ali je opet najveci deo razmisljanja na meni.
Sto se tice Hearts-a upotrebio sam tu igru kao primer jer je najslicnija Preferansu koji je inace predmet svega ovoga. Ko je igrao zna da je kompleksniji od Heartsa. Ukoliko neko ima ideju za Pref neka svrljne pa da se mucimo zajedno. Uostalom evo pocetka mog razmisljanja:

Za sada je problem kako dodeliti vrednosti karti na osnovu koje bi komp. trebao da odluci sta da igra. U sustini bi trebalo da se svede na sledece slucajeve :

1. Licitacija
2. Pik, Karo, Herc i Tref
3. Betl
4. Sans

kompleksnost je sto sva 4 slucaja su bukvalno igre za sebe.......
Pa jos ovako (posto razmisljam trenutno i povrsno verovatno ispustam neke slucajeve) - sto se igre tice trebalo bi da se uzmu slucajevi kada igra prvi, drugi ili treci - jer nije svejedno baciti kartu koja nosi i zeznuti nosecu kartu igraca sa kojim bi trebalo da oborite vodeceg.... sve u svemu igra je mnogo zanimljiva pa je i sve ovo zato zanimljivo.

Ono sto bih voleo jos da cujem od vas su misljenja, misljenja ..........
Kako odraditi ona 4 slucaja.

E da ono sto je jos zanimljivo je da znam da postoji neki tip (nas covek) koji je pre neku godinu uspeo da napravi Pref za DOS koji relativno dobro igra (kazem relativno) - ne znam mu ime al bi njegova pomoc itekako dobro dosla.
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.adsl.zonnet.nl

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Algoritam za igru sa kartama08.10.2003. u 19:21 - pre 250 meseci
Citat:
ivan@elfak:
godinu uspeo da napravi Pref za DOS koji relativno dobro igra (kazem relativno)


Program za preferans napisala su dvojica naših ljudi (zaboravih kako behu imena, jedan se valjda potpisao kao Nidža) na osnovu knjige Dr Dragoša Cvetkovića u kojoj je izložena kompletna heuristika za tu igru. Ako želiš da pišeš jak preferans, onda ti je jedini pravi put da nabaviš dotičnu knjižicu.

Dr Dragoš Cvetković predaje matematiku na ETF u BG, svojevremeno je bio i verovatno još uvek jeste, vrhunski igrač. Dakle, pravac ETF BG, kabinet 100 (valjda). Ili u knjižare, ali zaista se ne sećam koji je izdavač u pitanju. (Ne igram preferans:))

f
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.verat.net

Sajt: localhost


+5 Profil

icon Re: Algoritam za igru sa kartama08.10.2003. u 20:25 - pre 250 meseci
cela igra preferans (u stvari verovatno i svaka druga) se zasniva na čistoj statistici i verovatnoći.

primer, ako imaš 4 ruke u adutu, i plus dva dupla popa, onda izračunavaš verovatnoće pod kojima ti ta dva popa mogu doneti da poneseš ruku, i to u oba slučaja, da ti pođe samo jedan igrač, i da ti pođu oba.

onda još računaš verovatnoću koliko ti licit može biti od pomoći. i tako dalje. i na kraju sabiraš te verovatnoće, i recimo ako pređu 50% u tvoju korist, onda licitiraš. i to je bio tek prvi deo ;)


generalno, zadatak koji si postavio pred sebe je mnogo komplexan, jer moraš da napraviš mnogo pravila. ali pre svega, moraš baš dobro da poznaješ igru i da imaš puno iskustva.

i da, podseti se verovatnoće i statistike iz srednje/sa faxa ako si je učio uopšte. ako nisi, pa.. prvo nju nauči ;)


 
Odgovor na temu

Ivan Vasić

Član broj: 14756
Poruke: 631
*.verat.net

Jabber: ivasic@elitesecurity.org


Profil

icon Re: Algoritam za igru sa kartama08.10.2003. u 20:45 - pre 250 meseci
Citat:
filmil:
Program za preferans napisala su dvojica naših ljudi (zaboravih kako behu imena, jedan se valjda potpisao kao Nidža) na osnovu knjige Dr Dragoša Cvetkovića u kojoj je izložena kompletna heuristika za tu igru. Ako želiš da pišeš jak preferans, onda ti je jedini pravi put da nabaviš dotičnu knjižicu.


E odmah da ti kazem da je taj program pisao neki tip koji DEFINITIVNO nije Nidza jer je pref.exe shareware (jos onda sam zvao doticnog gospodina koji je trazio pogolemu sumu novca za takvu "igricu") a tek posle nekog vremena sam naisao na verziju koja je besplatna, IDENTICNA pa cak i potpis Nidza i jos neko stoji na istom mestu kao i potpis autora. Sto bi se reklo blago Nidzi i njegovom drugaru - krekovali su mu program
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.bankmeridian.com

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Algoritam za igru sa kartama09.10.2003. u 10:04 - pre 250 meseci
ok, javljam se kao zainteresovan da se napravi pref.

u suštini, implementacija se može odraditi za različite platforme, dok sam algoritam ostaje jedinstven.

nemam ništa protiv da se radi verzija u c#, mada imam i drugi predlog.

predlog je - web aplikacija uz php, stolovi (sobe) za pref, multiplayer gde mogu da učestvuju ljudi i program (kompjuter), i još dodatni servisi - sasvim fin sajt sa konkretnom namenom - ako želiš da igraš online pref, navrati.
 
Odgovor na temu

Ivan Vasić

Član broj: 14756
Poruke: 631
*.verat.net

Jabber: ivasic@elitesecurity.org


Profil

icon Re: Algoritam za igru sa kartama09.10.2003. u 14:17 - pre 250 meseci
Mogu da ti kazem da ti je ideja vise nego vrlo dobra. S tim sto bi naravno mnogo lakse bilo napraviti interfejs za preferans sa zivim igracima jer onda ceo posao oko algoritma za komp. bi bila suvisna ALI zasto ne oba slucaja ? Ista fora - online igra (3 "ziva" igraca) ili kombinacija sa kompjuterskim igracem i plus desktop Pref !
Vrlo sam zainteresovan javi se pa da se dogovorimo.
A sto se algoritma tice mogli bi da nabavimo knjigu onog profesora pa da nesto izvucemo odatle a nesto dodamo sami.
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.bankmeridian.com

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Algoritam za igru sa kartama09.10.2003. u 15:17 - pre 250 meseci
Skoknuo sam do Googla, izgleda da ovako nešto ne postoji!

Najjača je podrška iz Rusije, ali tu je i Hrvatska, Slovenija...
Postoje sajtovi gde se opisuju pravila, udruženja, samostalni i LAN programi, ali ne nađoh onlajn varijantu... FALI

Do knjige mogu doći kod kuma, to nije problem.

Mogu da se potrudim da se obezbedi prostor za projekat, u međuvremenu, do pojave linka tema može da ostane otvorena.
 
Odgovor na temu

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.microsoft.com



+18 Profil

icon Re: Algoritam za igru sa kartama09.10.2003. u 20:47 - pre 250 meseci
Da li neko zna kako se zove preferans na engleskom?
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.202.EUnet.yu

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Algoritam za igru sa kartama09.10.2003. u 22:13 - pre 250 meseci
Citat:
http://rugila.chat.ru/pref_eng/
This program (Danzig Pref Engine) is created for playing preference (or preferans), a card game which is very popular in Eastern Europe.
--------------------------
Here are the main features:

* Sochi version of the game (and Leningrad from v>=1.1).
* You can play with a computer.
* Playing over the net with other people. NetBIOS and TCP/IP protocols are used.
* The main difference from other pref-playing programs (like Marriage) is a significant reduction of computer thinking (<1sec). It causes AI to be not prefect, but this is adjustable. To teach the program to play strong for the same short time is the purpose of the project.
* The program is designed for 32-bit OS, i.e. Win95/98/NT.

 
Odgovor na temu

[es] :: Art of Programming :: Algoritam za igru sa kartama

Strane: 1 2

[ Pregleda: 19275 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

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