| Autor | Správa |
zipper
 Užívateľ
 Založený: 27.07.2010 Príspevky: 15
 | Zaslal: St 26.10.11 14:51 |   |
zdravim... budem programovat hru poker a rozmyslam ci by sa nedali najst na nete nejake algoritmy ako by pocitac "rozmyslal".. neviete o niecom...? |
| |
  |
 |
Trty
 Užívateľ
 Založený: 25.08.2007 Príspevky: 2200 Bydlisko: Bratislava (Trenčín víkendovo) Vek: 21
 | Zaslal: St 26.10.11 14:53 |   |
čo tak robit to cez generator nahodnych čísel??? to naprogramujes za 3 minuty... |
_________________ -Notebook: Asus K50AB SX044: CPU: AMD Turion™ x2 2,2Ghz , GPU: ATi Mobility Radeon HD4570, LCD: 15.6'' HD/LED, RAM:Kingston 2x 2GB DDR2 800MHz, HDD:Seagate momentus 500GB 5400RPM, Windows 7 Ultimate, Mouse: Logitech M325 Golden Trace Lines, Audio: Genius SP-HF1200A,Externý HDD: A-DATA Superior SH02 640GB
-Mobil: Nokia N8-00 Silver/white- symbian Belle 111.030.0609 | |
  |
 |
zipper
 Užívateľ
 Založený: 27.07.2010 Príspevky: 15
 | Zaslal: St 26.10.11 15:12 |   |
| Trty napísal: | | čo tak robit to cez generator nahodnych čísel??? to naprogramujes za 3 minuty... |
to hej... ale to tak na rozdavanie... ja potrebujem aby si pocitac vedel vypocitat ako sa ma spravat... ci ma zlozit karty, navysit, dorovnat, apod... |
| |
  |
 |
Trty
 Užívateľ
 Založený: 25.08.2007 Príspevky: 2200 Bydlisko: Bratislava (Trenčín víkendovo) Vek: 21
 | Zaslal: St 26.10.11 15:31 |   |
aha,to chces aby ludia hrali proti PC? na zaciatok by ti mohlo stacit ak by si vytvoril nieco,kde by hrali iba ludia proti sebe... ci ty chces original nieco ako hraci automat? zasa davaj pozor na to aby ti pocitac nenavysoval a stale prehraval,alebo stale vyhraval... toto bude mrte zlozite,hlavne koly tomu,ze PC bude musiet predvidat a vypocitavat co prijde...
na nete nic take nenajdes,kazdy kto nieco take ma a zaraba na tom,tieto programi chráni proti kradezi... to len tak nezozenies... pochop,keby mal kazdy algoritmy na hracie automaty alebo blackjack alebo ruletu,bud by to mal kazdy,alebo by to kazdy vedel obohrat....
zrejme si si to predstavoval jednoduchsie ako to je... |
_________________ -Notebook: Asus K50AB SX044: CPU: AMD Turion™ x2 2,2Ghz , GPU: ATi Mobility Radeon HD4570, LCD: 15.6'' HD/LED, RAM:Kingston 2x 2GB DDR2 800MHz, HDD:Seagate momentus 500GB 5400RPM, Windows 7 Ultimate, Mouse: Logitech M325 Golden Trace Lines, Audio: Genius SP-HF1200A,Externý HDD: A-DATA Superior SH02 640GB
-Mobil: Nokia N8-00 Silver/white- symbian Belle 111.030.0609 | |
  |
 |
zipper
 Užívateľ
 Založený: 27.07.2010 Príspevky: 15
 | Zaslal: Št 27.10.11 12:00 |   |
mam uz trosku predstavu ako by sa to dalo spravit... podarilo sa mi dokonca najst nejake jednoduche pseudokody k texas holdem... samozrejme neratam ze to spravim za tyzden... =) bude to makacka, ale nic nie je nemozne... |
| |
  |
 |
incredible
 Užívateľ
 Založený: 11.02.2009 Príspevky: 1242
 | Zaslal: Št 27.10.11 14:35 |   |
ja si nemyslim ze to bude take tazke. Je to len o pravdepodobnosti, cize matematickych vzorcoch. A to ani nemusia byt dokonale presne vypocty, aby pocitac furt nevyhraval. Ovela tazsie by bolo spravit AI na piskvorky, damu, alebo dokonca sach. |
| |
  |
 |
