home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 6_2008-2009.ISO / data / zips / Connect_Fo214822412009.psc / fConnectFour.frm < prev   
Text File  |  2009-04-01  |  76KB  |  1,926 lines

  1. VERSION 5.00
  2. Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
  3. Begin VB.Form fConnectFour 
  4.    BackColor       =   &H00C0FFC0&
  5.    BorderStyle     =   0  'Kein
  6.    Caption         =   "Connect Four"
  7.    ClientHeight    =   7950
  8.    ClientLeft      =   0
  9.    ClientTop       =   0
  10.    ClientWidth     =   7845
  11.    ForeColor       =   &H00000000&
  12.    Icon            =   "fConnectFour.frx":0000
  13.    KeyPreview      =   -1  'True
  14.    LinkTopic       =   "Form1"
  15.    MaxButton       =   0   'False
  16.    MinButton       =   0   'False
  17.    ScaleHeight     =   7950
  18.    ScaleWidth      =   7845
  19.    StartUpPosition =   2  'Bildschirmmitte
  20.    Begin VB.CommandButton btReset 
  21.       BackColor       =   &H0080FF80&
  22.       Caption         =   "&New Game"
  23.       BeginProperty Font 
  24.          Name            =   "Arial"
  25.          Size            =   9
  26.          Charset         =   0
  27.          Weight          =   700
  28.          Underline       =   0   'False
  29.          Italic          =   0   'False
  30.          Strikethrough   =   0   'False
  31.       EndProperty
  32.       Height          =   495
  33.       Left            =   5160
  34.       Style           =   1  'Grafisch
  35.       TabIndex        =   22
  36.       ToolTipText     =   "Play again?"
  37.       Top             =   7155
  38.       Width           =   1245
  39.    End
  40.    Begin MSComDlg.CommonDialog cDlg 
  41.       Left            =   195
  42.       Top             =   7665
  43.       _ExtentX        =   847
  44.       _ExtentY        =   847
  45.       _Version        =   393216
  46.       CancelError     =   -1  'True
  47.    End
  48.    Begin VB.CommandButton btExit 
  49.       BackColor       =   &H008080FF&
  50.       Caption         =   "E&xit"
  51.       BeginProperty Font 
  52.          Name            =   "Arial"
  53.          Size            =   9
  54.          Charset         =   0
  55.          Weight          =   700
  56.          Underline       =   0   'False
  57.          Italic          =   0   'False
  58.          Strikethrough   =   0   'False
  59.       EndProperty
  60.       Height          =   495
  61.       Left            =   6615
  62.       Style           =   1  'Grafisch
  63.       TabIndex        =   13
  64.       ToolTipText     =   "Play again?"
  65.       Top             =   7155
  66.       Width           =   900
  67.    End
  68.    Begin VB.PictureBox pic 
  69.       AutoSize        =   -1  'True
  70.       BackColor       =   &H00C0FFC0&
  71.       BorderStyle     =   0  'Kein
  72.       Height          =   480
  73.       Left            =   180
  74.       Picture         =   "fConnectFour.frx":08CA
  75.       ScaleHeight     =   480
  76.       ScaleWidth      =   480
  77.       TabIndex        =   0
  78.       Top             =   180
  79.       Width           =   480
  80.    End
  81.    Begin VB.Label lbHint 
  82.       Alignment       =   2  'Zentriert
  83.       BackColor       =   &H00000000&
  84.       BackStyle       =   0  'Transparent
  85.       Caption         =   "Show  Hint "
  86.       BeginProperty Font 
  87.          Name            =   "Arial"
  88.          Size            =   8.25
  89.          Charset         =   0
  90.          Weight          =   700
  91.          Underline       =   0   'False
  92.          Italic          =   0   'False
  93.          Strikethrough   =   0   'False
  94.       EndProperty
  95.       ForeColor       =   &H00808000&
  96.       Height          =   285
  97.       Left            =   6600
  98.       TabIndex        =   27
  99.       ToolTipText     =   "Hints might not be perfect"
  100.       Top             =   1500
  101.       Width           =   1005
  102.    End
  103.    Begin VB.Label lbTakeBack 
  104.       Alignment       =   2  'Zentriert
  105.       BackColor       =   &H00000000&
  106.       BackStyle       =   0  'Transparent
  107.       Caption         =   "Take Back"
  108.       BeginProperty Font 
  109.          Name            =   "Arial"
  110.          Size            =   8.25
  111.          Charset         =   0
  112.          Weight          =   700
  113.          Underline       =   0   'False
  114.          Italic          =   0   'False
  115.          Strikethrough   =   0   'False
  116.       EndProperty
  117.       ForeColor       =   &H00008080&
  118.       Height          =   285
  119.       Left            =   6600
  120.       TabIndex        =   26
  121.       ToolTipText     =   "Takes back last computer move|and your last move"
  122.       Top             =   1905
  123.       Width           =   1005
  124.    End
  125.    Begin VB.Label lbReplay 
  126.       Alignment       =   2  'Zentriert
  127.       BackColor       =   &H00000000&
  128.       BackStyle       =   0  'Transparent
  129.       Caption         =   "Replay"
  130.       BeginProperty Font 
  131.          Name            =   "Arial"
  132.          Size            =   8.25
  133.          Charset         =   0
  134.          Weight          =   700
  135.          Underline       =   0   'False
  136.          Italic          =   0   'False
  137.          Strikethrough   =   0   'False
  138.       EndProperty
  139.       ForeColor       =   &H0000C000&
  140.       Height          =   285
  141.       Left            =   6600
  142.       TabIndex        =   25
  143.       ToolTipText     =   "Replays this game"
  144.       Top             =   2310
  145.       Width           =   1005
  146.    End
  147.    Begin VB.Label lbLoad 
  148.       Alignment       =   2  'Zentriert
  149.       BackColor       =   &H00000000&
  150.       BackStyle       =   0  'Transparent
  151.       Caption         =   "Load Game"
  152.       BeginProperty Font 
  153.          Name            =   "Arial"
  154.          Size            =   8.25
  155.          Charset         =   0
  156.          Weight          =   700
  157.          Underline       =   0   'False
  158.          Italic          =   0   'False
  159.          Strikethrough   =   0   'False
  160.       EndProperty
  161.       ForeColor       =   &H00800000&
  162.       Height          =   285
  163.       Left            =   6600
  164.       TabIndex        =   24
  165.       ToolTipText     =   "Loads a game from file"
  166.       Top             =   2715
  167.       Width           =   1005
  168.    End
  169.    Begin VB.Label lbSave 
  170.       Alignment       =   2  'Zentriert
  171.       BackColor       =   &H00000000&
  172.       BackStyle       =   0  'Transparent
  173.       Caption         =   "Save Game"
  174.       BeginProperty Font 
  175.          Name            =   "Arial"
  176.          Size            =   8.25
  177.          Charset         =   0
  178.          Weight          =   700
  179.          Underline       =   0   'False
  180.          Italic          =   0   'False
  181.          Strikethrough   =   0   'False
  182.       EndProperty
  183.       ForeColor       =   &H00800000&
  184.       Height          =   285
  185.       Left            =   6600
  186.       TabIndex        =   23
  187.       ToolTipText     =   "Saves the current game status"
  188.       Top             =   3120
  189.       Width           =   1005
  190.    End
  191.    Begin VB.Label lb 
  192.       Alignment       =   2  'Zentriert
  193.       AutoSize        =   -1  'True
  194.       BackColor       =   &H00000000&
  195.       BackStyle       =   0  'Transparent
  196.       Caption         =   "7"
  197.       BeginProperty Font 
  198.          Name            =   "Arial"
  199.          Size            =   6.75
  200.          Charset         =   0
  201.          Weight          =   400
  202.          Underline       =   0   'False
  203.          Italic          =   0   'False
  204.          Strikethrough   =   0   'False
  205.       EndProperty
  206.       ForeColor       =   &H00FFFFC0&
  207.       Height          =   180
  208.       Index           =   6
  209.       Left            =   5835
  210.       TabIndex        =   21
  211.       Top             =   1545
  212.       Width           =   105
  213.    End
  214.    Begin VB.Label lb 
  215.       Alignment       =   2  'Zentriert
  216.       AutoSize        =   -1  'True
  217.       BackColor       =   &H00000000&
  218.       BackStyle       =   0  'Transparent
  219.       Caption         =   "6"
  220.       BeginProperty Font 
  221.          Name            =   "Arial"
  222.          Size            =   6.75
  223.          Charset         =   0
  224.          Weight          =   400
  225.          Underline       =   0   'False
  226.          Italic          =   0   'False
  227.          Strikethrough   =   0   'False
  228.       EndProperty
  229.       ForeColor       =   &H00FFFFC0&
  230.       Height          =   180
  231.       Index           =   5
  232.       Left            =   5040
  233.       TabIndex        =   20
  234.       Top             =   1530
  235.       Width           =   105
  236.    End
  237.    Begin VB.Label lb 
  238.       Alignment       =   2  'Zentriert
  239.       AutoSize        =   -1  'True
  240.       BackColor       =   &H00000000&
  241.       BackStyle       =   0  'Transparent
  242.       Caption         =   "5"
  243.       BeginProperty Font 
  244.          Name            =   "Arial"
  245.          Size            =   6.75
  246.          Charset         =   0
  247.          Weight          =   400
  248.          Underline       =   0   'False
  249.          Italic          =   0   'False
  250.          Strikethrough   =   0   'False
  251.       EndProperty
  252.       ForeColor       =   &H00FFFFC0&
  253.       Height          =   180
  254.       Index           =   4
  255.       Left            =   4245
  256.       TabIndex        =   19
  257.       Top             =   1530
  258.       Width           =   105
  259.    End
  260.    Begin VB.Label lb 
  261.       Alignment       =   2  'Zentriert
  262.       AutoSize        =   -1  'True
  263.       BackColor       =   &H00000000&
  264.       BackStyle       =   0  'Transparent
  265.       Caption         =   "4"
  266.       BeginProperty Font 
  267.          Name            =   "Arial"
  268.          Size            =   6.75
  269.          Charset         =   0
  270.          Weight          =   400
  271.          Underline       =   0   'False
  272.          Italic          =   0   'False
  273.          Strikethrough   =   0   'False
  274.       EndProperty
  275.       ForeColor       =   &H00FFFFC0&
  276.       Height          =   180
  277.       Index           =   3
  278.       Left            =   3450
  279.       TabIndex        =   18
  280.       Top             =   1530
  281.       Width           =   105
  282.    End
  283.    Begin VB.Label lb 
  284.       Alignment       =   2  'Zentriert
  285.       AutoSize        =   -1  'True
  286.       BackColor       =   &H00000000&
  287.       BackStyle       =   0  'Transparent
  288.       Caption         =   "3"
  289.       BeginProperty Font 
  290.          Name            =   "Arial"
  291.          Size            =   6.75
  292.          Charset         =   0
  293.          Weight          =   400
  294.          Underline       =   0   'False
  295.          Italic          =   0   'False
  296.          Strikethrough   =   0   'False
  297.       EndProperty
  298.       ForeColor       =   &H00FFFFC0&
  299.       Height          =   180
  300.       Index           =   2
  301.       Left            =   2655
  302.       TabIndex        =   17
  303.       Top             =   1530
  304.       Width           =   105
  305.    End
  306.    Begin VB.Label lb 
  307.       Alignment       =   2  'Zentriert
  308.       AutoSize        =   -1  'True
  309.       BackColor       =   &H00000000&
  310.       BackStyle       =   0  'Transparent
  311.       Caption         =   "2"
  312.       BeginProperty Font 
  313.          Name            =   "Arial"
  314.          Size            =   6.75
  315.          Charset         =   0
  316.          Weight          =   400
  317.          Underline       =   0   'False
  318.          Italic          =   0   'False
  319.          Strikethrough   =   0   'False
  320.       EndProperty
  321.       ForeColor       =   &H00FFFFC0&
  322.       Height          =   180
  323.       Index           =   1
  324.       Left            =   1860
  325.       TabIndex        =   16
  326.       Top             =   1530
  327.       Width           =   105
  328.    End
  329.    Begin VB.Label lb 
  330.       Alignment       =   2  'Zentriert
  331.       AutoSize        =   -1  'True
  332.       BackColor       =   &H00000000&
  333.       BackStyle       =   0  'Transparent
  334.       Caption         =   "1"
  335.       BeginProperty Font 
  336.          Name            =   "Arial"
  337.          Size            =   6.75
  338.          Charset         =   0
  339.          Weight          =   400
  340.          Underline       =   0   'False
  341.          Italic          =   0   'False
  342.          Strikethrough   =   0   'False
  343.       EndProperty
  344.       ForeColor       =   &H00FFFFC0&
  345.       Height          =   180
  346.       Index           =   0
  347.       Left            =   1065
  348.       TabIndex        =   15
  349.       Top             =   1530
  350.       Width           =   105
  351.    End
  352.    Begin VB.Label lbTimeCheck 
  353.       Alignment       =   2  'Zentriert
  354.       AutoSize        =   -1  'True
  355.       BackColor       =   &H00000000&
  356.       BackStyle       =   0  'Transparent
  357.       Caption         =   "tc"
  358.       BeginProperty Font 
  359.          Name            =   "Arial"
  360.          Size            =   6
  361.          Charset         =   0
  362.          Weight          =   400
  363.          Underline       =   0   'False
  364.          Italic          =   -1  'True
  365.          Strikethrough   =   0   'False
  366.       EndProperty
  367.       ForeColor       =   &H00808000&
  368.       Height          =   165
  369.       Left            =   7050
  370.       TabIndex        =   14
  371.       Top             =   5790
  372.       Width           =   105
  373.    End
  374.    Begin VB.Image imgUMGEDV 
  375.       Height          =   630
  376.       Left            =   6765
  377.       Picture         =   "fConnectFour.frx":1194
  378.       ToolTipText     =   "Author's e-mail address:|                                  |umgedv@yahoo.com|                               "
  379.       Top             =   6225
  380.       Width           =   675
  381.    End
  382.    Begin VB.Line lnQuad 
  383.       BorderColor     =   &H002418ED&
  384.       BorderWidth     =   11
  385.       DrawMode        =   15  'Stift und inverse Anzeige mischen
  386.       Visible         =   0   'False
  387.       X1              =   2070
  388.       X2              =   2400
  389.       Y1              =   7785
  390.       Y2              =   7785
  391.    End
  392.    Begin VB.Image imgSmile 
  393.       Height          =   240
  394.       Left            =   270
  395.       Picture         =   "fConnectFour.frx":2826
  396.       Top             =   7290
  397.       Visible         =   0   'False
  398.       Width           =   240
  399.    End
  400.    Begin VB.Shape shp 
  401.       BorderColor     =   &H00C08000&
  402.       BorderWidth     =   2
  403.       Height          =   360
  404.       Index           =   2
  405.       Left            =   7305
  406.       Shape           =   3  'Kreis
  407.       Top             =   180
  408.       Width           =   360
  409.    End
  410.    Begin VB.Shape shp 
  411.       BorderColor     =   &H00C08000&
  412.       BorderWidth     =   2
  413.       Height          =   360
  414.       Index           =   1
  415.       Left            =   6930
  416.       Shape           =   3  'Kreis
  417.       Top             =   180
  418.       Width           =   360
  419.    End
  420.    Begin VB.Label lbMini 
  421.       Alignment       =   2  'Zentriert
  422.       Appearance      =   0  '2D
  423.       BackColor       =   &H00000000&
  424.       BackStyle       =   0  'Transparent
  425.       Caption         =   "Γ"
  426.       BeginProperty Font 
  427.          Name            =   "Wingdings"
  428.          Size            =   12
  429.          Charset         =   2
  430.          Weight          =   700
  431.          Underline       =   0   'False
  432.          Italic          =   0   'False
  433.          Strikethrough   =   0   'False
  434.       EndProperty
  435.       ForeColor       =   &H000000FF&
  436.       Height          =   255
  437.       Left            =   6975
  438.       TabIndex        =   12
  439.       ToolTipText     =   "Minimize"
  440.       Top             =   255
  441.       Width           =   255
  442.    End
  443.    Begin VB.Image imgThink 
  444.       Height          =   270
  445.       Left            =   240
  446.       Picture         =   "fConnectFour.frx":2B68
  447.       Top             =   7290
  448.       Visible         =   0   'False
  449.       Width           =   270
  450.    End
  451.    Begin VB.Label lbExit 
  452.       Alignment       =   2  'Zentriert
  453.       Appearance      =   0  '2D
  454.       BackColor       =   &H00000000&
  455.       BackStyle       =   0  'Transparent
  456.       Caption         =   "√"
  457.       BeginProperty Font 
  458.          Name            =   "Wingdings"
  459.          Size            =   20.25
  460.          Charset         =   2
  461.          Weight          =   400
  462.          Underline       =   0   'False
  463.          Italic          =   0   'False
  464.          Strikethrough   =   0   'False
  465.       EndProperty
  466.       ForeColor       =   &H000000FF&
  467.       Height          =   390
  468.       Left            =   7365
  469.       TabIndex        =   11
  470.       ToolTipText     =   "Exit"
  471.       Top             =   150
  472.       Width           =   240
  473.    End
  474.    Begin VB.Shape shp 
  475.       BorderColor     =   &H00C08000&
  476.       BorderWidth     =   2
  477.       Height          =   360
  478.       Index           =   0
  479.       Left            =   6555
  480.       Shape           =   3  'Kreis
  481.       Top             =   180
  482.       Width           =   360
  483.    End
  484.    Begin VB.Label lbVersion 
  485.       AutoSize        =   -1  'True
  486.       BackColor       =   &H00000000&
  487.       BackStyle       =   0  'Transparent
  488.       Caption         =   "V"
  489.       BeginProperty Font 
  490.          Name            =   "Arial"
  491.          Size            =   6.75
  492.          Charset         =   0
  493.          Weight          =   700
  494.          Underline       =   0   'False
  495.          Italic          =   -1  'True
  496.          Strikethrough   =   0   'False
  497.       EndProperty
  498.       ForeColor       =   &H00C08000&
  499.       Height          =   165
  500.       Left            =   270
  501.       TabIndex        =   10
  502.       Top             =   6900
  503.       Width           =   90
  504.    End
  505.    Begin VB.Label lbHelp 
  506.       Alignment       =   2  'Zentriert
  507.       AutoSize        =   -1  'True
  508.       BackColor       =   &H00000000&
  509.       BackStyle       =   0  'Transparent
  510.       Caption         =   "?"
  511.       BeginProperty Font 
  512.          Name            =   "Arial"
  513.          Size            =   14.25
  514.          Charset         =   0
  515.          Weight          =   700
  516.          Underline       =   0   'False
  517.          Italic          =   0   'False
  518.          Strikethrough   =   0   'False
  519.       EndProperty
  520.       ForeColor       =   &H00008000&
  521.       Height          =   270
  522.       Left            =   6585
  523.       TabIndex        =   9
  524.       ToolTipText     =   $"fConnectFour.frx":2F9A
  525.       Top             =   195
  526.       Width           =   300
  527.    End
  528.    Begin VB.Line ln 
  529.       BorderColor     =   &H00C08000&
  530.       BorderWidth     =   3
  531.       X1              =   270
  532.       X2              =   7500
  533.       Y1              =   6855
  534.       Y2              =   6855
  535.    End
  536.    Begin VB.Label lbOpt 
  537.       Alignment       =   2  'Zentriert
  538.       BackColor       =   &H00000000&
  539.       BackStyle       =   0  'Transparent
  540.       Caption         =   "Champion"
  541.       BeginProperty Font 
  542.          Name            =   "Arial"
  543.          Size            =   8.25
  544.          Charset         =   0
  545.          Weight          =   400
  546.          Underline       =   0   'False
  547.          Italic          =   0   'False
  548.          Strikethrough   =   0   'False
  549.       EndProperty
  550.       ForeColor       =   &H00008000&
  551.       Height          =   285
  552.       Index           =   3
  553.       Left            =   6600
  554.       TabIndex        =   8
  555.       ToolTipText     =   "Playing Level"
  556.       Top             =   5385
  557.       Width           =   1005
  558.    End
  559.    Begin VB.Label lbOpt 
  560.       Alignment       =   2  'Zentriert
  561.       BackColor       =   &H00000000&
  562.       BackStyle       =   0  'Transparent
  563.       Caption         =   "Expert"
  564.       BeginProperty Font 
  565.          Name            =   "Arial"
  566.          Size            =   8.25
  567.          Charset         =   0
  568.          Weight          =   400
  569.          Underline       =   0   'False
  570.          Italic          =   0   'False
  571.          Strikethrough   =   0   'False
  572.       EndProperty
  573.       ForeColor       =   &H00008000&
  574.       Height          =   285
  575.       Index           =   2
  576.       Left            =   6600
  577.       TabIndex        =   7
  578.       ToolTipText     =   "Playing Level"
  579.       Top             =   4980
  580.       Width           =   1005
  581.    End
  582.    Begin VB.Label lbOpt 
  583.       Alignment       =   2  'Zentriert
  584.       BackColor       =   &H00000000&
  585.       BackStyle       =   0  'Transparent
  586.       Caption         =   "Advanced"
  587.       BeginProperty Font 
  588.          Name            =   "Arial"
  589.          Size            =   8.25
  590.          Charset         =   0
  591.          Weight          =   400
  592.          Underline       =   0   'False
  593.          Italic          =   0   'False
  594.          Strikethrough   =   0   'False
  595.       EndProperty
  596.       ForeColor       =   &H00008000&
  597.       Height          =   285
  598.       Index           =   1
  599.       Left            =   6600
  600.       TabIndex        =   6
  601.       ToolTipText     =   "Playing Level"
  602.       Top             =   4575
  603.       Width           =   1005
  604.    End
  605.    Begin VB.Label lbOpt 
  606.       Alignment       =   2  'Zentriert
  607.       BackColor       =   &H00000000&
  608.       BackStyle       =   0  'Transparent
  609.       Caption         =   "Beginner"
  610.       BeginProperty Font 
  611.          Name            =   "Arial"
  612.          Size            =   8.25
  613.          Charset         =   0
  614.          Weight          =   400
  615.          Underline       =   0   'False
  616.          Italic          =   0   'False
  617.          Strikethrough   =   0   'False
  618.       EndProperty
  619.       ForeColor       =   &H00008000&
  620.       Height          =   285
  621.       Index           =   0
  622.       Left            =   6600
  623.       TabIndex        =   5
  624.       ToolTipText     =   "Playing Level"
  625.       Top             =   4170
  626.       Width           =   1005
  627.    End
  628.    Begin VB.Label lbAuthor 
  629.       Alignment       =   2  'Zentriert
  630.       AutoSize        =   -1  'True
  631.       BackColor       =   &H00000000&
  632.       BackStyle       =   0  'Transparent
  633.       BeginProperty Font 
  634.          Name            =   "Arial"
  635.          Size            =   6.75
  636.          Charset         =   0
  637.          Weight          =   700
  638.          Underline       =   0   'False
  639.          Italic          =   0   'False
  640.          Strikethrough   =   0   'False
  641.       EndProperty
  642.       ForeColor       =   &H00FFFFFF&
  643.       Height          =   165
  644.       Left            =   3480
  645.       TabIndex        =   4
  646.       Top             =   6375
  647.       Width           =   60
  648.    End
  649.    Begin VB.Label lbWinIn 
  650.       Alignment       =   2  'Zentriert
  651.       AutoSize        =   -1  'True
  652.       BackColor       =   &H00000000&
  653.       BackStyle       =   0  'Transparent
  654.       BeginProperty Font 
  655.          Name            =   "Arial"
  656.          Size            =   8.25
  657.          Charset         =   0
  658.          Weight          =   700
  659.          Underline       =   0   'False
  660.          Italic          =   0   'False
  661.          Strikethrough   =   0   'False
  662.       EndProperty
  663.       ForeColor       =   &H000000C0&
  664.       Height          =   210
  665.       Left            =   3465
  666.       TabIndex        =   3
  667.       Top             =   6630
  668.       Width           =   75
  669.    End
  670.    Begin VB.Image imgFoot 
  671.       Height          =   345
  672.       Index           =   1
  673.       Left            =   4920
  674.       Picture         =   "fConnectFour.frx":317B
  675.       Top             =   6495
  676.       Width           =   675
  677.    End
  678.    Begin VB.Image imgFoot 
  679.       Height          =   345
  680.       Index           =   0
  681.       Left            =   1410
  682.       Picture         =   "fConnectFour.frx":3DF5
  683.       Top             =   6495
  684.       Width           =   675
  685.    End
  686.    Begin VB.Label lbWins 
  687.       AutoSize        =   -1  'True
  688.       BackColor       =   &H00000000&
  689.       BackStyle       =   0  'Transparent
  690.       BeginProperty Font 
  691.          Name            =   "Arial"
  692.          Size            =   9.75
  693.          Charset         =   0
  694.          Weight          =   700
  695.          Underline       =   0   'False
  696.          Italic          =   0   'False
  697.          Strikethrough   =   0   'False
  698.       EndProperty
  699.       ForeColor       =   &H00000000&
  700.       Height          =   240
  701.       Left            =   585
  702.       TabIndex        =   2
  703.       Top             =   7290
  704.       Width           =   60
  705.    End
  706.    Begin VB.Label lbTitle 
  707.       Alignment       =   2  'Zentriert
  708.       AutoSize        =   -1  'True
  709.       BackColor       =   &H00000000&
  710.       BackStyle       =   0  'Transparent
  711.       Caption         =   "T"
  712.       BeginProperty Font 
  713.          Name            =   "Lucida Handwriting"
  714.          Size            =   15.75
  715.          Charset         =   0
  716.          Weight          =   700
  717.          Underline       =   0   'False
  718.          Italic          =   0   'False
  719.          Strikethrough   =   0   'False
  720.       EndProperty
  721.       ForeColor       =   &H00C08000&
  722.       Height          =   405
  723.       Left            =   3390
  724.       TabIndex        =   1
  725.       Top             =   180
  726.       Width           =   255
  727.    End
  728.    Begin VB.Image imgDropB 
  729.       Height          =   615
  730.       Index           =   0
  731.       Left            =   1305
  732.       Picture         =   "fConnectFour.frx":4A6F
  733.       Top             =   7710
  734.       Visible         =   0   'False
  735.       Width           =   615
  736.    End
  737.    Begin VB.Image imgDropW 
  738.       Height          =   615
  739.       Index           =   0
  740.       Left            =   675
  741.       Picture         =   "fConnectFour.frx":5E8D
  742.       Top             =   7710
  743.       Visible         =   0   'False
  744.       Width           =   615
  745.    End
  746.    Begin VB.Image imgWhite 
  747.       Height          =   615
  748.       Index           =   6
  749.       Left            =   5580
  750.       MouseIcon       =   "fConnectFour.frx":72AB
  751.       MousePointer    =   99  'Benutzerdefiniert
  752.       Picture         =   "fConnectFour.frx":7B75
  753.       Top             =   690
  754.       Width           =   615
  755.    End
  756.    Begin VB.Image imgWhite 
  757.       Height          =   615
  758.       Index           =   5
  759.       Left            =   4785
  760.       MouseIcon       =   "fConnectFour.frx":8F93
  761.       MousePointer    =   99  'Benutzerdefiniert
  762.       Picture         =   "fConnectFour.frx":985D
  763.       Top             =   690
  764.       Width           =   615
  765.    End
  766.    Begin VB.Image imgWhite 
  767.       Height          =   615
  768.       Index           =   4
  769.       Left            =   3990
  770.       MouseIcon       =   "fConnectFour.frx":AC7B
  771.       MousePointer    =   99  'Benutzerdefiniert
  772.       Picture         =   "fConnectFour.frx":B545
  773.       Top             =   690
  774.       Width           =   615
  775.    End
  776.    Begin VB.Image imgWhite 
  777.       Height          =   615
  778.       Index           =   3
  779.       Left            =   3195
  780.       MouseIcon       =   "fConnectFour.frx":C963
  781.       MousePointer    =   99  'Benutzerdefiniert
  782.       Picture         =   "fConnectFour.frx":D22D
  783.       Top             =   690
  784.       Width           =   615
  785.    End
  786.    Begin VB.Image imgWhite 
  787.       Height          =   615
  788.       Index           =   2
  789.       Left            =   2400
  790.       MouseIcon       =   "fConnectFour.frx":E64B
  791.       MousePointer    =   99  'Benutzerdefiniert
  792.       Picture         =   "fConnectFour.frx":EF15
  793.       Top             =   690
  794.       Width           =   615
  795.    End
  796.    Begin VB.Image imgWhite 
  797.       Height          =   615
  798.       Index           =   1
  799.       Left            =   1605
  800.       MouseIcon       =   "fConnectFour.frx":10333
  801.       MousePointer    =   99  'Benutzerdefiniert
  802.       Picture         =   "fConnectFour.frx":10BFD
  803.       Top             =   690
  804.       Width           =   615
  805.    End
  806.    Begin VB.Image imgWhite 
  807.       Height          =   615
  808.       Index           =   0
  809.       Left            =   810
  810.       MouseIcon       =   "fConnectFour.frx":1201B
  811.       MousePointer    =   99  'Benutzerdefiniert
  812.       Picture         =   "fConnectFour.frx":128E5
  813.       Top             =   690
  814.       Width           =   615
  815.    End
  816.    Begin VB.Image imgBlack 
  817.       Height          =   615
  818.       Index           =   6
  819.       Left            =   5580
  820.       MouseIcon       =   "fConnectFour.frx":13D03
  821.       MousePointer    =   99  'Benutzerdefiniert
  822.       Picture         =   "fConnectFour.frx":145CD
  823.       Top             =   690
  824.       Visible         =   0   'False
  825.       Width           =   615
  826.    End
  827.    Begin VB.Image imgBlack 
  828.       Height          =   615
  829.       Index           =   5
  830.       Left            =   4785
  831.       MouseIcon       =   "fConnectFour.frx":159EB
  832.       MousePointer    =   99  'Benutzerdefiniert
  833.       Picture         =   "fConnectFour.frx":162B5
  834.       Top             =   690
  835.       Visible         =   0   'False
  836.       Width           =   615
  837.    End
  838.    Begin VB.Image imgBlack 
  839.       Height          =   615
  840.       Index           =   4
  841.       Left            =   3990
  842.       MouseIcon       =   "fConnectFour.frx":176D3
  843.       MousePointer    =   99  'Benutzerdefiniert
  844.       Picture         =   "fConnectFour.frx":17F9D
  845.       Top             =   690
  846.       Visible         =   0   'False
  847.       Width           =   615
  848.    End
  849.    Begin VB.Image imgBlack 
  850.       Height          =   615
  851.       Index           =   3
  852.       Left            =   3195
  853.       MouseIcon       =   "fConnectFour.frx":193BB
  854.       MousePointer    =   99  'Benutzerdefiniert
  855.       Picture         =   "fConnectFour.frx":19C85
  856.       Top             =   690
  857.       Visible         =   0   'False
  858.       Width           =   615
  859.    End
  860.    Begin VB.Image imgBlack 
  861.       Height          =   615
  862.       Index           =   2
  863.       Left            =   2400
  864.       MouseIcon       =   "fConnectFour.frx":1B0A3
  865.       MousePointer    =   99  'Benutzerdefiniert
  866.       Picture         =   "fConnectFour.frx":1B96D
  867.       Top             =   690
  868.       Visible         =   0   'False
  869.       Width           =   615
  870.    End
  871.    Begin VB.Image imgBlack 
  872.       Height          =   615
  873.       Index           =   1
  874.       Left            =   1605
  875.       MouseIcon       =   "fConnectFour.frx":1CD8B
  876.       MousePointer    =   99  'Benutzerdefiniert
  877.       Picture         =   "fConnectFour.frx":1D655
  878.       Top             =   690
  879.       Visible         =   0   'False
  880.       Width           =   615
  881.    End
  882.    Begin VB.Image imgBlack 
  883.       Height          =   615
  884.       Index           =   0
  885.       Left            =   810
  886.       MouseIcon       =   "fConnectFour.frx":1EA73
  887.       MousePointer    =   99  'Benutzerdefiniert
  888.       Picture         =   "fConnectFour.frx":1F33D
  889.       Top             =   690
  890.       Visible         =   0   'False
  891.       Width           =   615
  892.    End
  893.    Begin VB.Image imgBoard 
  894.       Height          =   5190
  895.       Left            =   510
  896.       Picture         =   "fConnectFour.frx":2075B
  897.       Top             =   1440
  898.       Width           =   5955
  899.    End
  900. End
  901. Attribute VB_Name = "fConnectFour"
  902. Attribute VB_GlobalNameSpace = False
  903. Attribute VB_Creatable = False
  904. Attribute VB_PredeclaredId = True
  905. Attribute VB_Exposed = False
  906. Option Explicit
  907.  
  908. '********************************************
  909. '   Connect Four aka The Captain's Mistress
  910. '********************************************
  911.  
  912. 'During his long sea voyages, Captain Cook was apparently often absent in the evenings and eventually
  913. 'the crew began to joke that he must have a mistress in his cabin. When they discovered that the Captain
  914. 'had simply been playing this game with the ship's scientists, the game was christened "The Captain's Mistress"
  915.  
  916. 'Uses bitmaps for the board, iterative search deepening, alpha-beta pruning, and principal variation search.
  917. 'No positional evaluation is made at the leaves, it simply relies on search depth to find winning combinations.
  918. 'Search depth is about 10 to 12 with a 0.1 seconds time check (beginners level).
  919.  
  920. 'The board looks like this using two orthogonal and two diagonal bitmaps for each color, and a bit is set for each
  921. 'piece at that location. This arrangement limits the number of (non-loop!)-tests for a connected quad to 13 or less.
  922.  
  923. '                                 1   2   4   8  16  32  64
  924.  
  925. '                               +---+---+---+---+---+---+---+
  926. '                               |   |   |   | o |   |   |   |  32
  927. '                               +---+---+---+---+---+---+---+
  928. '                               |   |   |   | o |   |   |   |  16
  929. '                               +---+---+---+---+---+---+---+
  930. '                               |   |   |   | o |   |   |   |   8
  931. '                 west-east --> +---+---+---+---+---+---+---+
  932. '                               |   |   |   | o |   |   |   |   4
  933. '                               +---+---+---+---+---+---+---+
  934. '                               |   |   |   |   |   |   |   |   2
  935. '                               +---+---+---+---+---+---+---+
  936. '                               |   |   |   |   |   |   |   |   1
  937. '                               +---+---+---+---+---+---+---+
  938. '                             /    ^   ^   ^   ^   ^   ^   ^  \
  939. '                            /           south-north           \
  940. '                  southwest-northeast                    southeast-northwest
  941.  
  942. 'for example:
  943. 'The white quad shown above will show up in byte SNW(3) as b00111100 (d60) and can be tested with an appropriate AND-mask.
  944. 'Only those bitmaps are tested which were affected by the last move; this makes the search pretty fast.
  945.  
  946. 'The Hint option shows the move which the computer has worked out for you during HER search, no search is made for YOU.
  947.  
  948. '+++++++++++++++++++++
  949. ' Development History
  950. '+++++++++++++++++++++
  951.  
  952. '14Mar2009 - some speed improvements by eliminating duplicate calculations and using API functions for moving data
  953. '            and by arranging that moved data start at dword boundaries (7% improvement)
  954. '            the search has also been improved by altering the move ordering (16% improvement)
  955. '            eliminated a few dead variables
  956. '            taken care of different CPU clock frequencies and of running in IDE
  957.  
  958. '26Mar2009 - using GetTickCount instead of Timer
  959. '            some pimping up of the UI
  960. '            added balloon tooltips
  961. '            remove chip on click so you can't click twice
  962. '            changed timing control
  963. '            fixed bug with prediction and Draw detection
  964. '            changed chip dropping routine
  965. '            added flashing
  966. '            added quad marker
  967. '            added keyboard operation
  968. '            added TakeBack
  969. '            added Replay
  970. '            eliminated deadwood
  971.  
  972. Private Declare Function Beeper Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
  973. Private Declare Sub CopyBoard Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, Optional ByVal Length As Long = 84)
  974. Private Declare Sub CopyMoves Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, Optional ByVal Length As Long = 28)
  975. Private Declare Function GetClassLong Lib "user32" Alias "GetClassLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
  976. Private Declare Function GetCursorPos Lib "user32" (lpPoint As tPoint) As Long
  977. Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
  978. Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
  979. Private Declare Function GetTickCount Lib "kernel32" () As Long
  980. Private Declare Function InflateRect Lib "user32" (lpRect As tRECT, ByVal X As Long, ByVal Y As Long) As Long
  981. Private Declare Sub InitCommonControls Lib "comctl32" () 'a manifest file, if present, may influence the popup balloons
  982. Private Declare Function MessageBeep Lib "user32" (ByVal wType As VbMsgBoxStyle) As Long
  983. Private Declare Function QueryPerformanceCounter Lib "kernel32" (lpPerformanceCount As Currency) As Long
  984. Private Declare Function QueryPerformanceFrequency Lib "kernel32" (lpFrequency As Currency) As Long
  985. Private Declare Function Rectangle Lib "gdi32" (ByVal hDC As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
  986. Private Declare Function ReleaseCapture Lib "user32" () As Long
  987. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  988. Private Declare Function SetClassLong Lib "user32" Alias "SetClassLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  989. Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
  990. Private Declare Function SetRect Lib "user32" (lpRect As tRECT, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
  991.  
  992. Private Type tPoint
  993.     X                       As Long
  994.     Y                       As Long
  995. End Type
  996. Private CP                  As tPoint   'cursor position
  997.  
  998. Private Type tRECT
  999.     LT                      As tPoint   'top left
  1000.     RB                      As tPoint   'bot rite
  1001. End Type
  1002. Private WindowRect          As tRECT    'for drawing the frame
  1003.  
  1004. '+++++++++++++++++
  1005. 'The Board
  1006. '+++++++++++++++++
  1007. Private Type tBoard                     'is moved rather frequently - so it is kept as short as possible (84 bytes)
  1008.     Filled(0 To 6)          As Byte     'column fill
  1009.     SNW(0 To 6)             As Byte     'south -> north white
  1010.     SNB(0 To 6)             As Byte     'south -> north black
  1011.     WEW(0 To 5)             As Byte     'east -> west white
  1012.     WEB(0 To 5)             As Byte     'east -> west black
  1013.     SwNeW(-3 To 8)          As Byte     'south-west -> north-east white
  1014.     SwNeB(-3 To 8)          As Byte     'south-west -> north-east black
  1015.     SeNwW(-3 To 8)          As Byte     'south-east -> north-west white
  1016.     SeNwB(-3 To 8)          As Byte     'south-east -> north-west black
  1017.     SideToMove              As Byte
  1018.     Extra1                  As Byte     'bring it up to 84 bytes so it will hopefully use dword moves only
  1019.     Extra2                  As Byte
  1020. End Type
  1021.  
  1022. Private Board               As tBoard   'the board bitmaps
  1023. Private OrdMovs(0 To 6)     As Long
  1024.  
  1025. Private Enum eConsts
  1026.     Infinity = 99999                    'value outside normal range
  1027.     DepthLimit = 30                     'max ply searchable
  1028.     HTCAPTION = 2                       'API
  1029.     WM_NCLBUTTONDOWN = 161              'API
  1030.     CS_DROPSHADOW = &H20000             'API
  1031.     GCL_STYLE = -26                     'API
  1032.     OneStep = 795                       'displayed board raster pitch in twips
  1033.     TwoSteps = OneStep * 2
  1034.     ThreeSteps = TwoSteps + OneStep
  1035.     FourSteps = TwoSteps * 2
  1036.     FiveSteps = FourSteps + OneStep
  1037. End Enum
  1038. #If False Then ':) Line inserted by Formatter
  1039. Private Infinity, DepthLimit, HTCAPTION, WM_NCLBUTTONDOWN, CS_DROPSHADOW, GCL_STYLE, OneStep, TwoSteps, ThreeSteps, FourSteps, FiveSteps ':) Line inserted by Formatter
  1040. #End If ':) Line inserted by Formatter
  1041.  
  1042. Private PV(0 To DepthLimit, _
  1043.            0 To DepthLimit) As Long     'Principal Variation
  1044.  
  1045. Private TimeElapsed         As Single   'during CPU speed assessment
  1046. Private HSCFreq             As Currency
  1047. Private TenMicrosecs        As Currency 'HscCount for 10 ╡secs
  1048. Private Result              As Long     'The Search Result
  1049. Private Posns               As Long     '# of nodes in search tree visited
  1050. Private Cutoffs             As Long     '# of cutoffs
  1051. Private TimeStart           As Long
  1052. Private TimeUp              As Long     'in millisecs
  1053. Private IterDepth           As Long     'controls iterative deepening
  1054. Private IndexW              As Long     'controls the white drop-chips
  1055. Private IndexB              As Long     'same for black
  1056. Private Origin              As tPoint   'top left corner of matrix
  1057. Private Half                As Long     'half width of chip image
  1058. Private CurrColumn          As Long     'the current position of the mouse cursor
  1059. Private Tooltip             As cTooltip
  1060. Private LastCtl             As Control
  1061. Private InPV                As Boolean  'true if search is in PV
  1062. Private SearchInProgress    As Boolean  'what it says
  1063. Private Replay              As Boolean  'true when replaying
  1064. Private Const White         As Byte = 1 'black is 0
  1065. Private Const Signature     As String = "TCM"
  1066.  
  1067. Private Sub btExit_Click()
  1068.  
  1069.     Unload Me
  1070.  
  1071. End Sub
  1072.  
  1073. Private Sub btExit_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  1074.  
  1075.     CreateTooltip btExit
  1076.  
  1077. End Sub
  1078.  
  1079. Private Sub btReset_Click()
  1080.  
  1081.   Dim i As Long
  1082.   Dim j As Long
  1083.  
  1084.     With Board
  1085.  
  1086.         For i = 0 To 5 'reset the board
  1087.             .SNW(i) = 0
  1088.             .SNB(i) = 0
  1089.             .WEW(i) = 0
  1090.             .WEB(i) = 0
  1091.             .SwNeB(i) = 0
  1092.             .SwNeW(i) = 0
  1093.             .SeNwB(i) = 0
  1094.             .SeNwW(i) = 0
  1095.             .Filled(i) = 0
  1096.             imgWhite(i).Visible = True
  1097.             imgBlack(i).Visible = False
  1098.         Next i
  1099.         .SNW(i) = 0 'one more for horizontal
  1100.         .SNB(i) = 0
  1101.         .Filled(i) = 0
  1102.         lnQuad.Visible = False
  1103.         imgWhite(i).Visible = True
  1104.         imgBlack(i).Visible = False
  1105.         lbHint.Enabled = True
  1106.         lbTakeBack.Enabled = True
  1107.  
  1108.         For i = 1 To 21
  1109.             imgDropW(i).Visible = False
  1110.             imgDropB(i).Visible = False
  1111.         Next i
  1112.         .SideToMove = White
  1113.  
  1114.     End With 'BOARD
  1115.     For i = 0 To DepthLimit
  1116.         For j = 0 To DepthLimit
  1117.             PV(i, j) = -1
  1118.     Next j, i
  1119.     lbWins.ForeColor = vbBlack
  1120.     IndexW = 0
  1121.     IndexB = 0
  1122.  
  1123.     lbWins = vbNullString
  1124.     imgSmile.Visible = False
  1125.     lbWinIn = vbNullString
  1126.     CurrColumn = 2
  1127.     Form_KeyDown vbKeyRight, 0
  1128.     pic.SetFocus
  1129.  
  1130. End Sub
  1131.  
  1132. Private Sub btReset_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  1133.  
  1134.     CreateTooltip btReset
  1135.  
  1136. End Sub
  1137.  
  1138. Private Function CheckForQuad(ByVal Bits As Long) As Boolean
  1139.  
  1140.     CheckForQuad = ((Bits And 15) = 15) Or ((Bits And 30) = 30) Or ((Bits And 60) = 60)
  1141.     If CheckForQuad Then
  1142.         RemoveButtons
  1143.     End If
  1144.  
  1145. End Function
  1146.  
  1147. Private Function CheckSeNwB(Board As tBoard, ByVal Which As Long) As Boolean
  1148.  
  1149.     CheckSeNwB = CheckForQuad(Board.SeNwB(Which))
  1150.  
  1151. End Function
  1152.  
  1153. Private Function CheckSeNwW(Board As tBoard, ByVal Which As Long) As Boolean
  1154.  
  1155.     CheckSeNwW = CheckForQuad(Board.SeNwW(Which))
  1156.  
  1157. End Function
  1158.  
  1159. Private Function CheckSNB(Board As tBoard, ByVal Which As Long) As Boolean
  1160.  
  1161.     CheckSNB = CheckForQuad(Board.SNB(Which))
  1162.  
  1163. End Function
  1164.  
  1165. Private Function CheckSNW(Board As tBoard, ByVal Which As Long) As Boolean
  1166.  
  1167.     CheckSNW = CheckForQuad(Board.SNW(Which))
  1168.  
  1169. End Function
  1170.  
  1171. Private Function CheckSwNeB(Board As tBoard, ByVal Which As Long) As Boolean
  1172.  
  1173.     CheckSwNeB = CheckForQuad(Board.SwNeB(Which))
  1174.  
  1175. End Function
  1176.  
  1177. Private Function CheckSwNeW(Board As tBoard, ByVal Which As Long) As Boolean
  1178.  
  1179.     CheckSwNeW = CheckForQuad(Board.SwNeW(Which))
  1180.  
  1181. End Function
  1182.  
  1183. Private Function CheckWEB(Board As tBoard, ByVal Which As Long) As Boolean
  1184.  
  1185.   Dim Bits  As Long
  1186.  
  1187.     Bits = Board.WEB(Which)
  1188.     CheckWEB = CheckForQuad(Bits) Or (Bits And 120) = 120 'one extra check because WE has 7 bits
  1189.     If CheckWEB Then
  1190.         RemoveButtons
  1191.     End If
  1192.  
  1193. End Function
  1194.  
  1195. Private Function CheckWEW(Board As tBoard, ByVal Which As Long) As Boolean
  1196.  
  1197.   Dim Bits  As Long
  1198.  
  1199.     Bits = Board.WEW(Which)
  1200.     CheckWEW = CheckForQuad(Bits) Or (Bits And 120) = 120 'one extra check because WE has 7 bits
  1201.     If CheckWEW Then
  1202.         RemoveButtons
  1203.     End If
  1204.  
  1205. End Function
  1206.  
  1207. Private Sub ComputerMove()
  1208.  
  1209.   Dim CMResult  As Long
  1210.   Dim i         As Long
  1211.   Dim Col       As Long
  1212.  
  1213.     If Replay Then
  1214.         Col = Val(imgDropB(IndexB + 1).Tag)
  1215.         MoveCursor Col
  1216.         Wait 2000
  1217.         Flash imgBlack(Col)
  1218.         IterDepth = 1
  1219.         imgBlack_Click (Col)
  1220.         IterDepth = 0
  1221.       Else 'REPLAY = FALSE/0
  1222.         Screen.MousePointer = vbHourglass
  1223.         Enabled = False
  1224.         lbWins = "Thinking..."
  1225.         imgThink.Visible = True
  1226.         DoEvents
  1227.  
  1228.         TimeStart = GetTickCount
  1229.         InPV = False
  1230.         Posns = 0
  1231.         Cutoffs = 0
  1232.  
  1233.         SearchInProgress = True
  1234.         Do 'iterative search deepening
  1235.             IterDepth = IterDepth + 1
  1236.             CMResult = Search(Board, 0, IterDepth, -Infinity, Infinity)
  1237.             InPV = True 'the search will have returned a principal variation
  1238.             DoEvents
  1239.         Loop While GetTickCount < (TimeStart + TimeUp) And IterDepth < DepthLimit And Abs(CMResult) = 0
  1240.         SearchInProgress = False
  1241.  
  1242.         imgThink.Visible = False
  1243.         If PV(0, 0) < 0 Then 'no move for black
  1244.             For i = 0 To 6
  1245.                 imgAbs(CMResult) = 0
  1246.         Sear bits
  1247.     If  =     If  =  imgThink.Visible = False
  1248.         If PV(0, 0) < 0 Then 'no move for black
  1249.                      eoblack
  1250.          = Malse
  1251.  
  1252.  ack
  1253.     SwNeW(-3 To tBoard,  ++++pCopy26  =                       Long
  1254.  
  1255.           MouseIcon  t)
  1256.  Dh  Wey"lt  As LoS    If PV(0, 0      only
  1257.    = "TCM"
  1258.  
  1259. Private Sub b(0, 01 As L   Mous 'True
  1260.          Strikethrough   =   0   'FalseAs L  -
  1261.  Dh  Wey"lt  As LoS    =     Up) And IFiterat
  1262.  
  1263. End F("TCM"
  1264.  
  1265. Pri
  1266.  s Inte= FaFont 
  1267.          Nnd IFiteraa    Board As f,earc4e     .SeNdth        = FaFont 
  1268.         )th = 1
  1269.         Boa     Height            As Long     '2vhich)1ial"d.WEB(Which= = 30) Or ((Bits npbla 
  1270.   "wEnd Function
  1271.  
  1272. Privat       =   9.75"lt  As LoS  
  1273.  s Ih)1ial"d.WEB(Which= = 30       a  Enabled = False
  1274.         lbWins = "Thinking..."
  1275.         imgThink.Visible =    cture          inking. o"aaaaaaaaaaaaaaaaaaa    ity, Infiva       ) dee = 0 As Long, ByVal nIndex As Long) As Long
  1276. Private Declare Function Get.WEB(Which=ity, Infiva1)iE-+---+---+---+
  1277. '  n
  1278.  
  1279.  file, |int   'top$epthLimit And Abs(CMMMMMMMMMMM   As Byte = 1 'black is 0
  1280. Private Const Signature     As String = "TCM"
  1281.  
  1282. Privamc   MousePointer    =   99W"ATickCou       imgAbsnts by eliminating    MHrivate Sub ComputerMove()
  1283.  
  1284.   Dim CMRRRRR    iompu If
  1285.  
  1286. E Dim 002mgAbsnts by eliminating    MHrivans      St:ckStyle       def eli"opu If
  1287.  
  1288. E Dim 002mgAbs=gh   =    161    0    =   0
  1289.       Left            =   6600
  1290.   E           =   aE Dim 002m  0   'Fals02mg           .S     (.    VB.Image imgF Wid 16 4wB(Which= = 30) Or ((Bits nIf
  1291. U2raing..."Svamc rd As f,earc4e     .SeNd10
  1292.       Picture    2c    t dword boundar        2raing..aE Dzerdefi30) Orlt            =   66e imgF Wid 16 4O(Bit  E = Search(Board, Xing = rch(Board, Xing = rch(Bpc   As e =   9.75"lt  A((Bits np= FaFont  Pic  ForeColorPointer 'top left
  1293.     RB           S
  1294.     RB ter 'top left
  1295.      UI
  1296. '     f0
  1297.      PriXinggggggggggggg.    =   0   'False
  1298.   Long, ByVal Y1 As Long,  As  Shth =  4
  1299. '                               +---+---+---+---+---+---+---+
  1300. '                               |   |   |   |   |      Searot---+
  1301. '            6Na     'Fals---+
  1302. '                     S As      Height            As L     it A   im   =          = Malseef eli"opu If
  1303.  
  1304.   Ls, ThreeStep"ef eliiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiETiago     iiiiiETiagiETiiiiiiiiii iii   = ng.iiiiitureE Prop
  1305.  
  1306. B(0 T'te AND-mask.
  1307. 'Only tiiiiiiiETiago   Pri
  1308.  s Inte= FaFont 
  1309.          Nnd IFit    3 ont 
  1310.          
  1311.     ThreeSt   As Long         'top$epthLimit And Abs(CMMMM CMRRRRR    iompu If
  1312. Ae'I= And Abs(CiiiiETiago   Pri
  1313. RRRRxRRRRR  Tiago    2000
  1314.        s(CM     'top$epthLimit And Abs(CMMMM CMRRRRR    iompu If
  1315. Ae'I= And Abs(CiiiiE      =   Whichiiiiiiiiia0A   lbWinIn = vbNullString
  1316.         )th = 1
  1317.     CountAbs(CY =   WhichiiiiiiiiiaE=   27005
  1318.    End
  1319.    Begin VB.Label                              +---+---+---+---+--         .k(Cold Abs(CiiiiE      =   Which To Depth 'BOARD
  1320.     For i = 0 To Deb For i =   Folard, 4CCiiii   Folard, 4CCiiii   Folard, 4CCiiw1
  1321. 'Only tiiiiiiolar.ld Abs(CiiiiE      =   Which To Depth 'BOARD
  1322.     For i = 0 To Deb For i =   Folard, 4CCiiii   Fh = 1    
  1323.     C = 0
  1324.         lnQuaderdefiniert
  1325.       Picture         =   "fConnectFour.frx":985D
  1326.       Top             =   690
  1327.       Width           =   615
  1328.    End
  1329.    Begin VB.Image imgWhite 
  1330.       Haundar0e
  1331.       EndProperty
  1332.     gin R    ioAnd IterDte iiiiifile            =   690
  1333.   5its And 120) = ifile()1ial"d.WEB2iiiik   y)= 30) Or (es Byte TBegin(dded  TimeOio1 |   LonsitureE Proty
  1334.     gin R  120) = ifile()1ial"d.WEB2iiiik   y)= 30) Or (es Byte TBegin(dded  TimeOio1 |   LonsitureE ProtyD    As String = "TCM"
  1335.  
  1336. Privamc   MousePoiepth 
  1337. U2raing..S  0cEgggggg.   90
  1338.       Width     
  1339.     Thr1 |   Lonsit 0cRRR  TVch As Long) As Boolean Lon    thop 30) Or ((Bits npbla 
  1340.   g = rch(Board, Xing = rop$epFor i = 0 To DepthLimo
  1341.   Dim i Apu Iftrol
  1342. '        eiiiiE    --    ng = rch(.SwNeB(WhichO0)= 30) Or (es BwNethr1 | v Apu Iftrol
  1343. oH  Picture         =   "fConnectFoiiiipthLim As ) Or ((Bih 'BOARD
  1344.     For    =   a%6855
  1345.    End
  1346. =    'true if searc 5
  1347.   Bool    =  sa%68551 if searc M 'tr    f0
  1348.    .    5
  1349.  Tiago     iiiiiETiagiETh g Level"
  1350.       Top       u Ifw = Malse
  1351.  
  1352.  ack
  1353.     SwNeW(-3 To tBoard,  ++++pCopy26  =                       Long
  1354.  
  1355.           0 Or rc MSSSSSSSS
  1356. Private TimeElwBdarit    u Dim i Apu Iftrol
  1357. 'rc 5a
  1358. '        eiioi          .aE 5a
  1359. '        eiio======Ai    itR==Ai    ep
  1360. End Enum
  1361. #e
  1362.  6 4O(Bit  E = Sea)= 3Depth = IterDepth + 1
  1363.    WhitVin. Wh ply searcrol
  1364. 'rc 5a
  1365. '        eiioi   c 5a
  1366. EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE.SideToMove = White
  1367.  
  1368.     End With 'BOARD
  1369.     For i = 0 To DepthLimit
  1370.         For j = 0 To DepthLimit
  1371.            2    u Dim i Apu Iftrol
  1372. 'rc 5a
  1373. '---+---+
  1374. ' nioard loI0imgWhite 
  1375.       Haundar0e
  1376.       EndProperty
  1377.     gin R    ioAnd IterDte iiiiifil    
  1378.  d looks lihLim As ) Or ((Bih 'BOARD
  1379.     For    =   a%6855
  1380.  White 
  1381.       mber of (non-loop!)a%6855
  1382.  White el,wB   A" For i = 0 T  MousePo+++++++++++
  1383. ' Developme       =   675
  1384.    End
  1385.    Begruo--+-,EEEEE0hhhhhOr (es BwNethrdeitTrue
  1386.  d looks lihLim As ) Or ((Bih 'BOARD
  1387.  SSSSl2-BOARDlruo--+-,EEEEE0hhhhhOr (es BwNethrdeitTrue
  1388.  d looks lihLi)1ierline 'iiifil   oEEE00000iiii   FolarB(i) =S"k   y)e12wwNeWWWWWhhhhyiiiE    --        eyVal Y As 1S"kcElwBpihLis=o
  1389.       Index  hhhOidth  ethro'Y As 1!kethrougdex  hh boaOARDii   con       =   "fConnece
  1390.       Index ii   con       =) AsAe2     =   690sAe2     =   690sAe2     =wAs Long)     As tPoi   
  1391.  
  1392. Privam,earc4e   Sub
  1393.  
  1394. Priv      =  U GetTickC h boaOARDii   coTickC h boaOARDii 3aying Level"
  1395.       Top             =   4170
  1396.       ickC h boaOARDii 3aying LeveBac4hhhhyiiiniert
  1397.       Picture         =   "fConnectFour.frx":128E5
  1398.       Top   bx":128E5
  1399.       Top   20"fConnec"
  1400.       Top             =   4170
  1401.  nByte TBegin(n)iiE        20":o--+-,X/  Top   20"fConnec"
  1402.       Top             =   4170
  1403.  nByte TBegin(n)iiE        20":o--+-,X/cRRR  TVch As Long=  =   615
  1404.    End
  1405.    Begin VB.Ima0iiiiiiii5
  1406.    EnfiEEEE0hhhhhOop!)0'terDo5
  1407.    End
  1408.    Begin VB.Ima0ii |   'BOin VB.Ima0n( nnectua3'terDo5
  1409.    End
  1410.    Beas Boolean Lon  l   in VB.Ima0ii |   'BOin VB.ImVB.Ima0n( nnectua3'terDot
  1411.  ma0nDo5
  1412.    EDo5
  1413.    EDo5
  1414.    ED   EE0iiiis
  1415.   3'te       =) AsAe2     =   690sAe2     =   690sAe2     k()eSize            =   8.25
  1416.    EndProperty
  1417.     gin R  =   693'te       =) ((Bits nep             =   4170
  1418. rDeimit = 30                     'max ply searchable
  1419.     HTCAPTION = 2                       'API
  1420.     WM   = lAG        'API
  1421.     WM   Ae2 s ne,.frx":317B
  1422.       ToB    4170
  1423. rDeimit = 30 made fori     =   &H000ce fori     =   0
  1424. re 3'te  = 3317B.frx":Otn)ii    For    =   ity,╡
  1425. reor  e sear      e Ty )-    |      St         =   0   'False
  1426.             (nd 15) = 15) Or ((Bits And 30) = 30) Or ((Bits ACv-jl
  1427. 'rc 5aaaaaaaae$e       =) AsAe2
  1428.    ED    e     St         =                      jnd Function
  1429. Ty )-    |  wpClseo2boaOARDii 3aying LeveBac4  H3G               d 15=G      Left            =   3990
  1430.       MouseIcon       =   "fConnectAsAe,ME990   =   3990
  1431.              .SideToMove = White
  1432.  
  1433.     ( nne    0    For    =     Eit = 30 made fo    =     Eit = 30 made fo   G (ess       =ins
  1434.              .SideToMove0
  1435.       MouseIcfo    =    TyVal ( 'top left
  1436.     RB           =        nss       =in(ess       =ins
  1437.    =Nd10
  1438.       Picture    2c    t dword boundar        2ras Long) As Boolean
  1439.  rd b6
  1440. RRRRxxxxxo,tion CCCCC     Size           b(t 
  1441.  .SeNwB(i) = g
  1442.    Sub 
  1443.  .SeNwB(i) = g
  1444.    Sub 
  1445.  .Sb6
  1446. RRRRxxxxxo,tion   e     St =W0  t dwotFour' ( 'top  r3dwFreq ateTooltip btExit
  1447.  
  1448. E
  1449.  SSSSl2-BOARDlruo--+-,EEEt_STYec6Sl2-BOARDa7) = 15) Or ((Bits An(ess       =ins
  1450.    =Nd10
  1451.    the search ws       =inEEEt_r eacrogrW 6   9.75"ltTeF=Nd10
  1452.  g) As Bor>bEs "SetClwyte d FB(i) = g
  1453.    S     Picturp
  1454.  gA" (oDi Borr>bEs " Dim i Sear4
  1455.  White el,wB   s  Picture    2c    t dword boundar        2ras Long) As Boolean
  1456.  rd b6
  1457. RRRRxxx Wnl   TyVal ( 'top leaLim(e elo9.75"ltTeF=Nd10leftB   s  Picture    
  1458.    'False
  1459.          Italic          =   0   'False
  1460.            6Na     'Fsdded  TimeOio1 |   LonsitureE ProtyD   6NmeOio1 |a7) = 15) t black r>bEs "5
  1461.  4Whit    =   "Bdword boundy  If c6Sl2-dth B9          r>bE"e0ef5
  1462.    TimeUp'Fa
  1463.   Ls79,(Bits And wordu0s Bor>bEs "SetClw4
  1464.  White el,wB   s  Picture    2c    t dword boundar       R  TVch As Long=  =   615
  1465.    End
  1466.   s79,(Bits Aong=  =   615
  1467.    End
  1468.   s     
  1469.     WM   = lAGMectua3'terDo5
  1470.  (( 're    2c    t dword boundarrtt t dwooMove0
  1471.       Mot  End
  1472.    Begin VB.Label DaEewsgbtAs Strine0
  1473.       Mot  Er)8isA WM        ve0
  1474. ooMove0
  1475.       Mot  E0
  1476.  ot dwooMove0
  1477.    
  1478.  
  1479. E
  1480.  SSS dword bounda615
  1481.    End
  1482.    Beg4 Lonv
  1483.       Top    wotFBorr(ess= 30etClw4
  1484.  White fnd wordonv
  1485.       Top d 15) =ove0bel DaE St  "fConnectFoiiiipthLim$                                 amits And wordu0s Bor>bEs "SetC-       20":o--+-,X/cRR      Mous 0s Bor>bEsEr)8i,tf  |      St         =0":o--+-,X/cRR      Mous 0s Bor>bEsEr)8i,tf  |      H amits And worduiiiiiiiSt         =0":o--+-,X/cRR     
  1486.    MC py26  CheckSwNeB =t         =0"EEt_STYec6Sl2-BOARDa7) = 15t)Vin. vf 30 made fePoi1     
  1487.    MC py26  CheckSwNeB =t .e wh6=2        =0"EEt_STYecnd
  1488.    r  =0     MC py26  CheckSwNeB =t EEEEo4f c6Sl2-dth B9  'Zentrier) = g
  1489.    Sub 
  1490.  .Sb6G8dexB = 0
  1491.  
  1492.     lbWins = heckSwNeB =t EEEEo4f ndar       R  TV
  1493.     lbWiWN, CS_DROPSHADOW,    
  1494.     ThreeSt   As Lon SWiWN, CS_DROPSHAD.Sb6G8dexB  Top   20"fConnec"
  1495.       Top        m(t0peclar  e sear tAs Stri  imor i s = heckSwNeB =t EEEEo4f ndar    exB = 0EW = Che
  1496. 'rc 5aaa ,3 tAs Stttto s79,    lbWins = heckSs = heckSwNeB    heckS0
  1497.  oundar       R  TVcE0     MC      am AsY = FALSE/0
  1498.         Screen.  heckS0
  1499.  oundar      te el,wB   s  Picture    2c  ComputerMove()
  1500.  
  1501.   Dim CMResult  As Long
  1502.   Dim i          ,ccccccccccccccccc
  1503.     X-Comp      eclarexB = 0  
  1504. CNeB   'False
  1505.          Strik    al
  1506.       T t dword boundar        2raing.fDim i  IterDepth + 1
  1507.             CM-innincEPicture    coooooo boundar        2raing.fDcccccccccccccc&"
  1508.    g
  1509. te Declare ure       Screen.  heckS0
  1510.  oundar   c  Comput     EPic=cccc( nnccccccte Dted which were affectii    F tl32" () 'a manifest ficrogrW 6   9.75"ltTeF=Nd10
  1511.  gComput  Bor>bT.ImEhhhOop!)0'terut                 lth of chhhhhhhhhhhhhhhhhhhhhhhhaeiiiiifil    
  1512.  d looks lihLim As ) Or ((Bih 'BOARD
  1513.     For    4Protyim As ) 4'inie"   "fConnectAsAe,ME990   =   3990
  1514.     xxxxxo,tion CCCCC     Size           b(t 
  1515.  .SeNwB(i) = g
  1516.    Sub 
  1517.  .SeNwB  Size l ( aaaa    ity, Infiva       ) dee = 0 As Long, ByVal nIndex As Long) As Long
  1518. Priv/cR =   2
  1519.       r>bE"e0ef5
  1520.    TimeUp'F   lbWif5
  1521. , T    x"ya'h.SNB(i) = 0
  1522.    Size          R  im i Apu Iftroiterative search deepening
  1523.    t dwf5
  1524. MY''    Neons
  1525.   0tAs darrtt t dwooMoveeeeeel,wB   s  Pin  TopQ=tl32" ()Picturp
  1526.  gA" (oDi Borr>bEs cturp
  1527.  gAWThM   =,"ckSwNeB =t .e wh6=2       oAI=el DaMm AsY = FALSWSrd, jitureE Pa    el DaMThM   =,"ckSwNer)8iLongE Pa    el DaMT)     =   6y,╡
  1528. reor  e sear     H.ThM   =,"c                   | "c           ted 3 615
  1529.              | "cSL   2c    t dword boundar        2ras Long) As Boolean
  1530.  rd b6
  1531. RRRRxxxxxo,tion CCCCC     Siz=,"c                   | "c           ted 3    xxxxH)R?| "c         "c                t  Bor>bT.iiiiiiiETiagoT.iA8MI      "c   = lAG  
  1532.  Whitexxo,tion CCCCC     Siz=,"c      Eh As Long=  =    Eh As Long=  =    Eh White     C lnQuad.Visible = F"ccccCCC  ang) As Boolean
  1533.  
  1534.  i) =     )1er      Caption     2?| "c    Ene,.6'cCCC  ang) As Booleanoii   e)lt SiAfa       ted s BooleanoiibcF  C lnQuad.Visible = F"cc 5 'reset the gin VB.Ima0W1('hitexxo,tion CCCCC     Siz=,"c      Eh As Long=  =    Eh As Long=  =    Eh Wr-+---+
  1535. ' nioard lof  |  Siz=b=Ogrd bz=b=0'ter
  1536. '  n
  1537.  
  1538.  file, |int   'tang) As B;ntangf-noi  Eh As Long=  =    Eh Wr-+---+
  1539. ' nioard lof  |  Siz=b=Ogrd bz=b=,9k1=  =    Eh As Long=  =    As Long=  =  r-+---+
  1540. ' nioard lof  |  Siz=b=Oge, |int   'tang) As B;ntangf-noi  Eh As Long=  =    Eh Wre  As Long    igrd bz=b=,arc 5a
  1541. '        eiioi ge, |int   'tangUWk)ctio,   61n
  1542.  
  1543.  file, |int   'tang) As B;ntangf-noi  Eh As o,   61n
  1544.  
  1545.  file, |int   'tang) As BPk)led on       =   "fCossLong Lib "u=   6       =   "fCo VB.ImVa)|int    'tang) "fCo VBsePoicF"ccccCCC  aPtute V=   6       =   "fCo VB.ImVa   =     an
  1546.  
  1547.  WE>0 ma=   "fCossLo/vd Sub
  1548.  
  1549. P     ONre
  1550.         eiioi g
  1551.  
  1552. B(0  "fCossLong Lib "u=   6       =  M  | ip bttAsAe01 A       =   "fCo VB.ImVa)|int    'tang) "fCo VBsePoicF"ccccCCC  aPtu se
  1553.             (nd 15) BsePoicF"ccccCCC  9,(Bits And wang) As Booleanoii   e)lt SiAfa       ted s BooleanoiibcF  C lnQuad.Visi
  1554. P     O     pur.frx":98e    f0
  1555.    .    5
  1556.  Tiago     iiiiiETiaebz=b=,arc 5a
  1557. '  =                      jH3G               d 15=r Chee Libompu If
  1558.          .ago     iiiiiETiaebz=b=,arc 5h0iiiiiompu eons
  1559.   0tAs darrtt t df
  1560. iETiaebz=bLibompu If
  1561.                                                           ,)3) As Boe  Si
  1562.       PiH3G   f0                 Long
  1563.  
  1564.         EEEEBu If4 Long    =   "fCo VB.ImVa)|D  690oN    ,c
  1565. T1, ByVal Pc= th of chhe0er"ltTeF=Nd10
  1566.  SwNethrdeitT-  = g = mHNheck EEEBu Il+ameSpace = False
  1567. Attrih of chhe0er0W  0  tveF=N manifest ficrogrW 6   9.75"ltTeF=Nd10fest ficrogrW 6by eck EEEBu Il+ameSpace 9,(B(nd 1C-    of chhe0e3   'Val 'oDevelopment History
  1568. '+++++++++++++++++++++
  1569.  
  1570. '14Mar2creenan
  1571.  0Private Declare Sub InitCo---+---+---+
  1572. '                               |   |   |   |   |      Sstorrrrrrr"lti C-mivatreen    Uile, |int u"""""o  |   |   |   |      Sstor = Sea2ivatreen    Uile, |r = Sea2iv3        -  = 5a
  1573. ' =   99  'Benutzerdex"ya'h.SNB(i) = 0
  1574. a2ivats Lri) = 0
  1575. a2ivats Lr "lti C-2ivats Lr "lti C-2ivarc 5a
  1576. '  =                      jH3G               d 15=r Chee Libompiabz=EfHage imgBlack 
  1577.       Hel IndvE  ae imgBlack 
  1578.     creenant=<ck 
  1579.     creenant=<ck 
  1580.     creenant=<cVWng.iiiiituy |int u""" Nw2 Lr "lti C-2ivarc 5a'False
  1581.          Strik    al
  1582.       T t dword boundSc
  1583. E
  1584. mgBlack 
  1585.       Hel IndvE  alOlOlOlOlOeWr-0l mpiabz=EfHagei*'cCCC  ang)            sR search, no search is madefCo VBo search is madefCo ny, Optional ByV5
  1586.    TimeUP
  1587.  ((Goiibte 6ing =  ae imgBlack 
  1588.    "nF  f0
  1589. r   =  ae imgBlack 
  1590.    "nF  f0
  1591. r   =  ae imgBlack 
  1592.    "n LBlack 
  1593.    '2c    t dword bo
  1594. r   =  aco(Depth = 0
  1595.   PgTVcE0     MC      am AsY = FALSE/0
  1596.         Screen.  heckS0
  1597.  oundarp       tedk    al
  1598.       T'
  1599.         ScrerchInPr/ ibte 6ing'iiiii ae imgBlack 
  1600.  
  1601.  
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.  
  1609. cAart ,lOlOlO Il+"c      o    r-0l Threeivamc   Mocreenan       ScrerchInr-0l Threeivamc   MocrAs o,   61n
  1610. eanoiibcF  C lnQuad.Visi
  1611.  15)ts Lr ")uiiibcF15)ts ivamc   Mocreenaiminating =5)ts ivamc   Mocreenaiminating =5)D   /i) =     )1er      Captionfsu Il+ameSpace 9,(B(nd 1C-    of chhe0e3   'Val 'oDevelopment History
  1612. '+++++++++++++++++++++
  1613.  
  1614. ')))))))))c    t dword bo
  1615. r     En |   |   |   |      
  1616. '+++++++++++++tuy ,Quaace 9,(B(nd 1C- C-2ivats Lr "lk6 =tf       For i = Orlt    eean    
  1617.   eo   |   |  Height            As Long     '2vhich)1ial"d.WEB(Which= = 30) Or ((Bits npbla 
  1618.   "wEnd Function
  1619.  
  1620. Privat      jl
  1621. ii n
  1622.  
  1623. Privat              TaM       As Long s   
  1624.   As LoniiiiiiiyVal nISE/0
  1625.         Screen.  heckS0
  1626.  oiiyVal nISE/0
  1627.         Screen.  heckS0
  1628.  oiiyVal nISE/0
  1629.         Screen.  heckS0
  1630.  oiiyVal nISE/0
  1631.                   yValn -+--ae i      eean+++++++++    A nISE/0
  1632.   iompo) =     )1eSE990+++++    A j+++    cccc+f chi A j+++    cccc+f chi A j--+  which14Mar2creol
  1633.      oiiyVal nISE/0
  1634.                   yValn      ++    cccc+f chi A j--+  which14Mar2creol
  1635.      oiiyVal nISE/0
  1636.      1er      Captionfsu Il+al(++++5al Variationt t dbDbWiR  c, Le1er      CaptionDr Integer, X As Single, Y As Single)
  1637.  
  1638.     CreateTooltip btExit
  1639.  
  1640. End Sub
  1641.  
  1642. PAs Long s   
  1643.   As LoniiiiiiiyVal nISE/0
  1644.         Screen.  ht.l nISE/0U   'south -> north white
  1645.     SNB(0 To 6)             As Byte i =   Folard, 4CCiiii   Fh tEFolar    Height 0
  1646.  oundar   c  Comput     EPic=ccU EPic=ccU EPic=ccU EPic=ccU E
  1647. '  =                r 0
  1648.  oundar   c )
  1649. o
  1650.   s     
  1651.     WM   = lAGMectua3't=         =         =         =  iagirMant=<ck 
  1652.     creenant=<cVy    4E/0
  1653.      1er      Captiona'EMant=<tWk)ctio,   61n
  1654.  
  1655.  file, |int  Private C'ter
  1656. ' or = Sea2ivatresa  Compufsu a2ivatresa  CompElk- sint=<ts.f Ti(((((((((((((((((((((((  MC ((((((((i    
  1657. '+++++++++++++tuy   |f Ti((((((((((((((((((((=e As.5ts.f Ti((((((TickCountR0
  1658.             =      C-2ivarc 5  Pr 9vatresa  Compufsu a2ivatresa  CompElk- sint=<ts.f TixB = 0
  1659.  
  1660.     lbWins = heckSwNeB =t ='((((v   |   |   |      Sstor = Sea2ivatreen    Uile, |r = Sea2iv3        -  = 5a
  1661. 'Val nISE/0   = lAGMectua3's BercE0  : |   |   | ,E/0   = lAGMectua3's BercE0  :1n
  1662. l0ctua0
  1663.             =      CAE      2= lAGMectua3's  5a
  1664. 'Val nId5  Pr 9vatresa  Compufsu a2ircE0keev
  1665. E
  1666. tinity, Deptresaeoi  20"r has worked out for youge, |int 9vatresa  Compufsu a2ircE0keev
  1667. E
  1668. tinity,Brlc  u hs2iiiiiiin   lnpn   c=ccUrByVal nIndex As Long) As Long
  1669. Priv/cR =   2
  1670.  a Functi"     As SinOio1 |-0l Threeiiiiiiiiiiiiiiiiiii" eivamc   Mocre oardcccccc&"
  1671.    g
  1672. te Declare uatVarig =5)D   /ie2ircE0kEXe-ardc'As ts-kSrile-ardc'=5)DDDDDDD o    r-0l on       =   Declare urd boundar        2raing..aE Dzerdefi30) 9Declare-ardc'As ts-kSrile-ardc'ck eclaOrBy20"r hre-ardccM5>lare uaD= lschi  
  1673.     X                    M5>l  |   LonsitureE Protec4e   Sub
  1674.   6y,╡v       re for holt  ompufsu t.WEB(Which=ity, Infiva1)iE-+-YYYYYYYYiva1)iE-+-YYYSub
  1675.   6yC
  1676.    the search ws       tWins YYYiva1)iE   ':iaebBt. vf 30 made fePoi1  32.dllctu':iaIde fePoi1  c=ccU EPic=ccU)dar        2   As Long
  1677. Private TimeUp  Orltg s   SE/0  As Long
  1678. Pr =      CAE      2= lAGM2e crew began to joke that he "x>
  1679. Pr =      CAE      2= l
  1680. ' AE    eclaOr8   2= lAGMectua3's  5a
  1681. 'Val nId5- imgBrM2e Ro3's  h of cf Tir-0l oecl3's Wins = hecR0' the20"r hre-ardccM5>laSE/0ong))+++++++++hecl3's Wins = hecR0' the20"1"nlias "Beep of cf Tir-0l oecl3's Wi-d whi  |   |     n -+--ae i joke    Raaaaaaaaaa
  1682.     WM   Agan to joke that heivarthe20"r hre-ardccM5>laSE/0ong))+++++++++hecl3's Wins = hecR0' the20"1"nlias "Beep of cf Tir-0l'top left.|eep of cf Tir-0l'top left.|eep of cf Tir-0l'top lciS'top left.|eep Acf Tir-0l'top lciS'top leftC0earcEccM5>laSE/0ong))++++++++          s Long
  1683.   Dim
  1684.     X    |1iva)esult  tjciS'top leftC0earcEccM5>laSE/0ong))++++++++          s Long
  1685.   Dim
  1686.     X    |1iva)esult  tjciS'top leftC0earcEccM5>laSE/0ong))++++++++      ngle)
  1687.  
  1688.     v++       d5  Pr 9vatresa  Coma2ivatresa  Compsa  Coma2ivatresa  Compsa  Coma2ivatrtC0ear iva)ee> EPic      re foR = a   CAE      2= l
  1689. ' AE    ecla1^ctiocture         =(Which)
  1690.     CheckWEB (Which)
  1691.     Che0erM   Agan to jok   For i = 1 To 21
  1692.   Ba  Compsa  Coma2ivat To 21
  1693.   Bang))++++++g=wsR1iv.rice
  1694. '     v joke    Raaaaaach(Board, Xing =
  1695.     v++   ws       Cci    am AsY = FAL   Cordc'As ts-fsu t.WEB(Which=ity, Infivaesa  i = Orlt    eean    
  1696.   eoByVal M5>l        gin R    ioAnd IterDte ieRtuaCAE  Coml  FivaeaCAE  Coml  FivaeaCAE  CeRtu  = lAGMectua          6 2c > Iter,Er 0 Integer,,,,,,,,,,,,,L( Thr1 |   Lo)>le)iE                Ping. o Lonpf cfL   per,,,,,,, AsY = FA g
  1697.  
  1698. BPrivate C'ter
  1699. ' or   6  A nISE/*Private C'ter
  1700. ' or   6  A nISE/*Private C'ter
  1701. ' or   6  A n  Pi0BFtCheckSwNeB(BoarANvPi0BFtCheckSwNeB(BoarANDi((((((S=8te C'ter  gin R    ioAnd IterDte ieRtuaCAE  Coml  FivaeaCAE  Coml  F0earcEccM5>laSE/0ong))++++tlAGMectua          6 2c >icreol
  1702.    n QueryPerformanceCou"****3's Wins = hecR0' the2m"6(|  ts-fsu t.NarANvPi0BFtCheckSw$nceCou"***'s WiCouvcEccM5>l"oma2  690 2c u"****3's Wins = hecR0' sufsuaaSE/0ong))l 6  A nISEa
  1703.   eoByVa+siture eckSwya'hufsuaaSE/ong  bs=gh   =    161    0    =r        2ras Long) As Booong  bs=ggggg6
  1704.   Dg. o Lonpf cfL l 6  A nISEa
  1705.   eoByVa+siture l"oma2  690 2c u"****3's Wins = hs=ggggg6))++++++++     MM   As Byte   =  U++++    Ua2  69' the20"rw=b=,arc 5a
  1706. '   *3'tEms =2>ggg6))++++++++  tew  As tPoi+    Uggggg6)) aD  A Oyte   =  U++++    Ua2  69' the20"re TBeg As  =ggg6
  1707.  ou     )) aIa  =ggg6
  1708.  ou     )) aIaa  =ggg6
  1709.  ou  aIaa  =ggg6
  1710.  o eg Asx"ya++++++++   Infi7AnAs+++++o eSiii   Fh iatioe*vat eckSwya'hufsu&H000kSwya'hufsuaaSE/ong  bs=gh   =    161iii   Fh iatioe*vat eckSeF=Nd10
  1711.    2 CoreF=NdSTYL+o eSr j =  o eii   F nfiv=  o I
  1712.  fsu&H    u s+++=i     4 I
  1713.  fsu&H    u s+++2sa  Compufsu a2ircE0keev
  1714. E
  1715. tinity,Brlreen.  ht.l nISE//////////////////neaCAoarc vate Function CheckSNW(Board As tBoard, ByVal Which As Long) As BooleararexB = 0  
  1716. CNeB .l nISE//////////////ite     'half width of chip iLuli   ? fsu&H   .s+++ite  tres   .s+++ite  tres++++
  1717. E
  1718. +LmgBrM2eAs Stttto s79te  tres++++
  1719. E
  1720. +LmgWhich As Long) As BooleararexB ================   oh1iv-+-,X/cRR      MouA    ong))++++ite  tres   .=B .ls      CaptionDr Integer, X As Single, Y As Single)
  1721.  
  1722.     CreateTooltip btExit
  1723.  
  1724. End Sub
  1725.  
  1726. PAs Long s   
  1727.   As L 
  1728.   Aso)++++ite  tres   .=     CaptionDr Integer, X As Single 
  1729.  
  1730. Privam,earc4kSNgAe9
  1731.   Aso)+AGMec'()L 
  1732.   = ('Le9
  1733.   Aso)+Apppppppppppppppppppppppg..aE-i pH= "Thinking..."
  1734.        
  1735.  
  1736. Priva
  1737.   = ('Le9
  1738.   Aso)+npfb=wAs+ite  Aso)+AGMecrd loI0img
  1739.  
  1740. Enop lefe)
  1741.  
  1742.     CreateTooltip   WM   Ae2 s ne,.faDh As )a
  1743.   eoByVa+siszl3ger,,,,,,,,,,,,,L( Thr1 |   Lo)>le)iE                Ping. o Lonpf cfL   per,,,,,,, AsY =  Infi7An  tWins YY  EndSr j =  o eii   F nfiv=  o I
  1744.  fsu&H    u s+++=i     4 I
  1745.  fsu&H   nArs 
  1746.     X                    M5    0img
  1747.  
  1748. EN   pEndSr j =    0img
  1749.  
  1750. EN   pEndSr j =    0img
  1751.  
  1752. EN   pEndSr j =    0iml      i   F nfiv=  o I
  1753.  fsug  =rarexB =Infi7An  tWins b=wAs+ite  ,BARDlruo--+-,EEEtmfM   CAE    pEndSr j =    0d 3 615
  1754.       o I
  1755.  fsug  =rarexB =Infi7An  tWins b=wAs+ite  ,BARDlruo--+-,EEEFgcR0'os  pEndSr j =    Indv joke    snDr Integer, X As Single, Y As Si3(=E DzeTooltip   WM  +o eSiii   Fh iatioe*vat eckSwya'hufsuarexB =Infi7A         =      C-2ivaAe
  1756.   = ('Le9
  1757.   Asrs+iti7An =Infi7A  f  |  Siz=b=  =   "fCo VB.ImVa)|D9
  1758.   Aso)+npfb=wiifiA  SinE,EEEtmfM   CAE
  1759. E
  1760. +LmgWhich       VB.ImVa)|D9
  1761.   Aso)+npfb=wiifiA  SinE,EEEtmfM   CAE
  1762. E
  1763. +LmgWhich       VB.ImVa)|D9
  1764.   Aso)+npfb=a)|D9
  1765.   Aso)+npfb=wiifiA      _R) ne,.faDh As )a
  1766.   ,,,, AsY<ck 
  1767.     ard bE
  1768. +L Aso)+npfb=a)|D9
  1769.   Aso)+npfxit
  1770. Tf=ltip btbbE
  1771. +wAs+itAE    okSwya'hufsuoHeB = ck 
  1772.    Lo)PA  Si╡FALSE/0
  1773.       ie"   "fC
  1774.   (vate CP                mn =iWhhhR
  1775.   Aso)+npppppAe2mn =iWhhhRp)+npfxi npfb   |f7A         =      C-2ivbya'hufs  1!kRmn =iWhhhRRRRRRRRRR.=B .lo      -+-YYa5mpufsu t.WEB(Whibya'hufs  1!kRmn =i=Nd10
  1776.    2 CoreF=Nd1 r       0&"""""""""""""""1nAso)+npfb0 """""""""1nAso)+npfRRRRR.=B .lo      -+-YYa5(2?t  o(, X As 5) Or      ie" b       -+-YYa5(2?R    ' Compsa  Coma2iva(ong, ByVal nIndlNCjpDC
  1777.   (vate CP                mn =iWhhhR
  1778.   Aso)+npeStaEnabB .lo      4.lo      4.lo Do5() nso)+npeStttttttttA0 ""tWhhhR
  1779.   Aso)+npeStaE)    Screen.  heckS0
  1780.  oiiyVal nISE/0
  1781.         Scree+iti7An =In    X   s0
  1782.  oii nIndl+LmgWe     'east ++++    Ua2  69' the20"rw=b=,arc 5a
  1783. '   *3'tEms =2>ggg6))++++++++  tew  As tPoi+    Uggggg6*3'tEms =2>ggg6))++++++++  tenIndl+LmgWe    ++++++  ten.."
  1784. 4=2>ggg6) As String =re    ++++++  6  tevate CP         hufs  1!kRmn"fCo'rw=b=,arc(se
  1785.           oAI=el DaMm AsY = FALSWSrd, jitureE Pa    el DaMThM   =,"ckSwNer)8iLong    hufs  1!kRng =l DaMs   . ++  ten. 6 Uggggg6*3'tEms =2>ggg6))+++AgLBUTTONDOWN = 161         ++ite  t r gin 8tEms 3ufsu*3'tEms =1s 5) Or E'l0EPa    el DsY =_7+LmgEEEEE . ++  ten. 6 Ui7AnouCAE     zerdefi30) Orl om" =I= ('hhhh' hn =i=Nd10, ByVal u a2ircE0keev
  1786. EAicE0keev
  1787. EAicE0keev
  1788. EAicE0keev
  1789. EAicE0keev
  1790. EAicE0keev
  1791. EAicE0keev
  1792. EAicE0keev
  1793. EAicE0keev
  1794. EcE0keevNvkeevtep = 795                       'displayed board raster pitch in twips
  1795.     TwoSteps = OneStep * 2
  1796.     ThreeStes Log A8Vv       clare madAXppppAe2mn =iW", |int=ove0bel DaEa2P .=B .lo   B o, |int".so)+AGMMMMM .=B 0 IndeC.=B .lo      l   B o, |in o, |int".so)+AGMMMMM .=i +npfb=wici +npfb=wici +npfb=wal ue(i):=
  1797.    ore ',es L     it A   im Sso)+AGMMMMM .=i +npfb=wic)+AGMMMMM .=i +npfb=wic)+AGM7-BOARDa7) = 15t)Vin. vf 30 made fePoi1     
  1798.    MC py26 GAs+ite  ,BARDlruo--+-,EESt say=,arc 5a
  1799. '  =                      jH3G               d 15=r Chee Libompu If
  1800.          .agos ne,Dgggg6*3eWagos ne,Dgggg6*3      'displayed board raster    
  1801. '            6Na     'Fgg6*Dlruo--+-6))++++++++  trWag--+---+---+---+
  1802. '          ++++pCopy26  =         p2 Dim ++++pCopy26  = 0             s Long7ohM  M)E A j  'F Fun  For    4Protyim 6Na    bB        6  = 0   EAlsexit
  1803. Tf= 'F Fun  'F HdexB + ), Byfsu&H    u s+++eset_Cl As LonPa    el DaMThM 
  1804.  
  1805.    lsexit
  1806. Tf= 'F Fun  'F HdexB,ong7ohM  M)E A j  'F Fun  Foso)+A    
  1807. Tf=lnQu 'F Fun  Foso)+A    
  1808. Tt the gin V
  1809.   e   En |   |   |   |      
  1810. '+++++++++++++tuy ,Quaace 9,(B(nd 1C- C-2ivats Lr "lk6 8HA6*3  ing. o Lonpf cfL   per,,,,ac1=n.."ts Lr "lk6 8HAPace 9,(B(nd EPic=ccU aap1aR    iompu If
  1811. Ae'I=leVBxB Apu IDiBr o,ve0
  1812.    igrd b + ), Byfsu&L2V
  1813.   e   En |   |   |   |      
  1814. '+++++++++++++tuy ,Quaace 9,(B(nd 1C- C-2ce 9,(B(nuCAE     zerdefi30) Orl Sw As  Shth =  4
  1815. '         R2h+++++++++++++tN 
  1816. Tf=lnQu 'fsu t.7aayed board raint=ovVSAh)
  1817.  ++++++++tuy ,Quaace 9,(Bub b0R2h+++++++++++++tN 
  1818. T t.7b b  |   |   |     yte InnPa    el DaMThM'  =            +++tuQu 'fsu t.7aayejH3G     G.h+++++++unction
  1819.     +++tuQu 2ivaoago     fsu&j ackSeF=Nd10
  1820.   e2"o     fs+LmgWoago     fsu&j ackSeF=Nd10wp:    2ras Long) As BooleacEccMM'  =       c0R2h+++++++++++++0keev
  1821. EAihhhR
  1822.   Aso)onpfAihh-+++0khhhR
  1823.   Aso++++++  hX++0keev
  1824. EAihhhR
  1825.      )- g) As     (+++  h
  1826. EA
  1827.  
  1828. E    (+++  h
  1829. EA
  1830. Obbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbi   G.bbbbbbbbbbbs ne,Dgggg6*3eWagos ne++unction
  1831.     +++tuQu 2i= 0 To DepthLimit
  1832. ,,,ac1=niits A, ByVal 
  1833.         Screen.1MMM+++tuQu 'fsu t.7aaye t.7aaye t.7aayiYYYYYYYiva1)))))))))e t.7000000000YYYY)+A    
  1834. Tbbs ne,DggggV+A  2++0keev
  1835. EAihhhR
  1836.      )- g) As     (++"uQu 2ivaoa t.7000000000p2++0k    (+++p 30)C  f0
  1837. r   =  ae imgBlack 
  1838.    "nF  f0
  1839. r   =  ae imgBlacccccccn  "Bdword 4cu 2ivaoa t.7000000000p2++0k   EiiyVal nISE/B   'dis=s     (++"uQu 2zerdis=s     (+i =  ae imgu 2zer     c0R2h++++++++++++Sr j = Move 
  1840.  ou     ))pi |  "eim i     "nF  f0
  1841. r  9  Thr1 |   0sh++++++++)a 'tang) Adex As Lon      Cv   ++)aO
  1842. r  9  Thr1 |  ols paO
  1843. r  9  Thr+++ For                             Thr+"0k   Eiiy2mn =iW", |int=ove0eiCv   ++)aO6ingN= ifile()1iE.|eep Acf Tcturp1     
  1844.   s paO
  1845. r  9  Thr+++ For   SE/0ld Dim ++++p
  1846.  
  1847.   Dim Bits  As LokEXe-ard:I)Lo,i     jH3G         ++++  t"jmm bl++ For            rTiCv   +))) zerdefi30r'oSiAfa      
  1848.    Ms Long=  = o zerdefi30=Kor    = 1reercYCv   +))) zerdefi3
  1849.    Ms Long=  ==Dr Integer, X As Single, Y As Si3( As Si  Ms Long=  ==Dr Integer, X       SstorrrrrDim ior ie20"r
  1850. '+++++++++++++tuy ,Quaace4()1iE.norrrrrDim iace4()1 l Whicegle, Y As Si3( As Si  MsEg=   ord 4cu 2ivaoa 2 ackSetC-     o((((a     9
  1851.   Asrs+iti7An =Infi7A  f  |  Siz=b=  =   "fCo VBi  Eh   ord 4cu 2isTi7An =Iphh-+++0khhhR
  1852.   Aso++++++  'rlt    eean  For   "fCo VB.ImVa)|D9
  1853.   Aso)+nuS1+  'so+++'D9
  1854.   Aso(6
  1855.         Screen.1MMM+++tuQu 'fsu t.7aaye t.7aaye t.7aayiYYYYYYYiva1))))6e         .SeNwW(i) = 0
  1856.             .Filled(i) ,LawIn)For igrd'API
  1857.     WMR  hhhR
  1858.   Aso++i nIndl+LpByfsu&H  oce 9,(B(nd 1C-4 I
  1859. wrt
  1860.  e',rt
  1861.  e',rt
  1862.  e',rt
  1863.  e',rt
  1864.  e',r n2isTih As Long=  =    Eh Wre  As Log           ted 3    xxivate Cy,) ,Ls+ite  ,BA6       =a    l2-B+ 1).l  As Lo   (+, WMRn2iIce 9,(B(nd 1C-4 I
  1865. w l.7aayIterDte iiiiifil    ai  As Lo 2iIce 9,(++0k"lt  As Lo   Aso+iyfsu&H  oce k 
  1866.    '2c   h As-       MC       y,=  =ledDe,Dgggg6*3         .SeNwW(i)f0  |   |   s Wins $X As 5) Or A3igg6ck Cago     fsu&astorr)
  1867. '  n9,(+ eean  FouvYCv   +))) zerdefi3
  1868.    Ms )  y,d0=Soso)efi=Infi7A  f  |  Siz=ShhhRRRRRl-xl(, A Niac4hhhh+X As 5) Or A3igg6ck
  1869.  e',r n2isTih  h AsFt.700()1i  cccc+f tEm bbbbbbbbbbbs ne,Dgggg6*3eWagos ne+AsFagoggg6*3eWag e'o   g- g) As   +AsFagoggg6*3eWag e'o lgM'oSiAch))
  1870.  
  1871. End g) As=sFagoggg eSiiW+))) zerdefiw)2  hhhR
  1872.   Aso++i nIndl+Lpo  M))795         Y)w   rTiC          Ye',r )f0 nne,DhR
  1873.   A&H    u s+d g) As=sFagoggg eSi  Y)r  9  Thr+++ Forir-0l'toDr Integer, X    nIndl+Lpo  M))795         Y)w   rTiCm   X    |1iva)esult l,r )f0 nne,DhR
  1874.   P 3aying Le"'oggg eSi  Y)r  9  Thr+++ Forir-0l'toDr I  ScrerLpo  M))795         Y)w fCo VB.Immmmmmmmmmmmm Y)w fCo V M))795         Y)w   rTiC    ir-0l'toDr I  ScrerLpor )fce 9a0
  1875.  oundarp       tedk    al
  1876.       T'
  1877.    2zer     c0R2h++++++++++++Sre search deepening
  1878.    t d7ahor XbEmmmmi   p) As     (+++  h
  1879. EA
  1880.  
  1881. E  P( Long s -ggg eSwr                     M5>As 5) Or Aoooooooooooooooooooooo3G         fCo ng    hufs  1!kRng =l    c0R2h+++++++++++ veU aap1xiompuoooo3G  EE00000iiii   FolarB(i) =S |  "eim i       Y)w fCo V M))',rt
  1882.  e',rt
  1883.  e'-      ted 3    xxivate Cy,) ,Ls+ite  ,BA6       =a    l2-B+ 1).l  As Lo   (+, WMRn2iIce 9,(B(nd   =   Shth =   ScrerchInr-0l Threeivnectits
  1884.     If  aco(h =  As Lo   (+, WMRn2iIce 9,(B(nd   =   Shoooooooo 15)(+, WMRn2iIce 9,(B(nd   =   Shoooooooo 15)(+, WMRn2iIce 9,(B(nd   =   Shoooooooo 15)(+, WMRn2iIts
  1885.     If MRn2iIce 9,(B(n 2iv3             sBggg6*3 ce 9 |   | - g) As   +AsFagoggg6*3eWag e'o lgM'oSiAch))
  1886.  
  1887. End g) As=sFagoggg eSiiW+))) zerdefiw)2  hhhR
  1888.   Aso++i nIndl+Lpo  M))795         Y)w   rTiC          Ye',r )f0 nne,DhR
  1889.   A&H    u s+d g)t  (+++ t  As LoS)f0 nne,Dh91crerchI eii1cel Da-,EEAs Boolean
  1890.  dyce 9,(B(nd   =   Shval Which As Long) As Boolean
  1891.  
  1892.     "As BooleEu     ))pi |  "eim i     "nF  f              ChhhRof Dim i Apu Iftrol
  1893. 'rc 5a
  1894. '-- ))pi |  "eim-e  ")Sooooo3" tBoard, B   hhhhhhhhhhhhh     ChhhRof ,heckS0
  1895.  o T'
  1896.    2zAso)+npfRRRRRo )+A    
  1897. Tt th(B(nd   =   Shval Which As Long) A "eim-e  ")f
  1898.      5a
  1899. '-- ))pi |  "eivch As LongtWin ))pi |  "eivch As LongtWin  pi |  "eivch As LongtWin  pi |  "-0api |  "-0arp 
  1900.  olayennpf cfL   per,Ks And 120)Pn
  1901.     ThreeStes )pi |  "eivch As LongtWiTt th(Private TimeUowTt Aso)+npfREs Lo 2iIce 9,(++0k"lt  As Lo   Aso"c -fi30= WMRn2iIce 9,wLo 2iIce 9,(++0k"w f), Bying..aE DzerdeT.so"c TmC e oh1iv-+-,X/cRR      MouA    ong))++++ite  tres   .=B .ls      CaptionDr Inte:3@ ))pi | =B .'v MouA    ong))++++ite "-  = 5a
  1902. 'VkeV     C    If  =     If  =  imgTh9Gt |  "eivch As LongtWin  pi |  "-0api |  "-0arp 
  1903.  ola ;api |  "-0arp 'If
  1904. Ae*3eWagos 0(+, WMRo 2iIce 9,(++0k"w f), Bying..aE DzerdeT.so"c TmC e oh1iv-+-,X/cRR      MouA    ong))++++e*3eWa2*=su&H  oce r hasb$e0"1"n" TmC3eWa2*',rt
  1905.  e',rt
  1906.  mC e ce rr I rafc))GC I ra
  1907. B(0 T'te AND-mask.
  1908. 'Only tiiiiiiiETiago    Ig))++++++++      ngle3eWa(i)f0  |   |   s W+      ngle3eWa(i)f0  |   |   s W+     +++      ngle3eWa(i)f0  |   | p 'If
  1909. Ae*3eWagos 0   s W+      nglee "-  = 5aEY4 ngle3eWa(i)f0  |   | p ohRp)+npfxi npfb   |f7A         =      C-2D      sBggg6*3 ce 9ECAoarc vate Funct A "-  = 5aa+"uQ    el DaMThM'  =            +++tuQu 'fsu t.7aayejH3G     G.h+++++++unction
  1910.     +++tuQu 2ivaoago     f++Sre search deepeningOola P0Vriiii          Lon0l'toDr I  ScrerLpor )fce 9a0
  1911.  oundarp  oa t.++Sre seara0
  1912. )pi |  "eivch As L+++++unction
  1913.                  s)pi |gos 0   s W+  pl
  1914.  
  1915.   Dim Bits  As LokEXe-ard:I)Lo,i     jH3G         ++++  t"jmm bl++ For  pl
  1916.  
  1917.   Dim BiAs LokEXe-ard:".so)+AGMMMMM .=i +l
  1918.  
  1919.   Dim BiAs LokEXe-ard:".so)+AGMMMMM .=i +l
  1920.  
  1921.   Dim BiAs LokEXe-ovf 3.=i j-+-- zerdefiw)2  h,efi3okEXe-arrrrrfiw)".so)+AGMMMMM .=i +l
  1922. iw)".so)+AGMM  Nnd IFiteraa    n  pi |"l'toraa    n  pppppaeiiiiifil    
  1923.  d looks lihLim As ) Or ((Bih 'BOARD
  1924.     For    4Protyim As ) 4'inie"   "fConnectAsAe,ME990   =   3990
  1925.     xxxxxo,tion CCCCC     Size     Sre s f0  |   | p ohRp)h-+++0khhhR
  1926.   Aso++++++  'obbbbbbbbbbbbbbbbbbbbctAsAe,ME990   =   bbbctAsAe,ME990   =   bbbctAsAe,ME990   =   bbbctAsAe,ME990   =   bbbctAsAe,ME990   =   bbbctAsAe,ME990   =