File: 3nt-stack.txt

package info (click to toggle)
deal 3.1.9-8
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, stretch
  • size: 1,512 kB
  • sloc: ansic: 5,224; cpp: 4,186; tcl: 3,125; makefile: 203; sh: 9
file content (65 lines) | stat: -rwxr-xr-x 1,863 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#
# Find deals where south is "AK K52 98765 962" and north has a gambling
# 3nt hand.
#
# This was one of the first examples I gave of how "smart stacking" could
# be used.
#
# Compare output from this with output from ex/3nt-nostack.tcl to make
# sure that the relative odds are being obeyed, eg:
#
#   deal -i ex/3nt-stack.tcl 1000 | sort | uniq -c | sort -nr > stack.txt
#   deal -i ex/3nt-nostack.tcl 1000 | sort | uniq -c | sort -nr > nostack.txt
#
# Obviously, they shouldn't be exactly the same, but they should be similar.

source /usr/share/deal/format/none

shapecond gam3NT.shape {$s<=3&&$h<=3&&(($d>=7&&$c<=4)||($c>=7&&$d<=4))}

# return '1' if not compatible with a gambling notrump hand,
# '0' otherwise
holdingProc gam3NT.suit {A K Q J len} {

   if {$len>=7} {
     if {$len<=9&&$A&&$K&&$Q} { return 0}
     return 1
   }

   if {$len<=4} {
     if {$A||$K} { return 1 }
     return 0
   }

   return 1

}

deal::input smartstack north gam3NT.shape gam3NT.suit 0 0

south is "AK K52 98765 962"

# Dump the data table from the smart stacking routine

main {
   puts "-- [north shape]"
   accept
}

#
# Copyright (C) 1996-2001, Thomas Andrews
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#