nBXXL
 Užívateľ
 Založený: 27.12.2008 Príspevky: 972 Bydlisko: Nové Zámky, Slovensko Vek: 18
 | Zaslal: Št 27.10.11 15:15 |   |
keď programuješ AI-čku, tak potrebuješ hlavne AI-čku naučiť analyzovať a zvládať všetky možné situácie: napr. keď nemá na ruke nič, keď má na ruke jeden pár, dva páry, atď. Porozmýšľaj, čo sa ti viac oplatí, ako by si sa v danej situácii zachoval ty (prípadne si nasimuluj zopár hier ako hráš ty a zapíš si, že ako sa správaš v rôznych situáciach) a nastav mu nejaké percentá náhodnosti, nech nerobí furt to isté. Napr: Pokiaľ nemá nič na ruke, tak v 50% prípadoch foldne, v 25% prípadoch dorovná, pokiaľ suma nepresiahne X, 20% prípadoch dorovná, pokiaľ suma nepresiahne Y, 5% zvýši o Z... atď.. toto isté sprav potom pre situáciu, keď má na ruke jeden pár, ale potom už mu daj nech menej folduje atď.. to je taký základ..
potom keď ju chceš trocha skomplikovať, tak naprogramuj analýzu súperových predchádzajúcich ťahov, a nech sa správa podľa toho (napr. pokiaľ súper veľa blafuje, nech AI-čka viac dorovnáva atď)..
AI-čka na stávkovacie/gamblerské hry sa programuje asi najľahšie.. pretože tam existuje veľmi málo rôznych možných stratégií a stavov hry.. ako už napísal NieSomCvok, AI-čka na dámu, alebo šach môže byť dosť ťažká... (piškvorky ani nie... tam máš iba zopár situácií: súper vie vyhrať v nasledujúcom ťahu, súper vie vyhrať o dva ťahy..., AI vie vyhrať v nasledujúcom ťahu, AI vie vyhrať o dva ťahy... a kombinuješ..) |
_________________ PC: MB: ASUS K8V SE Deluxe; CPU: AMD Athlon 64 2800+ 1.8GHz; GPU: Sapphire Radeon X1950GT AGP (500/600); RAM: Kingston 1GB DDR400 CL3 + A-Data 256MB DDR400 HDD: Western Digital 20 + 200GB; Monitor: LG 771E (17" CRT, stary ale dobry, aj ked trochu tmavy); PSU: Rexpower PZ-400W; OS: Windows 7 32-bit + ArchLinux 32-bit
NB: Asus K53SJ-SX093: i3-2310M + GT520M Optimus + 4GB RAM + Win7 64-bit + ArchLinux 64-bit | |
   |
 |
incredible
 Užívateľ
 Založený: 11.02.2009 Príspevky: 1242
 | Zaslal: Št 27.10.11 15:51 |   |
ja som robil piskvorky pre dvoch hracov ako SOČ, dalo sa tam nastavit aj na kolko krizikov sa hra, ci na 4, na 5, atd. Potom som rozmyslal aj nad nejakou AI, ale nevedel som si vobec predstavit, ako by to šlo.
// pridané po 8 minútach od posledného príspevku
| Trty napísal: | | na nete nic take nenajdes,kazdy kto nieco take ma a zaraba na tom,tieto programi chráni proti kradezi... to len tak nezozenies... pochop,keby mal kazdy algoritmy na hracie automaty alebo blackjack alebo ruletu,bud by to mal kazdy,alebo by to kazdy vedel obohrat |
urcite by sa dalo toho dost najst, hlavne dake zakladne principy a vzorove funkcie. Aj ked to samozrejme nebude tak prepracovane ako algoritmy v platenych hrach. Ale musis vediet po anglicky. |
| |
  |
 |
nBXXL
 Užívateľ
 Založený: 27.12.2008 Príspevky: 972 Bydlisko: Nové Zámky, Slovensko Vek: 18
 | Zaslal: Št 27.10.11 17:28 |   |
ja som SOČ nerobil, lebo som lenivý a k piškvorkám len tak zbrucha: máš hracie pole uložené ako dvojrozmerné pole.. predpokladám štandardné piškvorky na 5, hraciu plochu menšiu ako 1000x1000, takže sa nemusím moc babrať s časovou zložitosťou.. pozrem každé hracie políčko, všetkými ôsmimi smermi, či na ňom nezačína rad X-iek a O-čok (samozrejme dáko ošetrím, aby mi nenašlo tú istú dvakrát, či už za behu alebo po preskenovaní).. zistím, koľko 4-členných, 3-členných, 2-členných a 1-členných postupností mám a koľko má súper.. potom pozrem na každé políčko, čo sa môže stať v najbližších kolách (napr. prehra v nasledujúcom ťahu pokiaľ tam znak nepoložím je asi najväčšia výhodnosť, výhra v nasledujúcom ťahu pokiaľ tam znak položím, potom prehra o 2 ťahy pokiaľ tam znak nepoložím atď.), pokiaľ tam položím svoj znak a vypočítam si dákym spôsobom "výhodnosť" položenia znaku na toto políčko.. (napr. vysokú výhodnosť budú mať políčka, ktorými zablokujem nepriateľovu šancu na výhru, nízku výhodnosť úplne odľahlé políčka), zoradím políčka podľa výhodnosti a vyberiem to s najväčšou výhodnosťou a položím naň znak.. to je úplný základ, potom sa dá vylepšovať algoritmus na počítanie výhodnosti tým, že bude zohľadňovať dáke klasické finty/taktiky (napr. ukladanie znakov do X-ka, do štvorca, atď).. a samozrejme veeeeľa času stráveného debugovaním
ad poker: algoritmy v platených hrách tým, že sú uzavreté a verejnosti neprístupné, a sú použité takmer výnimočne v prípade hry hráč proti AI, môžu byť (a často aj sú..) navrhované takým štýlom, že AI vie, čo máš ty, a správa sa podľa toho (tj. za každých okolností vie spraviť ťah, ktorý ju povedie k výhre / najmenšej strate), a má nastavené nejaké percento výhry a prehry... týmto pádom je algoritmus ľahší na naprogramovanie, a výsledný efekt je takmer ten istý.. reálne sa takýto algortmus dá nazvať aj škodoradostná AI a je to hanba všetkých AI-čok, pretože tým akurát dokazuješ všeobecne podporovaný mýtus, že každá AI-čka cheatuje..  |
_________________ PC: MB: ASUS K8V SE Deluxe; CPU: AMD Athlon 64 2800+ 1.8GHz; GPU: Sapphire Radeon X1950GT AGP (500/600); RAM: Kingston 1GB DDR400 CL3 + A-Data 256MB DDR400 HDD: Western Digital 20 + 200GB; Monitor: LG 771E (17" CRT, stary ale dobry, aj ked trochu tmavy); PSU: Rexpower PZ-400W; OS: Windows 7 32-bit + ArchLinux 32-bit
NB: Asus K53SJ-SX093: i3-2310M + GT520M Optimus + 4GB RAM + Win7 64-bit + ArchLinux 64-bit | |
   |
 |
zipper
 Užívateľ
 Založený: 27.07.2010 Príspevky: 15
 |
| nBXXL napísal: |
ad poker: algoritmy v platených hrách tým, že sú uzavreté a verejnosti neprístupné, a sú použité takmer výnimočne v prípade hry hráč proti AI, môžu byť (a často aj sú..) navrhované takým štýlom, že AI vie, čo máš ty, a správa sa podľa toho (tj. za každých okolností vie spraviť ťah, ktorý ju povedie k výhre / najmenšej strate), a má nastavené nejaké percento výhry a prehry... týmto pádom je algoritmus ľahší na naprogramovanie, a výsledný efekt je takmer ten istý.. reálne sa takýto algortmus dá nazvať aj škodoradostná AI a je to hanba všetkých AI-čok, pretože tým akurát dokazuješ všeobecne podporovaný mýtus, že každá AI-čka cheatuje..  |
jj takto nejak to asi aj budem robit... proste AI naucim co sa jej viac oplati ked sa pozrie na hracove karty.... s tym ze v niekolkych pripadoch sa zachova tak ze vyhra, v niekolkych tak ze prehra... (bude zavisiet od nastavenej obtiaznosti)... rozmyslam aj nad tym ze by som analizoval hracovu strategiu... napr ak bude blufovat, tak aby ho PC dorovnaval, ale to budem riesit neskor.... |
| |
  |
 |
p360t
 Skúsený užívateľ
 Založený: 30.05.2006 Príspevky: 1775 Bydlisko: BA - EASTSIDE
 | Zaslal: Pi 28.10.11 10:37 |   |
Môžeš spraviť "férovú" AI cez tzv. minimax algoritmus http://en.wikipedia.org/wiki/Minimax ale bude to asi pomalé a nie úplne presné. |
_________________ [quote="A. S. Tanenbaum"]The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.[/quote] | |
    |
 |
1bobo2
 Užívateľ
 Založený: 05.11.2011 Príspevky: 5
 | Zaslal: So 05.11.11 12:23 |   |
čaute chalani,,
vedel by mi niekto spravit toto ? ja si stym neviem rady, programovanie mam len mesiac a hned mam toto spravit.
Zadanie 1P: Poker
1.hráčovi sa vygeneruje(a ukáže) náhodne 5 kariet (bez opakovania!!) (platné karty 2-10,A,J,Q,K,A) každá v 4 rôznych farbách Ze(zelen),G(gula),C(cerven), Z(zalud).
2. Nasledovne hráč dostane na výber, koľko a ktoré karty chce vymeniť. Tieto sa mu vymenia opäť za náhodné (samozrejme mimo tých čo vrátil).
3. Na konci sa vypíše najlepšie hodnotenie kariet. Hodnotí sa podľa pravidiel pokru Texas Holdem. Nutné zahrnúť dvojice, trojice farbu(flush), full-house a poker.
pri kartach: AZe,2G,2Ze, KG, AC sa vyhodnoti, ze v kartach su 2 dvojice.
pri kartach: AZe,2G,KG,AZ, KG, AC sa vyhodnoti, ze v kartach je trojica.
pri kartach: AZe,2G,2C,AZ, AC sa vyhodnoti, ze v kartach sa nachádza full-house. |
| |
  |
 |
nBXXL
 Užívateľ
 Založený: 27.12.2008 Príspevky: 972 Bydlisko: Nové Zámky, Slovensko Vek: 18
 | Zaslal: So 05.11.11 14:41 |   |
spravil by som to nejak takto: oddelil by som farby od číselných hodnôt.. potom by som pozeral každú číselnú hodnotu koľko krát sa v poradí nachádza (normálne do intov pre každú hodnotu), pokiaľ sa nejaká nachádza 2-krát, tak jeden pár, pokiaľ sa 2 nachádzajú 2-krát tak 2 páry, pokiaľ sa nachádza jedna 2-krát a jedna 3-krát tak full house, pokiaľ sa nachádza jedna 4-krát tak jedna štvorica (toto by som ukladal do booleanov) atď.. potom pozrieť farby, pokiaľ je všetkých 5 z jednej farby tak máš flush.., nakoniec zoradiť 5 čísel (J,Q,K,A interpretuj ako 11,12,13,14), a pozrieť, či sú v postupke.. (teda či je medzi nimi rozdiel rovný 1), tak zistíš, či máš straight...
nakoniec si pozrieš v akom poradí sa hodnotia jednotlivé veci a podľa toho ideš klasicky if (straight && flush) printf("Straight flush"); else if (straight) printf("straight"); else... |
_________________ PC: MB: ASUS K8V SE Deluxe; CPU: AMD Athlon 64 2800+ 1.8GHz; GPU: Sapphire Radeon X1950GT AGP (500/600); RAM: Kingston 1GB DDR400 CL3 + A-Data 256MB DDR400 HDD: Western Digital 20 + 200GB; Monitor: LG 771E (17" CRT, stary ale dobry, aj ked trochu tmavy); PSU: Rexpower PZ-400W; OS: Windows 7 32-bit + ArchLinux 32-bit
NB: Asus K53SJ-SX093: i3-2310M + GT520M Optimus + 4GB RAM + Win7 64-bit + ArchLinux 64-bit | |
   |
 |
incredible
 Užívateľ
 Založený: 11.02.2009 Príspevky: 1242
 | Zaslal: So 05.11.11 16:37 |   |
pri texas holdem sa rozdavaju kazdemu hracovi iba 2 karty. To co ti vravis je omaha holdem |
| |
  |
 |
1bobo2
 Užívateľ
 Založený: 05.11.2011 Príspevky: 5
 | Zaslal: So 05.11.11 16:55 |   |
a neda sa mi to dak cele napisat ? :/ mne toto Cečko nič nehovori.. mam to mesiac.. a neviem taketo veci ešte nakodit.. nenašel by sa tu niekto ochotny ? |
| |
  |
 |
|
Nemôžete pridávať nové témy do tohto fóra. Nemôžete odpovedať na témy v tomto fóre. Nemôžete upravovať svoje príspevky v tomto fóre. Nemôžete mazať svoje príspevky v tomto fóre. Nemôžete hlasovať v tomto fóre.
|
|