Programmeringstävling (förslag)

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av ookk
Angående protokollet: Är det vettigt att ha MinBet, MaxBet när det är No-Limit-Holdem?

MinBet är väl vettig då det finns lite regler för det, får inte vara mindre än senaste höjningen eller big blind (om det inte är all-in) men MaxBet finns det väl ingen användning för i no-limit... (dock stor i pot eller fixed, så kan ju svara smart att ha kvar det så man kan använda samma protokoll till de spelformerna)

Permalänk
Medlem

Undrar en sak med protokollet. Finns ju inget serverkommando för när ett helt nytt spel börjar, NEWGAME drar ju bara igång en ny hand eller vad man kallar det. Visserligen brukar man i pokerklienter kunna hoppa in när man vill, men om man ska tävla med allas botar så borde det även vara så att alla startar samtidigt?

Kanske räcker med att alla ansluter och den som har servern drar igång en NEWGAME

Visa signatur
Permalänk
Medlem

Börjat smida lite på en fin bot i Haskell. Någon mer som försöker sig på dethär?

Visa signatur

+++++++[>++++++++++>+++++++++++++++<<-]>-.---------[>>++<<-]>>----.<-.---.>++++.

Permalänk

Okej, protokollet är nu uppdaterad.

- Mycket bättre dokumentation, hoppas jag iaf.
- Ändrade kodningen för kortvalörer, T istället för 10
- Detaljerade instruktioner för PING
- Överblick av protokollet i form av en kommenterad trafiklogg
- Tydliga exempel för varje meddelande

http://swecpoker.googlecode.com/svn/trunk/protocol.txt

Har en fin vision för hur servern ska fungera. Alla botarna connectar på en gång, servern ordnar automatisk så många som behövs och ser till alla spelar bot alla. Poker AI Mayhem.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Ethex
Börjat smida lite på en fin bot i Haskell. Någon mer som försöker sig på dethär?

Jag funderade faktiskt på det, tänkte försöka börja där och ha Python som backuplösning

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av KTottE
Jag funderade faktiskt på det, tänkte försöka börja där och ha Python som backuplösning

Mysigt!

Har kommit rät långt faktiskt. Byggt upp hanteringen av all data änn så länge.
Ska börja på lite med parsningen av inkommande meddelanden från servern och sånt. Blir skitfint

Visa signatur

+++++++[>++++++++++>+++++++++++++++<<-]>-.---------[>>++<<-]>>----.<-.---.>++++.

Permalänk
Medlem

Ser bra ut
Undrar dock om otherbot fuskar:
HOLECARD 8H 8H ;; Otherbots satt med färg
Två hjärter åtta? ^^

Permalänk

Finns det någon server uppe så man kan slänga ihop något och testlira?

Visa signatur

Ruby (on rails) är fint!

Permalänk
Medlem

You: hehe, måste vara så.

Upptäckte ett fel till:

;; Spelaren på positionen 3 får sina holecards HOLECARDS:3H:JD\r\n

Har missat trean efter HOLECARDS.. borde ju vara

HOLECARDS:3:3H:JD\r\n

Under HOLECARDS-sektionen är detta alltså.

Visa signatur

+++++++[>++++++++++>+++++++++++++++<<-]>-.---------[>>++<<-]>>----.<-.---.>++++.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Ethex
Mysigt!

Har kommit rät långt faktiskt. Byggt upp hanteringen av all data änn så länge.
Ska börja på lite med parsningen av inkommande meddelanden från servern och sånt. Blir skitfint

Jag tänkte att det här skulle bli mitt "lära sig haskell"-projekt, men det märks att jag inte har någon erfarenhet av funktionella språk kan jag säga.

Tror 80% av tiden kommer gå åt bara till att få skiten att fungera och så 20% på själva pokerfunktionaliteten

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av KTottE
Jag tänkte att det här skulle bli mitt "lära sig haskell"-projekt, men det märks att jag inte har någon erfarenhet av funktionella språk kan jag säga.

