Stránka: 1 z 1
| [ Príspevkov: 21 ] | |
Autor | Správa |
---|
Registrovaný: 27.07.10 Prihlásený: 09.09.12 Príspevky: 18 Témy: 7 | 7 |
zdravim... budem programovat hru poker a rozmyslam ci by sa nedali najst na nete nejake algoritmy ako by pocitac "rozmyslal".. neviete o niecom...?
|
|
Registrovaný: 25.08.07 Prihlásený: 15.12.24 Príspevky: 4058 Témy: 406 | 406 Bydlisko: Bratislava |
čo tak robit to cez generator nahodnych čísel??? to naprogramujes za 3 minuty...
_________________ -PC: Intel® Core™ i9 14900K +Fractal Design Lumen S28 RGB V2, Gigabyte AORUS Z690 Elite AX,G.SKILL DDR5 6000MHz CL.40 RGB,GPU:Gainward RTX 4080 Phantom 16GB, SSD1 M.2 NVMe Samsung 980 PRO 1TB ,SSD2 M.2 NVMe Samsung MZVKV512HAJH 512GB,SSD3 SATA Samsung MZ7LN512HAJQ 512GB ,SSD4: Samsung 860 EVO 500GB (mSATA -> SATA) , HDD: WesternDigital Purple 3,5" 4TB, PSU: Corsair RM850i,Phanteks Eclipse P400S Tempered+High AirFlow front panel, LCD: 27" Samsung S27R750 QuadHD 144Hz +22" Dell P2212H +22" Lenovo ThinkVision E2224 ,Keyboard: Logitech G PRO (GX BLUE) ,Mouse: Logitech G PRO Wireless,Mouse pad: DEV1S ULTRA Slim XL ,Headphones: Beyerdynamics DT990 pro 250Ω , Sound card: Asus Xonar Essence STX ,Microsoft life cinema webcam,Samson Meteorite MIC, OS: Windows 11 PRO -NB: Lenovo YOGA 910-13IKB Intel i7 7500U, 8GB RAM,512 NVMe SSD,Touchscreen LCD, Windows 11 PRO
|
|
Registrovaný: 27.07.10 Prihlásený: 09.09.12 Príspevky: 18 Témy: 7 | 7 |
Trty píše: č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...
|
|
Registrovaný: 25.08.07 Prihlásený: 15.12.24 Príspevky: 4058 Témy: 406 | 406 Bydlisko: Bratislava |
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...
_________________ -PC: Intel® Core™ i9 14900K +Fractal Design Lumen S28 RGB V2, Gigabyte AORUS Z690 Elite AX,G.SKILL DDR5 6000MHz CL.40 RGB,GPU:Gainward RTX 4080 Phantom 16GB, SSD1 M.2 NVMe Samsung 980 PRO 1TB ,SSD2 M.2 NVMe Samsung MZVKV512HAJH 512GB,SSD3 SATA Samsung MZ7LN512HAJQ 512GB ,SSD4: Samsung 860 EVO 500GB (mSATA -> SATA) , HDD: WesternDigital Purple 3,5" 4TB, PSU: Corsair RM850i,Phanteks Eclipse P400S Tempered+High AirFlow front panel, LCD: 27" Samsung S27R750 QuadHD 144Hz +22" Dell P2212H +22" Lenovo ThinkVision E2224 ,Keyboard: Logitech G PRO (GX BLUE) ,Mouse: Logitech G PRO Wireless,Mouse pad: DEV1S ULTRA Slim XL ,Headphones: Beyerdynamics DT990 pro 250Ω , Sound card: Asus Xonar Essence STX ,Microsoft life cinema webcam,Samson Meteorite MIC, OS: Windows 11 PRO -NB: Lenovo YOGA 910-13IKB Intel i7 7500U, 8GB RAM,512 NVMe SSD,Touchscreen LCD, Windows 11 PRO
|
|
Registrovaný: 27.07.10 Prihlásený: 09.09.12 Príspevky: 18 Témy: 7 | 7 |
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...
|
|
Registrovaný: 11.02.09 Prihlásený: 12.11.24 Príspevky: 2208 Témy: 145 | 145 Bydlisko: Liptovský M... |
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.
_________________ "Only a warrior chooses pacifism, others are condemned to it." - unknown author |
|
Registrovaný: 27.12.08 Prihlásený: 13.12.22 Príspevky: 1874 Témy: 96 | 96 Bydlisko: Bratislava,... |
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š..)
_________________ ~Listen to your brain, not your heart~ NB1: Lenovo Y500: CPU: Intel Core i7-3630QM; GPU: nVidia GT650M 2GB SLi; RAM: 16GB DDR3; HDD: 1TB + 256GB SSD (m4); LCD: 15,6" 1920x1080; OS: Win8.1 64-bit + Arch Linux 64-bit (UEFI Powered DualBoot) NB2: Asus K53SJ-SX093: CPU: Intel Core i3-2310M; GPU: Intel HD3000 / nVidia GT520M 1GB Optimus; RAM: 8GB DDR3; SSD: 128GB 840Evo; LCD: 15,6" 1366x768; OS: Win 8.1 Pro 64-bit (UEFI) |
|
Registrovaný: 11.02.09 Prihlásený: 12.11.24 Príspevky: 2208 Témy: 145 | 145 Bydlisko: Liptovský M... |
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íspevkuTrty píše: 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.
|
|
Registrovaný: 27.12.08 Prihlásený: 13.12.22 Príspevky: 1874 Témy: 96 | 96 Bydlisko: Bratislava,... |
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..
_________________ ~Listen to your brain, not your heart~ NB1: Lenovo Y500: CPU: Intel Core i7-3630QM; GPU: nVidia GT650M 2GB SLi; RAM: 16GB DDR3; HDD: 1TB + 256GB SSD (m4); LCD: 15,6" 1920x1080; OS: Win8.1 64-bit + Arch Linux 64-bit (UEFI Powered DualBoot) NB2: Asus K53SJ-SX093: CPU: Intel Core i3-2310M; GPU: Intel HD3000 / nVidia GT520M 1GB Optimus; RAM: 8GB DDR3; SSD: 128GB 840Evo; LCD: 15,6" 1366x768; OS: Win 8.1 Pro 64-bit (UEFI) |
|
Registrovaný: 27.07.10 Prihlásený: 09.09.12 Príspevky: 18 Témy: 7 | 7 |
nBXXL píše: 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....
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 | 35 Bydlisko: BA - WESTSIDE |
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é.
_________________
A. S. Tanenbaum píše: 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. |
|
Registrovaný: 05.11.11 Prihlásený: 05.11.11 Príspevky: 5 Témy: 0 | 0 |
č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.
|
|
Registrovaný: 27.12.08 Prihlásený: 13.12.22 Príspevky: 1874 Témy: 96 | 96 Bydlisko: Bratislava,... |
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...
_________________ ~Listen to your brain, not your heart~ NB1: Lenovo Y500: CPU: Intel Core i7-3630QM; GPU: nVidia GT650M 2GB SLi; RAM: 16GB DDR3; HDD: 1TB + 256GB SSD (m4); LCD: 15,6" 1920x1080; OS: Win8.1 64-bit + Arch Linux 64-bit (UEFI Powered DualBoot) NB2: Asus K53SJ-SX093: CPU: Intel Core i3-2310M; GPU: Intel HD3000 / nVidia GT520M 1GB Optimus; RAM: 8GB DDR3; SSD: 128GB 840Evo; LCD: 15,6" 1366x768; OS: Win 8.1 Pro 64-bit (UEFI) |
|
Registrovaný: 11.02.09 Prihlásený: 12.11.24 Príspevky: 2208 Témy: 145 | 145 Bydlisko: Liptovský M... |
pri texas holdem sa rozdavaju kazdemu hracovi iba 2 karty. To co ti vravis je omaha holdem
_________________ "Only a warrior chooses pacifism, others are condemned to it." - unknown author |
|
Registrovaný: 05.11.11 Prihlásený: 05.11.11 Príspevky: 5 Témy: 0 | 0 |
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 ?
|
|
Registrovaný: 11.02.09 Prihlásený: 12.11.24 Príspevky: 2208 Témy: 145 | 145 Bydlisko: Liptovský M... |
ked vam to dali za ulohu tak to mate vediet
_________________ "Only a warrior chooses pacifism, others are condemned to it." - unknown author |
|
Registrovaný: 05.11.11 Prihlásený: 05.11.11 Príspevky: 5 Témy: 0 | 0 |
by si to vedel po mesiaci ? tyždene jedna dvojhodinova prednaška ?
|
|
Registrovaný: 03.03.11 Prihlásený: 14.08.15 Príspevky: 703 Témy: 7 | 7 Bydlisko: Kežmarok | |
Registrovaný: 05.11.11 Prihlásený: 05.11.11 Príspevky: 5 Témy: 0 | 0 |
diky za rady všetci ste mudry.. dasa samoštudim .. ale na to potrebuješ čas.. a nie 2 dni ! v piatok som dostal zadanie !
|
|
Registrovaný: 27.12.08 Prihlásený: 13.12.22 Príspevky: 1874 Témy: 96 | 96 Bydlisko: Bratislava,... |
štúdium na vysokej škole neznamená, že počas prednášok spíš, alebo že keď niečo nevieš tak sa to pred písomkou/domácou úlohou doučíš.. to nemáš šancu.. štúdium na vysokej škole je o tom, že keď niečomu počas prednášky neporozumieš, tak sa po prednáške spýtaš profesora, alebo nejakého spolužiaka, ktorý sa v tom lepšie vyzná.. vždy keď ideš na prednášku, tak by si mal mať učivo z predchádzajúcej prednášky v malíčku, inak sa ti to tak nakopí, že nemáš šancu..
samoštúdium pokrýva čas medzi prednáškami na doučenie sa veciam, ktoré si počas prednášky nepochopil..
keď je zadaná nejaká úloha, tak je predpoklad, že vedomosti na jej urobenie vám na prednáškach dali.. ja som sa sám naučil C-čko za 2 týždne základy (a to som stredoškolák, na škole preberáme pascal), a na riešenie tejto úlohy nepotrebuješ vedieť viac ako základy (ovládať dátové typy, podmienený príkaz a cyklus, toť vše)
na programovanie nemusíš byť bifľoš, programovanie je v prvom rade o logike a o analytickom myslení (keď dostaneš nejakú úlohu (ako napr. túto), tak si ju musíš vedieť rozložiť na podúlohy, ktoré vyriešiť vieš.. (napr. v tejto úlohe vidím, že musíš vyhodnotiť najlepšie hodnotenie, teda musíš najskôr overiť všetky jednotlivé hodnotenia, potom ich zoradiť a vypísať to najlepšie.. jednotlivé hodnotenia sú napr. pár, tak hľadám páry...)), pokiaľ jednu z týchto dvoch vlastností nemáš, tak nemáš šancu sa stať dobrým programátorom... pokiaľ študuješ informatiku a takáto úloha ťa položí tak úprimnú sústrasť, pokiaľ máš nejaký iný odbor a máš tam ako povinný predmet programovanie, tak sa snaž to dáko dať aspoň aby si prešiel..
_________________ ~Listen to your brain, not your heart~ NB1: Lenovo Y500: CPU: Intel Core i7-3630QM; GPU: nVidia GT650M 2GB SLi; RAM: 16GB DDR3; HDD: 1TB + 256GB SSD (m4); LCD: 15,6" 1920x1080; OS: Win8.1 64-bit + Arch Linux 64-bit (UEFI Powered DualBoot) NB2: Asus K53SJ-SX093: CPU: Intel Core i3-2310M; GPU: Intel HD3000 / nVidia GT520M 1GB Optimus; RAM: 8GB DDR3; SSD: 128GB 840Evo; LCD: 15,6" 1366x768; OS: Win 8.1 Pro 64-bit (UEFI) |
|
Registrovaný: 05.11.11 Prihlásený: 05.11.11 Príspevky: 5 Témy: 0 | 0 |
presne ako si pisal.. mam odbor ELEKTROTECHNIKA.. a programovanie mam len jeden semester.. a veviam ktore boli na prednaške som všetko chapal.. bolo ti primitivne veci s pintfom a scanfom , par ifmi nič viac.. teraz nam z ničho nič dali takuto ulohu . Kebyže je to odprednašane tak to viem. A na samoštudim taktiež som nemal moc času.. kedže tento tyžden boli same započty.. a mam ešte dalšich 6 predmetov. Pokial som bol na strednej času bolo dost.. teraz ten čas nemam vobec.
|
|
Stránka: 1 z 1
| [ Príspevkov: 21 ] | |
|