Two Plus Two Newer Archives  

Go Back   Two Plus Two Newer Archives > Internet Gambling > Software
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #261  
Old 08-05-2007, 05:05 PM
chipwiz chipwiz is offline
Member
 
Join Date: Aug 2007
Posts: 35
Default Re: Poker Hand XML

[ QUOTE ]
In order to be a bit more productive instead of just complaining here's my take on the chat issue:

<font class="small">Code:</font><hr /><pre>
&lt;round id="turn"&gt;
&lt;deal&gt;
&lt;card value="Qd" /&gt;
&lt;/deal&gt;
&lt;actions&gt;
&lt;action type="check" playerid="sbrugby" /&gt;
&lt;action type="bet" playerid="durrr" amount="150" /&gt;
&lt;action type="notice"&gt;durrr: zzzzzzz&lt;/action&gt;
&lt;action type="notice"&gt;durrr: z&lt;/action&gt;
&lt;action type="notice"&gt;Dealer: sbrugby has timed out and is given 30s to reconnect&lt;/action&gt;
&lt;action type="notice"&gt;durrr: z&lt;/action&gt;
&lt;action type="notice"&gt;durrr: z&lt;/action&gt;
&lt;action type="notice"&gt;durrr: z&lt;/action&gt;
&lt;action type="notice"&gt;(Observer)noobi: CAN SOME1 TRANSFER ME $5 PLZ?????&lt;/action&gt;
&lt;action type="notice"&gt;Dealer: sbrugby is disconnected and is considered all-in&lt;/action&gt;
&lt;action type="call" playerid="sbrugby" amount="150" allin="true" /&gt;
&lt;/actions&gt;
&lt;/round&gt;
</pre><hr />

[/ QUOTE ]

An alternative is to have &lt;chat&gt; tags within the &lt;actions&gt; block, that way it can easily be ignored when parsing:

<font class="small">Code:</font><hr /><pre>
&lt;round id="turn"&gt;
&lt;deal&gt;
&lt;card value="Qd" /&gt;
&lt;/deal&gt;
&lt;actions&gt;
&lt;action type="check" playerid="sbrugby" /&gt;
&lt;action type="bet" playerid="durrr" amount="150" /&gt;
&lt;chat&gt;durrr: zzzzzzz&lt;/chat&gt;
&lt;chat&gt;durrr: z&lt;/chat&gt;
&lt;chat&gt;(Observer)noobi: CAN SOME1 TRANSFER ME $5 PLZ?????&lt;/chat&gt;
&lt;chat&gt;Dealer: sbrugby is disconnected and is considered all-in&lt;/chat&gt;
&lt;action type="call" playerid="sbrugby" amount="150" allin="true" /&gt;
&lt;/actions&gt;
&lt;/round&gt;
</pre><hr />

I still don't see how this complicates anything. The parser simply ignores the &lt;chat&gt; tag if it is uninterested in chat. The converter either puts the chat inside &lt;chat&gt; tags or ignores the chat. Its just a simple matter of allowing &lt;chat&gt; tags in the &lt;actions&gt; block.
Reply With Quote
  #262  
Old 08-05-2007, 05:09 PM
JackStrap JackStrap is offline
Member
 
Join Date: Jan 2004
Posts: 84
Default Re: Poker Hand XML

i think it's a good idea but next concern, but if we take chat as an action how can we handle those chats during non-actions event such as blind and during showdown?