Tror 80% av tiden kommer gå åt bara till att få skiten att fungera och så 20% på själva pokerfunktionaliteten

Hehe, är precis nylärd kan man säga. Läste "haskell får newbs" på Chalmers för ~2 månader sedan.
Men det gick rätt fort att lära sig.

Är väl bara fråga om du undrar över något Och förhoppningsvis kan jag hjälpa.

Visa signatur

+++++++[>++++++++++>+++++++++++++++<<-]>-.---------[>>++<<-]>>----.<-.---.>++++.

Permalänk
Medlem

Hur är det möjligt att konvertera heltalet 23 till hexadecimala talet 0x11 ? Jag har läst och läst men hittar inget vettigt sätt

MVH
// Kevin

Visa signatur

Mycket mumbo-jumbo nu känner jag.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av The-k0rf
Hur är det möjligt att konvertera heltalet 23 till hexadecimala talet 0x11 ? Jag har läst och läst men hittar inget vettigt sätt

MVH
// Kevin

0x11 är ju 17 .. så förstår inte riktigt vad du menar med konvertera?

Visa signatur

Intel Core i7-3770K | NVIDIA Geforce GTX 980 | 16 GB DDR3 | DELL P2415Q | DELL U2711 | DELL U2410

Permalänk
Medlem

Hm protokollet visade 11 hah, dum som jag var litade jag blint på det.
Hade bara kollat väldigt väldigt fel, sorry

Så finns det nånstans man kan leka med en server då jag inte kan allt det här och vill testa mig fram lite. Bara för att se om man har anslutit och fått STATUS 100 osv.

Jag har python installerat på min server och när jag startar pokerservern stämmer allt men frågan är bara hur jag kommer åt den från min klient.

MVH
// Kevin

Visa signatur

Mycket mumbo-jumbo nu känner jag.

Permalänk
Medlem

Ha, jag har en en finslipad och underbar idé, ska bara se om jag hinner lära mig att programmera först (har kommit till kapitel 2 i C++ direkt)

Visa signatur
Permalänk
Medlem

När jag försöker köra servern på pastebin får jag detta:
oggee$ python server.py
Traceback (most recent call last):
File "server.py", line 230, in ?
server = pokerServer(9999)
File "server.py", line 54, in __init__
self.master.bind(self.adress)
File "<string>", line 1, in bind
socket.gaierror: (7, 'No address associated with nodename')

Någon som vet vad felet är?

Visa signatur

Into the Web Browser for iPhone, http://www.intothewebbrowser.com/

Permalänk

Ett tips till alla som försöker implementera en klient. Skit i nätverksprotokollet så länge och tackla istället några av de konkreta problemen som måste lösas för få till en funktionell klient. Exempel: handevaluering, oddsberäkning, statemachine för hur AI:n spelar en hand No Limit Holdem, etc...

Kommer att ägna ca 3h av min dag åt att implementera servern. Gissar på att en första rudimentär version dyker upp i Subversion repositoryt någon gång under fredag. Planen är att skriva servern tillsammans med enkel telnet-liknande klient som människor kan använda för att connecta till servern och spela. Hoppas kunna fånga upp och fixa de flesta av buggarna under en live-coding session någon gång under nästa vecka.

Notera att jag kommer att skriva färdigt servern oberoende av om det blir en tävling eller ej.

Vad tror ni om protokollet?

Något som är oklart och behöver ändras?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av BobbyFromDallas
Ett tips till alla som försöker implementera en klient. Skit i nätverksprotokollet så länge och tackla istället några av de konkreta problemen som måste lösas för få till en funktionell klient. Exempel: handevaluering, oddsberäkning, statemachine för hur AI:n spelar en hand No Limit Holdem, etc...

