Apollo81 Posted April 2, 2009 Report Share Posted April 2, 2009 Can someone suggest a good deal generator that is web-based? I used to enjoy http://www.rpbridge.net/xwd2.htm I've tried http://www.playbridge.com, but I don't think it works properly. For instance when I specify I want a hand with 5-6 spades, it almost always deals 6. Quote Link to comment Share on other sites More sharing options...
uday Posted April 2, 2009 Report Share Posted April 2, 2009 We have a web based tool for generating hands. It is a front end to "Dealer" by Hans van Staveren and others http://www.bridgebase.com/tools/dealer/dealer.php You'll need to read the docs. Dealer is quite powerful. I'm open to suggestions for improving the web utility. We use this Dealer program in the web version of BBO as well. A teaching table (or a Partnership bidding table, for that matter) can use constrained hands, and the constraints can be expressed as raw input to Dealer. So if you're looking for a way to practice (say) "Strong NT sequences when opener has a 5 card major" with your partner, you can use the web version of BBO, using the web page above to tinker with Dealer until you're confident that you have the constraints down pat. The Partnership bidding tables in the web version offer ( currently free ) robots for use in the EW seats. They don't bid like Kokish, but IMO their bidding is adequate for practicing sequences. You can login to BBO via the web at http://www.bridgebase.com Uday Quote Link to comment Share on other sites More sharing options...
TimG Posted April 2, 2009 Report Share Posted April 2, 2009 I'm open to suggestions for improving the web utility. I changed the action on the default script to 'print(north)' and the output was: 1. 2. 3. 4. K Q 7 2 A Q 6 2 A 9 8 5 A Q 6 A T 9 9 2 J 9 J 4 3 J 8 A 9 4 2 A K J 3 A K Q K J 7 5 A Q 3 T 5 4 A K Q 7 5. A Q 8 2 K 6 A 6 5 2 9 3 2 Looks like the spaces that dealer generates are not hard spaces. Frequency charts suffer from the same space issue. Quote Link to comment Share on other sites More sharing options...
Apollo81 Posted April 2, 2009 Author Report Share Posted April 2, 2009 thanks Quote Link to comment Share on other sites More sharing options...
hrothgar Posted April 2, 2009 Report Share Posted April 2, 2009 You'll need to read the docs. Dealer is quite powerful. I'm open to suggestions for improving the web utility. Hi Uday Thanks very much for integrating Dealer in to BBO.This is a feature that I've been looking forward to for the better part of 10 years. From my perspective, the main enhancement that you need to think about relates to "content" rather than "features". The real value in Dealer is the ability to construct elaborate custom scripts for (virtually) any conceivable hand type. We all know that 99 users out of 100 will never want to learn anything about Dealer's scripting capabilities. What we need to do is figure out some way that the "geeky" 1% who like writing scripts are able to effectively share their work everyone else. As a simple example: Let's assume that some BBO user creates a script that does a near perfect job generating 15-17 HCP 1NT openings. In an ideal world, the BBO GUI would provide a simple interface into that Dealer script. The obvious problem is separating the wheat from the chaff... How do we identify "good" scripts for a given opening? In particular, how can we do this when there is bound to be a lot of disagreement about what constitues a "legitimate" 1S opening playing 2/1, SAYC, whatever. I think that a good starting point actually involves the BBO forums. Create a new section of the forums where users can post / discuss scripts. With luck, we'll be able to reach some consensus for some of the "simplier" cases [What hands are suitable for a 15-17 HCP 1NT opening]. If we can reach agreement on this, we'll see how things go...If we can't reach agreement on this, the enter idea can be shelved as a bad idea. Quote Link to comment Share on other sites More sharing options...
hrothgar Posted April 2, 2009 Report Share Posted April 2, 2009 WOW I was excited enough about this feature that I left work early so I could play with it. I just tried a "Baptism by Fire" I input one of my old MOSCITO scripts and the system behaved with flying colors. Here's an example of the type of stuff you can do with this new system: The following script provides a decent enough approximation of my opening style playing MOSCITO. The initial "X" lines of this script define all of the nromal opening bids. I can edit the last line of the script to state what bid I want the hand generator to create. At the moment, the script will cause Dealer to generate Two Diamond openings. (Please note: These are assumed fit 2D openings that show 4+ Diamonds, 4+ cards in either majorinsufficient strength for a constructive openingand enough strength / shape for a preempt THIS FEATURE IS REALLY REALLY COOL!!!!!!!!!! _____________________ ######### Definition - Opening Points # 11 is the index for c13# This function allows the user to define valuations for cacluating# HCP# Most hand evaluation is performed used a modified version of # the 4 Aces Point Count.(Ace = 3, King = 2, ...)# All values are multiplied by 100 to avoid fractions altcount 11 300 200 100 50 20 ############## STRONG OPENINGS one_club = (hcp(north)>=17orc13(north) >=1000or(hcp(north)>=15 and cccc(north)>=1600 and c13(north)>=900)or(hcp(north)==14 and cccc(north)>=1900 and c13(north)>=900)or(hcp(north)==13 and cccc(north)>=2000 and c13(north)>=900)or ( hcp(north)>=15 and shape(north, any 4333 + any 4432 + any 5332 + any 5422) and c13(north) >= 900) ) ######Opening strength defines the minimum strength for a limited #opening bid##### opening_strength =( ( cccc(north) - 25 * shape(north, any 4441 + any 5440) >= 1050 or hcp(north) >= 11 ) and c13(north) >= 600) and not one_club #MOSCITO Opening structure #################### SINGLE SUITED PREEMPTS #################### MAJORS four_diamonds = ((spades(north) >= 8 andhascard(north, AS) + hascard(north, KS) == 2) or (spades(north) == 7 andhascard(north, AS) + hascard(north, KS) + hascard(north,QS) == 3)) and hascard(north,AC) + hascard(north,KC) +hascard(north,AD) + hascard(north,KD) +hascard(north,AH) + hascard(north,KH) <=1 four_spades = hcp(north) <= 9 and ((spades(north) >= 7 and hascard(north, AS) + hascard(north, KS) +hascard(north,QS) + hascard(north, JS) >= 3) or spades(north) >= 8) and not four_diamonds three_spades = spades(north) >= 6 and (hascard(north, AS) + hascard(north, KS) +hascard(north, QS) + hascard(north, JS) >= 2) and (hearts(north) <=1 ordiamonds(north) <=1 orclubs(north) <= 1) and hcp(north) <= 9 and not four_diamonds and not four_spades four_clubs = ((hearts(north) >= 8 andhascard(north,AH) + hascard(north,KH) == 2)or (hearts(north) == 7 andhascard(north,AH) + hascard(north,KH) + hascard(north,QH) == 3)) and hascard(north,AC) + hascard(north,KC) +hascard(north,AD) + hascard(north,KD) +hascard(north,AS) + hascard(north,KS) <=1 four_hearts = hcp(north) <= 9 and ((hearts(north) >= 7 and hascard(north, AH) + hascard(north, KH) +hascard(north,QH) + hascard(north, JH) >= 3) or spades(north) >= 8) and not four_clubs three_hearts = hearts(north) >= 6 and (hascard(north, AH) + hascard(north, KH) +hascard(north, QH) + hascard(north, JH) >= 2) and (spades(north) <=1 ordiamonds(north) <=1 orclubs(north) <= 1) and hcp(north) <= 9 and not four_clubs and not four_hearts ############## MINORS three_nt = hcp(north) <= 9 and ((clubs(north) >= 8andhascard(north,AS) + hascard(north,KS) +hascard(north,AH) + hascard(north,KH) +hascard(north,AD) + hascard(north,KD) <= 1) or (diamonds(north) >= 8andhascard(north,AS) + hascard(north,KS) +hascard(north,AH) + hascard(north,KH) +hascard(north,AC) + hascard(north,KC) <= 1)) three_clubs = clubs(north) >= 6 and hascard(north, AC) + hascard(north, KC) + hascard(north, QC) == 2 and hascard(north, AD) + hascard(north, KD) +hascard(north, AH) + hascard(north, KH) +hascard(north, AS) + hascard(north, KS) == 0 and hcp(north) <=9 and not three_nt three_diamonds = diamonds(north) >= 6 and hascard(north, AD) + hascard(north, KD) + hascard(north, QD) == 2 and hascard(north, AC) + hascard(north, KC) +hascard(north, AH) + hascard(north, KH) +hascard(north, AS) + hascard(north, KS) == 0 and hcp(north) <=9 and not three_nt two_nt = (clubs(north) >=6 and hascard(north, AC) + hascard(north, KC) + hascard(north, QC) +hascard(north, JC) == 2 and hascard(north, AD) + hascard(north, KD) +hascard(north, AH) + hascard(north, KH) +hascard(north, AS) + hascard(north, KS) == 0 and hascard(north, QD) + hascard(north, QH) + hascard(north, QS) <= 1 and not three_clubs) or (diamonds(north) >=6 and hascard(north, AD) + hascard(north, KD) + hascard(north, QD) +hascard(north, JD) == 2 and hascard(north, AC) + hascard(north, KC) +hascard(north, AH) + hascard(north, KH) +hascard(north, AS) + hascard(north, KS) == 0 and hascard(north, QC) + hascard(north, QH) + hascard(north, QS) <= 1 and not three_diamonds) and not three_nt preempts =four_spades orfour_clubs orthree_spades orfour_hearts orfour_clubs orthree_hearts orthree_diamonds orthree_clubs orthree_nt ortwo_nt ################################# Weak Opening Bids############################### two_diamonds = not opening_strength andhcp(north) <= 12 andc13(north) >= 325 and shape(north, any 4432, any 54xx, any 55xx, any 65xx) andclubs(north) <= 3 anddiamonds(north) >=4 two_hearts = not opening_strength andhcp(north) <= 12 andc13(north) >= 325 and shape(north, any 4432, any 54xx, any 55xx, any 65xx) andhearts(north) >= 4 and (spade(north) >= 4 orclubs(north) >= 5) two_spades = not opening_strength andhcp(north) <= 12 andc13(north) >= 325 and ((shape(north, any 6322, any 6331, any 7222) andspades(north) >=6) or (spades(north) >=4 and clubs(north) >=5and hascard(north, AS) + hascard(north, KS) + hascard(north, QS) >= 1)) ############## LIMITED OPENINGS ##### Pre-Definitions bad_spades = hascard(north, AS) + hascard(north, KS) + hascard(north,QS) == 0bad_hearts = hascard(north, AH) + hascard(north, KH) + hascard(north,QH) == 0balanced = shape(north, any 4432, any 5332, any 4333) ######## two_clubs =opening_strengthand not preempts and ( (clubs(north) >= 6 andspades(north) < 4 andhearts(north) < 3) or (clubs(north) >= 6 andspades(north) == 4 andbad_spades) or (clubs(north) >= 6 andhearts(north) == 4 andbad_hearts) ) one_notrump = opening_strength and ( (balanced and notshape(north, 5xxx, x5xx, 44xx, 4x4x, 4xx4, x44x, x4x4)) or (hearts(north) == 4 andbalanced and(hcp(north) == 11 or hcp(north) == 12)) or (spades(north) == 4 andbalanced andhearts(north) <= 3 and(hcp(north) == 13 or hcp(north) == 14)) ) one_spade =opening_strengthand not preemptsand not one_notrump and diamonds(north) >= 4 andnot one_notrump andhearts(north) <4 andspades(north) <4 or ( diamonds(north) >=6 and ((spades(north) == 4 and bad_spades) or(hearts(north) == 4 and bad_hearts)) ) one_heart = opening_strength andnot two_clubs andnot one_notrump andnot one_spade and ( (spades(north) == 4 andspades(north) > hearts(north)) or (spades(north) >= 5 andspades(north) >= hearts(north)) ) one_diamond = opening_strength andnot two_clubs andnot one_notrump andnot one_spade andnot one_heart and hearts(north) >= 4 and not (balanced and hcp(north) <= 11) ########### two_diamonds Quote Link to comment Share on other sites More sharing options...
TimG Posted April 2, 2009 Report Share Posted April 2, 2009 I think that a good starting point actually involves the BBO forums. Create a new section of the forums where users can post / discuss scripts. With luck, we'll be able to reach some consensus for some of the "simplier" cases [What hands are suitable for a 15-17 HCP 1NT opening]. If we can reach agreement on this, we'll see how things go...If we can't reach agreement on this, the enter idea can be shelved as a bad idea. Richard, I don't quite understand the point. I can't see anything close to universal agreement on how to script a 15-17 NT precisely, and even if we could script one that satisfies a significant majority, what would be the purpose? Perhaps it would be useful to have a few example scripts so that people unfamiliar with Dealer could see how things work. But, the scripting itself is pretty easy once you become familiar and probably would take less time than searching through available scripts in a large library. Quote Link to comment Share on other sites More sharing options...
barmar Posted April 2, 2009 Report Share Posted April 2, 2009 I think trying to put a user-friendly front-end onto Dealer may be almost as complicated as doing this with Full Disclosure. In both cases, the real problem is that you're trying to describe complex criteria, and you can't get away from having to list all the details. Quote Link to comment Share on other sites More sharing options...
hrothgar Posted April 2, 2009 Report Share Posted April 2, 2009 Richard, I don't quite understand the point. I can't see anything close to universal agreement on how to script a 15-17 NT precisely, and even if we could script one that satisfies a significant majority, what would be the purpose? Perhaps it would be useful to have a few example scripts so that people unfamiliar with Dealer could see how things work. But, the scripting itself is pretty easy once you become familiar and probably would take less time than searching through available scripts if you build up a large library. My assumption is the following: 1. Most users would like to be able to generate hands that correspond to common auctions. For example: A SAYC type 1N opening Or hand that match an auction like: 1N - (P) - 2C 2. Most of these users will NEVER learn how to write scripts, regardless of how easy that might be. The only way to support these users is to link a GUI to some kind of pre-existing scripts. (Or quite right that said GUI needs to be designed carefully. However, we should start by defining some scripts) 3. There are a number of ways that these scripts might come into existence... If we whine for long enough, there is always the chance that Fred / Uday, Aaron / whomever will miraculously write them for us. Personally, I think that stepping up to the plate and writing things for ourselves is a better way to go... 4. I agree that we will NEVER get perfect consensus regarding the definition of any of these bids. However, I hope that we can achieve rough consensus... Moreover, I like to believe that scripts that are developed in an open, peer reviewed process have a better chance of producing quality code... (Admittedly, the forums has its own deviant views regarding a number of topics. However, I still tend to trust the judgment of a collective over the judgment of an individual) Quote Link to comment Share on other sites More sharing options...
barmar Posted April 2, 2009 Report Share Posted April 2, 2009 The problem is that you'll end up with something like FD, which handles the really easy cases OK. But anyone who wants to go beyond the handful of canned scripts that are provided will be at a loss. Such applications look nice in demos, but are not much good in the long run. Quote Link to comment Share on other sites More sharing options...
hanp Posted April 2, 2009 Report Share Posted April 2, 2009 WOW I was excited enough about this feature that I left work early so I could play with it. I just tried a "Baptism by Fire" I input one of my old MOSCITO scripts and the system behaved with flying colors. Here's an example of the type of stuff you can do with this new system: The following script provides a decent enough approximation of my opening style playing MOSCITO. The initial "X" lines of this script define all of the nromal opening bids. I can edit the last line of the script to state what bid I want the hand generator to create. At the moment, the script will cause Dealer to generate Two Diamond openings. (Please note: These are assumed fit 2D openings that show 4+ Diamonds, 4+ cards in either majorinsufficient strength for a constructive openingand enough strength / shape for a preempt THIS FEATURE IS REALLY REALLY COOL!!!!!!!!!! _____________________ ######### Definition - Opening Points # 11 is the index for c13# This function allows the user to define valuations for cacluating# HCP# Most hand evaluation is performed used a modified version of # the 4 Aces Point Count.(Ace = 3, King = 2, ...)# All values are multiplied by 100 to avoid fractions altcount 11 300 200 100 50 20 ############## STRONG OPENINGS one_club = (hcp(north)>=17orc13(north) >=1000or(hcp(north)>=15 and cccc(north)>=1600 and c13(north)>=900)or(hcp(north)==14 and cccc(north)>=1900 and c13(north)>=900)or(hcp(north)==13 and cccc(north)>=2000 and c13(north)>=900)or ( hcp(north)>=15 and shape(north, any 4333 + any 4432 + any 5332 + any 5422) and c13(north) >= 900) ) ######Opening strength defines the minimum strength for a limited #opening bid##### opening_strength =( ( cccc(north) - 25 * shape(north, any 4441 + any 5440) >= 1050 or hcp(north) >= 11 ) and c13(north) >= 600) and not one_club #MOSCITO Opening structure #################### SINGLE SUITED PREEMPTS #################### MAJORS four_diamonds = ((spades(north) >= 8 andhascard(north, AS) + hascard(north, KS) == 2) or (spades(north) == 7 andhascard(north, AS) + hascard(north, KS) + hascard(north,QS) == 3)) and hascard(north,AC) + hascard(north,KC) +hascard(north,AD) + hascard(north,KD) +hascard(north,AH) + hascard(north,KH) <=1 four_spades = hcp(north) <= 9 and ((spades(north) >= 7 and hascard(north, AS) + hascard(north, KS) +hascard(north,QS) + hascard(north, JS) >= 3) or spades(north) >= 8) and not four_diamonds three_spades = spades(north) >= 6 and (hascard(north, AS) + hascard(north, KS) +hascard(north, QS) + hascard(north, JS) >= 2) and (hearts(north) <=1 ordiamonds(north) <=1 orclubs(north) <= 1) and hcp(north) <= 9 and not four_diamonds and not four_spades four_clubs = ((hearts(north) >= 8 andhascard(north,AH) + hascard(north,KH) == 2)or (hearts(north) == 7 andhascard(north,AH) + hascard(north,KH) + hascard(north,QH) == 3)) and hascard(north,AC) + hascard(north,KC) +hascard(north,AD) + hascard(north,KD) +hascard(north,AS) + hascard(north,KS) <=1 four_hearts = hcp(north) <= 9 and ((hearts(north) >= 7 and hascard(north, AH) + hascard(north, KH) +hascard(north,QH) + hascard(north, JH) >= 3) or spades(north) >= 8) and not four_clubs three_hearts = hearts(north) >= 6 and (hascard(north, AH) + hascard(north, KH) +hascard(north, QH) + hascard(north, JH) >= 2) and (spades(north) <=1 ordiamonds(north) <=1 orclubs(north) <= 1) and hcp(north) <= 9 and not four_clubs and not four_hearts ############## MINORS three_nt = hcp(north) <= 9 and ((clubs(north) >= 8andhascard(north,AS) + hascard(north,KS) +hascard(north,AH) + hascard(north,KH) +hascard(north,AD) + hascard(north,KD) <= 1) or (diamonds(north) >= 8andhascard(north,AS) + hascard(north,KS) +hascard(north,AH) + hascard(north,KH) +hascard(north,AC) + hascard(north,KC) <= 1)) three_clubs = clubs(north) >= 6 and hascard(north, AC) + hascard(north, KC) + hascard(north, QC) == 2 and hascard(north, AD) + hascard(north, KD) +hascard(north, AH) + hascard(north, KH) +hascard(north, AS) + hascard(north, KS) == 0 and hcp(north) <=9 and not three_nt three_diamonds = diamonds(north) >= 6 and hascard(north, AD) + hascard(north, KD) + hascard(north, QD) == 2 and hascard(north, AC) + hascard(north, KC) +hascard(north, AH) + hascard(north, KH) +hascard(north, AS) + hascard(north, KS) == 0 and hcp(north) <=9 and not three_nt two_nt = (clubs(north) >=6 and hascard(north, AC) + hascard(north, KC) + hascard(north, QC) +hascard(north, JC) == 2 and hascard(north, AD) + hascard(north, KD) +hascard(north, AH) + hascard(north, KH) +hascard(north, AS) + hascard(north, KS) == 0 and hascard(north, QD) + hascard(north, QH) + hascard(north, QS) <= 1 and not three_clubs) or (diamonds(north) >=6 and hascard(north, AD) + hascard(north, KD) + hascard(north, QD) +hascard(north, JD) == 2 and hascard(north, AC) + hascard(north, KC) +hascard(north, AH) + hascard(north, KH) +hascard(north, AS) + hascard(north, KS) == 0 and hascard(north, QC) + hascard(north, QH) + hascard(north, QS) <= 1 and not three_diamonds) and not three_nt preempts =four_spades orfour_clubs orthree_spades orfour_hearts orfour_clubs orthree_hearts orthree_diamonds orthree_clubs orthree_nt ortwo_nt ################################# Weak Opening Bids############################### two_diamonds = not opening_strength andhcp(north) <= 12 andc13(north) >= 325 and shape(north, any 4432, any 54xx, any 55xx, any 65xx) andclubs(north) <= 3 anddiamonds(north) >=4 two_hearts = not opening_strength andhcp(north) <= 12 andc13(north) >= 325 and shape(north, any 4432, any 54xx, any 55xx, any 65xx) andhearts(north) >= 4 and (spade(north) >= 4 orclubs(north) >= 5) two_spades = not opening_strength andhcp(north) <= 12 andc13(north) >= 325 and ((shape(north, any 6322, any 6331, any 7222) andspades(north) >=6) or (spades(north) >=4 and clubs(north) >=5and hascard(north, AS) + hascard(north, KS) + hascard(north, QS) >= 1)) ############## LIMITED OPENINGS ##### Pre-Definitions bad_spades = hascard(north, AS) + hascard(north, KS) + hascard(north,QS) == 0bad_hearts = hascard(north, AH) + hascard(north, KH) + hascard(north,QH) == 0balanced = shape(north, any 4432, any 5332, any 4333) ######## two_clubs =opening_strengthand not preempts and ( (clubs(north) >= 6 andspades(north) < 4 andhearts(north) < 3) or (clubs(north) >= 6 andspades(north) == 4 andbad_spades) or (clubs(north) >= 6 andhearts(north) == 4 andbad_hearts) ) one_notrump = opening_strength and ( (balanced and notshape(north, 5xxx, x5xx, 44xx, 4x4x, 4xx4, x44x, x4x4)) or (hearts(north) == 4 andbalanced and(hcp(north) == 11 or hcp(north) == 12)) or (spades(north) == 4 andbalanced andhearts(north) <= 3 and(hcp(north) == 13 or hcp(north) == 14)) ) one_spade =opening_strengthand not preemptsand not one_notrump and diamonds(north) >= 4 andnot one_notrump andhearts(north) <4 andspades(north) <4 or ( diamonds(north) >=6 and ((spades(north) == 4 and bad_spades) or(hearts(north) == 4 and bad_hearts)) ) one_heart = opening_strength andnot two_clubs andnot one_notrump andnot one_spade and ( (spades(north) == 4 andspades(north) > hearts(north)) or (spades(north) >= 5 andspades(north) >= hearts(north)) ) one_diamond = opening_strength andnot two_clubs andnot one_notrump andnot one_spade andnot one_heart and hearts(north) >= 4 and not (balanced and hcp(north) <= 11) ########### two_diamonds Richard's post must be the second longest post ever. Quote Link to comment Share on other sites More sharing options...
mtvesuvius Posted April 2, 2009 Report Share Posted April 2, 2009 Richard's post must be the second longest post ever. Who's was the longest ever? Quote Link to comment Share on other sites More sharing options...
hrothgar Posted April 2, 2009 Report Share Posted April 2, 2009 Richard's post must be the second longest post ever. Who's was the longest ever? Look up... Quote Link to comment Share on other sites More sharing options...
jdonn Posted April 2, 2009 Report Share Posted April 2, 2009 Richard's post must be the second longest post ever. Who's was the longest ever? Lol. Han gotcha! Quote Link to comment Share on other sites More sharing options...
hrothgar Posted April 2, 2009 Report Share Posted April 2, 2009 The problem is that you'll end up with something like FD, which handles the really easy cases OK. But anyone who wants to go beyond the handful of canned scripts that are provided will be at a loss. Such applications look nice in demos, but are not much good in the long run. For what its worth, I agree that its impractical to try to support every possible auction. However, that's not reason not to knock off the easy cases... Quote Link to comment Share on other sites More sharing options...
eyhung Posted April 2, 2009 Report Share Posted April 2, 2009 Personally, I think a Wiki-style area would be best where we could upload scripts for people to share and download. I have around 20-30 scripts I wrote for Dealer several years ago that I'd be willing to share. People can choose the scripts they want -- there's no need to agree upon a standard. Quote Link to comment Share on other sites More sharing options...
Rain Posted April 3, 2009 Report Share Posted April 3, 2009 If you want to do it here, start a thread, it'll get pinned. The opening thread ideally will include a summary, with links to subsequent scripts posted. OP can edit it, and any moderator can as well. Quote Link to comment Share on other sites More sharing options...
hrothgar Posted April 3, 2009 Report Share Posted April 3, 2009 If you want to do it here, start a thread, it'll get pinned. The opening thread ideally will include a summary, with links to subsequent scripts posted. OP can edit it, and any moderator can as well. Would it be possible to create another section of the forums? I think that it will enhance discoverability. Quote Link to comment Share on other sites More sharing options...
uday Posted April 3, 2009 Report Share Posted April 3, 2009 Fixed TimG's bug with spacing etc. The output is now raw dealer output wrapped in <pre> and </pre> tags. Seems to work Richard, I'm concerned that a new section will become a dead section ( from lack of use ). What if we tried starting a thread ? If it sees traffic we can make it into a standalone section . FG & I toyed with allowing Dealer specifications to be stored on the server side and made available in the client. Then we started talking about sharing & permissions and things got hairy, so we decided to set aside this aspect of the client. Eugene's suggestion of a wiki is mildly interesting to me. Maybe we should build it, and if no one comes, toss it ? Quote Link to comment Share on other sites More sharing options...
hrothgar Posted April 3, 2009 Report Share Posted April 3, 2009 Fixed TimG's bug with spacing etc. The output is now raw dealer output wrapped in <pre> and </pre> tags. Seems to work Richard, I'm concerned that a new section will become a dead section ( from lack of use ). What if we tried starting a thread ? If it sees traffic we can make it into a standalone section . FG & I toyed with allowing Dealer specifications to be stored on the server side and made available in the client. Then we started talking about sharing & permissions and things got hairy, so we decided to set aside this aspect of the client. Eugene's suggestion of a wiki is mildly interesting to me. Maybe we should build it, and if no one comes, toss it ? Hi Uday: I would respond as follows: So what if there is a dead section? If the section gets use / grows / thrives then it has value. If the section doesn't get use, its not costing anything. The easiest way to proceed, might be to relable the "Full Disclosure Standard Systems" forum something like User Contributed code for FD + Dealer This won't clutter up the existing forum structure any more than it is now, but will still provide an area where folks can work. As for the wiki idea: If you're worried that folks won't use the resource, splitting users between two competing sites is the wrong way to go... (In practice, a wiki is a poor substitute for a source control system) Quote Link to comment Share on other sites More sharing options...
whereagles Posted April 3, 2009 Report Share Posted April 3, 2009 uday, I love you so much *adds to bookmarks* Quote Link to comment Share on other sites More sharing options...
Ant590 Posted April 3, 2009 Report Share Posted April 3, 2009 Oh, I didn't know this tread existed. I have just but a question involving dealer in the BBO support forum (http://forums.bridgebase.com/index.php?showtopic=31248). I don't think one thread for the entire topic is appropriate as the replies, comments and criticisms to programs will all become muddled together. A new forum group is needed IMHO. Or a Wiki. Or both. Quote Link to comment Share on other sites More sharing options...
Ant590 Posted April 3, 2009 Report Share Posted April 3, 2009 Another option would be to merge it with the FD systems forum, which has become dormant. Quote Link to comment Share on other sites More sharing options...
bidule4 Posted April 3, 2009 Report Share Posted April 3, 2009 We have a web based tool for generating hands. It is a front end to "Dealer" by Hans van Staveren and others http://www.bridgebase.com/tools/dealer/dealer.php You'll need to read the docs. Dealer is quite powerful. I'm open to suggestions for improving the web utility. One suggestion: add a printlin function (this should probably in the dealer program) yvan Quote Link to comment Share on other sites More sharing options...
bidule4 Posted April 3, 2009 Report Share Posted April 3, 2009 add a printlin function (this should probably in the dealer program)The code shoul be something like: printf ("qx|o"%d"|md|%d", board+1, (board+2)%4+1); for (player=COMPASS_NORTH; player<=COMPASS_WEST; player++) { for (suit = SUIT_SPADE; suit>= SUIT_CLUB; suit--) { printf ("SHDC"[suit]); for (rank=12; rank >= 0; rank--) { if (HAS_CARD(d, player, MAKECARD(suit,rank))) { printf ("%c", representation[rank]); } } } if (player < COMPASS_WEST) {printf (",");} } printf ("\n"); (didnt test, dont have a C compiler handy) Quote Link to comment Share on other sites More sharing options...
Recommended Posts