example:
PokerStars Game #11326900867: Hold'em Pot Limit ($0.10/$0.25) - 2007/08/05 - 16:53:26 (ET)
Table 'Bellona IV' 9-max Seat #4 is the button
Mühre5: posts small blind $0.10
Mühre5 said, "nh"
jarvol: posts big blind $0.25
*** HOLE CARDS ***
[....]`
*** SHOW DOWN ***
hessi1215: shows [As 4s] (a straight, Ace to Five)
Mühre5: mucks hand
hessi1215 said, "danke"
hessi1215 collected $5 from pot
Mühre5 said, "schwein"
*** SUMMARY ***


Quick solution is to move the chat at the starts of the preflop round actions list and move the last chat at the ends of the river action, but now chat will lost it's relative postion. Other siolution is to ignore that pre/post-game chat

ps. i'm not complaining it's better think about all issues right now than too late. that from my quality assurance teacher [img]/images/graemlins/smile.gif[/img]
Reply With Quote
  #263  
Old 08-05-2007, 05:12 PM
Shoe Lace Shoe Lace is offline
Senior Member
 
Join Date: Sep 2004
Posts: 585
Default Re: Poker Hand XML

[ QUOTE ]
An alternative is to have &lt;chat&gt; tags within the &lt;actions&gt; block, that way it can easily be ignored when parsing

[/ QUOTE ]

In order to determine -which- action took place -and- do something different depending on the action we would already be checking any possible value of 'action'.

A common way of doing this is a "switch". Basically you can check the contents of 'action', and then do specific things based on its value.

There's a generic option called "default" (the name of this depends on which language you use) which performs the same code to anything that's not specifically specified.

Ex...
Check -&gt; do this.
Call -&gt; do that.
Bet -&gt; do something.
Raise -&gt; and something else.
default -&gt; ignore it completely.

"chat" or "reads" or anything not specified would be categorized as default, so it would be ignored automatically.
Reply With Quote
  #264  
Old 08-05-2007, 05:13 PM
Triggerle Triggerle is offline
Senior Member
 
Join Date: Oct 2005
Location: What\'s a matter with you, rock?
Posts: 1,439
Default Re: Poker Hand XML

You probably started your reply before I edited. Just so it doesn't get unnoticed: I changed the call amount to "0" as it would be the case for all-in protection.

Applications could use this data to collect information on how often someone pulls their cable in big pots.

This is not of much use but it is another example of keeping the format open enough for future applications/uses we aren't thinking of right now.
Reply With Quote
  #265  
Old 08-05-2007, 05:20 PM
Shoe Lace Shoe Lace is offline
Senior Member
 
Join Date: Sep 2004
Posts: 585
Default Re: Poker Hand XML

The only problem I see with putting optional/non-hand-specific data in-line is that it could get messy at some point.

If we had a &lt;meta&gt;&lt;/meta&gt; node that contained everything that's not necessary for the hand to play out it might be better off in the long term.

An example of some chat could be like:
&lt;meta&gt;
&lt;chat street="1" insertAt="1" id="2"&gt;wee, flopped a set.&lt;/chat&gt;
&lt;chat street="1" insertAt="3" id="4"&gt;liar, I raise.&lt;/chat&gt;
&lt;/meta&gt;

Where street is order #, and insertAt is the line where it should be inserted at.

This way an app can totally ignore the meta node if it doesn't need extra info.
Reply With Quote
  #266  
Old 08-05-2007, 05:26 PM
chipwiz chipwiz is offline
Member
 
Join Date: Aug 2007
Posts: 35
Default Re: Poker Hand XML

[ QUOTE ]
i think it's a good idea but next concern, but if we take chat as an action how can we handle those chats during non-actions event such as blind and during showdown?

example:
PokerStars Game #11326900867: Hold'em Pot Limit ($0.10/$0.25) - 2007/08/05 - 16:53:26 (ET)
Table 'Bellona IV' 9-max Seat #4 is the button
Mühre5: posts small blind $0.10
Mühre5 said, "nh"
jarvol: posts big blind $0.25
*** HOLE CARDS ***
[....]`
*** SHOW DOWN ***
hessi1215: shows [As 4s] (a straight, Ace to Five)
Mühre5: mucks hand
hessi1215 said, "danke"
hessi1215 collected $5 from pot
Mühre5 said, "schwein"
*** SUMMARY ***