Kommer att ägna ca 3h av min dag åt att implementera servern. Gissar på att en första rudimentär version dyker upp i Subversion repositoryt någon gång under fredag. Planen är att skriva servern tillsammans med enkel telnet-liknande klient som människor kan använda för att connecta till servern och spela. Hoppas kunna fånga upp och fixa de flesta av buggarna under en live-coding session någon gång under nästa vecka.

Notera att jag kommer att skriva färdigt servern oberoende av om det blir en tävling eller ej.

Vad tror ni om protokollet?

Något som är oklart och behöver ändras?

Helt klart bra protokoll, förutom en sak. För att förenkla nätversksprogrammeringen är det lättare att inte ha kommandon som fungerar olika i olika fall. Syftar på HOLECARDS.
Men eftersom det inte är så krångligt är det bara att ignorera vad jag säger
Det är ändå värt att tänka på om du implementerar vidare.

Sjukt roligt annars

EDIT: En sak bara.. när en spelare blir eliminerad, vad händer med dess position? Tas den bort och alla andra spelare får nya positioner, eller fortsätter han vara med spelet ut? Fast utan att få göra något dvs?

Visa signatur

+++++++[>++++++++++>+++++++++++++++<<-]>-.---------[>>++<<-]>>----.<-.---.>++++.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av oggee
När jag försöker köra servern på pastebin får jag detta:
oggee$ python server.py
Traceback (most recent call last):
File "server.py", line 230, in ?
server = pokerServer(9999)
File "server.py", line 54, in __init__
self.master.bind(self.adress)
File "<string>", line 1, in bind
socket.gaierror: (7, 'No address associated with nodename')

Någon som vet vad felet är?

Jag skulle tro att gethostname() inte hittar något hostname på den dator du tänker köra koden på.

Visa signatur

MacBook Pro: 2.0GHz Intel Core Duo / ATI x1600 256MB / 1x1GB 667 DDR2 / 100GB SATA Drive@5400rpm

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av ookk
Jag skulle tro att gethostname() inte hittar något hostname på den dator du tänker köra koden på.

That is weird.

Liber:~ oggee$ hostname
Liber.local

Det är en mac, alltså darwin.

Visa signatur

Into the Web Browser for iPhone, http://www.intothewebbrowser.com/

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av oggee
That is weird.

Liber:~ oggee$ hostname
Liber.local

Det är en mac, alltså darwin.

Jag kör också mac och koden fungerade. Vet inte vad det är som gör att det inte fungerar på din dator. Pröva att slänga in lite "print"-statements runt bind() anropet för att se var som händer...?

Visa signatur

MacBook Pro: 2.0GHz Intel Core Duo / ATI x1600 256MB / 1x1GB 667 DDR2 / 100GB SATA Drive@5400rpm

Permalänk
Medlem

Jag laddade precis hem och testade att köra servern som ookk skrev men till en början fick jag liknande fel som oggee.

Traceback (most recent call last):
File "serv.py", line 230, in ?
server = pokerServer(9999)
File "serv.py", line 54, in __init__
self.master.bind(self.adress)
File "<string>", line 1, in bind
socket.gaierror: (-2, 'Name or service not known')

Jag gjorde en fullösning som verkade funka, jag ändrade rad 53 från

self.adress = (gethostname(), port)

till

self.adress = ("localhost", port)

edit: Nu funkar även den omodifierade koden.
Jag hade glömt att lägga till mitt hostname i min /etc/hosts och efter att jag hade ändrat det så funkade allt fint (i Linux).

Visa signatur

[u]CPU:[/u] AMD 64 3200+ [u]Mobo:[/u] MSI K8N NEO Platinum [u]Minne:[/u] 2x512mb Micron PC3500 433mhz DDR [u]Grafikkort:[/u] ATI Radeon 9800 Pro [u]Ljudkort:[/u] Soundblaster Audigy 2 ZS [u]HD:[/u] Maxtor 160GB 7200rpm SATA

Permalänk
Medlem

Satt precis och spelade skissa & gissa, och tänkte kan ingen göra en bättre version, Eller kanske nån form av applikation som man laddar hem och anslutar till en server och sen kan spela mot varandra och så, och även finnas andra spel, och då kom jag på att jag läst den här tråden.

Tycker verkligen ni ska göra en applikation där det finns skissa & gissa, alfapet, 5-i-rad och sådana spel. Skulle vara riktigt kul när man har tråkigt!

EDIT: Kom nu på att jag inte läst så mycket än de första inläggen kanske skulle läst hela tråden, aja förlåt klaga inte på mig!

Visa signatur

Stationär » Amd Athlon64 X2 4800+ | Asus M2N-Sli Deluxe | 2048mb ram | BFG 8800GTS OC 320mb | Hiper Type-R Modular 580w Black | WD Raptor 74gb + 200gb + 250gb + 250gb + 500gb

Permalänk
Hedersmedlem

Det första inlägget som lägger grunden för tävlingen säger ju att det är frågan om att göra ett program som spelar. Som dagens ungdom förstår det: en 'bot' (som kanske heter Anna).
Du vill ju ha spelapplikationer, där människorna spelar. Blir ju fel. Visst skulle vissa vara enkla (heter det inte 4 i rad egentligen?) men skissa & gissa är nog inte så enkelt

Visa signatur

Forumregler | Feedbackforumet | Något som behöver modereras? Tryck på Anmäl inlägget och ge en anledning, någon moderator kommer granska inlägget och göra (egen) bedömning
"Fate. Protects fools, little children and ships named Enterprise." - Riker - ST:TNG

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Aqualize
Det första inlägget som lägger grunden för tävlingen säger ju att det är frågan om att göra ett program som spelar. Som dagens ungdom förstår det: en 'bot' (som kanske heter Anna).
Du vill ju ha spelapplikationer, där människorna spelar. Blir ju fel. Visst skulle vissa vara enkla (heter det inte 4 i rad egentligen?) men skissa & gissa är nog inte så enkelt

Ja förlåt läste nog inte allt där, sorry! Glöm bort mitt inlägg allihoppa!

Visa signatur

Stationär » Amd Athlon64 X2 4800+ | Asus M2N-Sli Deluxe | 2048mb ram | BFG 8800GTS OC 320mb | Hiper Type-R Modular 580w Black | WD Raptor 74gb + 200gb + 250gb + 250gb + 500gb

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Ethex
Hehe, är precis nylärd kan man säga. Läste "haskell får newbs" på Chalmers för ~2 månader sedan.
Men det gick rätt fort att lära sig.

Är väl bara fråga om du undrar över något Och förhoppningsvis kan jag hjälpa.

Jag tänker ge mig på Haskell oxå.

McMoj: Det finns en online-"skissa och gissa" på www.isketch.net

Permalänk
Medlem

Hur går det för alla?
Hur går det med servern?

Jag tänkte att det skulle vara smart att folk som är intresserade på att vara med "anmäler" sig på något sett så man kan få id# och få lite översikt på tävlingen... Så jag slängde ihop en liten anmälningssida där ni kan anmäla er... ni hittar den här: http://www.poker-solitaire.com/pokerbots/pokerbot.php (har inte lagt ner min själ på designen, men känns lite skit samma )

Permalänk
Medlem

Känns som att tävlingen kommer rinna ut i sanden för att den är för svår, men man vet ju aldrig...

Visa signatur

www.filipsprogram.tk - lite freeware
"Delight, herregud. Talang är bara förnamnet."

Permalänk
Medlem

Vore väl kanske bra med någon form av tidgräns för när första tävlingen ska genomföras? Då vet nog alla lite bättre hur mycket man ska lägga ner på all AI och lättare att se vilka som är med osv.

Visa signatur
Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Delight
Känns som att tävlingen kommer rinna ut i sanden för att den är för svår, men man vet ju aldrig...

Tror jag också.

Visa signatur

Sverige är ett så litet land att det bara får plats en åsikt i taget där.