Quick solution is to move the chat at the starts of the preflop round actions list and move the last chat at the ends of the river action, but now chat will lost it's relative postion. Other siolution is to ignore that pre/post-game chat

ps. i'm not complaining it's better think about all issues right now than too late. that from my quality assurance teacher [img]/images/graemlins/smile.gif[/img]

[/ QUOTE ]

Someone suggested having a round that takes place before the deal where players post blinds and antes.

<font class="small">Code:</font><hr /><pre>
&lt;round id="predeal"&gt;
&lt;action type="ante" playerId="player2" amount="1"/&gt;
&lt;action type="ante" playerId="player3" amount="1"/&gt;
&lt;action type="ante" playerId="player4" amount="1"/&gt;
&lt;action type="postBB" playerId="player2" amount="10"/&gt;
&lt;chat&gt;player1: blah blah&lt;/chat&gt;
&lt;/round&gt;
</pre><hr />

I think this is a good idea even if chat is not included in the spec. As for chat during showdown, that was one thing i did'nt think of and seem to complicate things a bit. If there is no consistent way to add chat then I think it should'nt be included.
Reply With Quote
  #267  
Old 08-05-2007, 05:38 PM
Triggerle Triggerle is offline
Senior Member
 
Join Date: Oct 2005
Location: What\'s a matter with you, rock?
Posts: 1,439
Default Re: Poker Hand XML

Generally, I care less about chat during/after showdown than chat during the hand because chat during the hand can be part of the action (think inducing bluffs).

Optimal, however, would be to include everything that is in the original HH format and that includes chat during/after showdown.
Reply With Quote
  #268  
Old 08-06-2007, 08:24 AM
JerrySevere JerrySevere is offline
Junior Member
 
Join Date: Jul 2007
Posts: 8
Default Re: Poker Hand XML

About version PokerHandXML 1.3.2, we don't know who is the dealer anymore , we have to bring it back this info [img]/images/graemlins/smile.gif[/img]
the markup "texasholdemhand" should be just "hand" with an attribute for type (HE, O , O8 ,STUD, RAZZ) and attribute for limit (L, NL , PL)

Chat is irrelevant at this point , we can add other markup or attribute later. We have to set up a version and stick with it for now.

Actual xsd for 1.3.2
<font class="small">Code:</font><hr /><pre>
&lt;?xml version="1.0"?&gt;
&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"&gt;
&lt;xs:element name="pokerhandxml" type="pokerhandxml"/&gt;
&lt;xs:complexType name="pokerhandxml"&gt;
&lt;xs:sequence minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:element name="texasholdemhand" type="texasholdemhand"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;

&lt;xs:complexType name="texasholdemhand"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="context" type="context" /&gt;
&lt;xs:element name="rounds" type="rounds" /&gt;
&lt;xs:element name="results" type="results"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;


&lt;xs:complexType name="context"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="location"&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name="online" type="xs:string" /&gt;
&lt;xs:attribute name="room" type="xs:string" /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;

&lt;xs:element name="game"&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name="id" type="xs:string" /&gt;
&lt;xs:attribute name="datetime" type="xs:string" /&gt;
&lt;xs:attribute name="betting" type="xs:string" /&gt;
&lt;xs:attribute name="format" type="xs:string" /&gt;
&lt;xs:attribute name="cap" type="xs:string" /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;

&lt;xs:element name="table" type="table" /&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;


&lt;xs:complexType name="table"&gt;
&lt;xs:sequence minOccurs="1"&gt;
&lt;xs:element name="player" type="player" /&gt;
&lt;/xs:sequence&gt;
&lt;xs:attribute name="id" type="xs:string" /&gt;
&lt;xs:attribute name="name" type="xs:string" /&gt;
&lt;xs:attribute name="seats" type="xs:int" /&gt;
&lt;/xs:complexType&gt;


&lt;xs:complexType name="player"&gt;
&lt;xs:attribute name="id" type="xs:string" /&gt;
&lt;xs:attribute name="stack" type="xs:string" /&gt;
&lt;xs:attribute name="seat" type="xs:string" /&gt;
&lt;/xs:complexType&gt;


&lt;xs:complexType name="rounds"&gt;
&lt;xs:sequence minOccurs="1"&gt;
&lt;xs:element name="forced" type="forced"/&gt;
&lt;xs:element name="round" type="round" /&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;


&lt;xs:complexType name="forced"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="smallblind" type="smallblind" /&gt;
&lt;xs:element name="bigblind" type="bigblind" /&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;

&lt;xs:complexType name="smallblind"&gt;
&lt;xs:attribute name="playerid" type="xs:float" /&gt;
&lt;/xs:complexType&gt;

&lt;xs:complexType name="bigblind"&gt;
&lt;xs:attribute name="playerid" type="xs:float" /&gt;
&lt;/xs:complexType&gt;



&lt;xs:complexType name="round"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="deal" type="deal" /&gt;
&lt;xs:element name="actions" type="actions" /&gt;
&lt;/xs:sequence&gt;
&lt;xs:attribute name="id" type="xs:string" /&gt;
&lt;/xs:complexType&gt;

&lt;xs:complexType name="deal"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="card" type="card" /&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;

&lt;xs:complexType name="card"&gt;
&lt;xs:attribute name="playerid" type="xs:string" /&gt;
&lt;xs:attribute name="value" type="xs:string" /&gt;
&lt;/xs:complexType&gt;


&lt;xs:complexType name="actions"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="action" type="action" /&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;

&lt;xs:complexType name="action"&gt;

&lt;xs:attribute name="playerid" type="xs:string" /&gt;
&lt;xs:attribute name="type" type="xs:string" /&gt;
&lt;/xs:complexType&gt;

&lt;xs:complexType name="results"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="cards" type="cards" /&gt;
&lt;xs:element name="pots" type="pots" /&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;

&lt;xs:complexType name="cards"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="card" type="card" /&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;

&lt;xs:complexType name="pots"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="pot" type="pot" /&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;

&lt;xs:complexType name="pot"&gt;
&lt;xs:attribute name="playerid" type="xs:string" /&gt;
&lt;xs:attribute name="value" type="xs:float" /&gt;
&lt;xs:attribute name="number" type="xs:string" /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:schema&gt;
</pre><hr />
Reply With Quote
  #269  
Old 08-06-2007, 10:08 AM
Triggerle Triggerle is offline
Senior Member
 
Join Date: Oct 2005
Location: What\'s a matter with you, rock?
Posts: 1,439
Default Re: Poker Hand XML

Jerry,

If there is a substantial amount of people who want chat events to be included it can hardly be "irrelevant" unless you value only your own opinions and find those of other people "irrelevant".

In that case a team effort project might not be the right place for you.

BTW, I haven't heard any good reasons for dropping the chat information. Most seem to argue that we should take shortcuts now because it is too hard to do it right. I concede that instead of producing nothing at all it may be better to produce a marginally useful** XML now. But I think we can get it right and not take shortcuts with minimally more effort and that should be our goal.



**marginally useful because it doesn't even cover the requirements of projects existing today, like hand replayers. Not to speak of unknow future uses.
Reply With Quote
  #270  
Old 08-06-2007, 10:55 AM
JerrySevere JerrySevere is offline
Junior Member
 
Join Date: Jul 2007
Posts: 8
Default Re: Poker Hand XML

TriggerLe, i don't said chat is irrelevant , i said that some markups could be add later , XML stands for eXstensible Markup language , so we can add markup when we need it.

I am not speaking english very well, so my sentences may seems offensive but they aren't.

The chat don't bother me. But i'd like , we freeze the basics (blind, dealer , cards , value , flop , round, action ) before adding some extra markup. If we don't freeze a state for the basics, we will be discussing over and over the same things.

So i'm a supporter of the baby-step approach.

Sorry for bad english,
Best regards.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 09:08 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.