Spider Form1- PeekBox Label1 Deals Remaining: Cards @ DealCount Label1 DealRow RemoveSet Remove &Game &Deal &Undo Options &Options FourDown &Four Down S ThreeDown &Three Down UseSuits Use &Suits ExitNow E&xit Scrunching &Scrunching ScrunchingNone ScrunchingQ One Quarter ScrunchingT One Third ScrunchingH One Half Form_Click0 Form_Load Cards Width} Visible Colord BackColor EndSubo Caption DragMode AUTOMATIC Height GREEN YELLOW MAGENTA Command1_Click ExchangeCardsW ExchangeCard Shuffle_Clickp Shuffle Form2 FALSEe Game_Click Deal_ClickM ExitNow_Click Shuffle2Decks TableauJ WorkDecks WorkDeck ChangeDeck_Click\ TableauTest Cards_Click Index Cards_DragDropx Source Tablo TLookUp Above Below SCol; SIndex TIndex/ sequenceTCol MANUAL WHITES MsgForm MsgLabel DealRow_Click? NextCard NewCardJ LCARD TCARD label PeekBox PeekBox_Clickp PeekBox_MouseDown` Button$ Shift HoldPeek PeekBox_MouseUp RemoveSet_Click SeriesCheck ThreeDown_Click ThreeDown check CheckedZ FourDown FourDown_Click[ CardOffSet CardOffSetDefault ScrunchingNone_Click= ScrunchingNone CardSetOff ScrunchingQ ScrunchingT ScrunchingH ScrunchingH_Click ScrunchingQ_Click) ScrunchingT_Click Scrunch ReSize Scrunching_ClickS DealCount| still some7 MoveColumn interger subMoveColumn UseSuits_Click UseSuits BoarderStyle BorderStyle CanUndo SColumn SourceIndex TargetIndex Undo_Click+ MCSIndex MCTIndex Undoing mscindex Form_Load This creates the deck, stacked on At Initializing Default is Four Down Default offset for cards = card height Make PeekBoxes Create Blank cards for head of columns Deal_Click ExitNow_Click Shuffle2Decks Fill the array Shuffle the ArrayC Tableau to start, cannot undo until something is moved First indicate no cards in any column Needed for redeals Put down blank cards as heads of columns Set up peek boxesb Cards_DragDrop No movement so do nothingx Not a blank" Attempting to move to middle of column Debug.Print "NEOC: Index="; Index; " Below="; TLookUp(Index).Below Must be end of column" Code for checking the cards below the source for sequence and suit Index of Source Must be all of same suit and sequence Column of Source Code to check that source is being moved either to blank or to card in sequence Move the column from source to target Not a legal move Now update peek box: showing blank card so... ...indicate none left else still may be some cards so check... count each hidden card DealRow_Click First make sure that there are no spaces present Must First Fill All Blanks Now deal a new row, if there is one to deal All Cards are Dealt" Can't undo a dealC location of where to put carde Debug.Print cards(tlookup(i).above).top; i PeekBox_MouseDown PeekBox_MouseUp RemoveSet_Click Check for completed sequenceso SeriesCheck Starts with an Ace Not a complete sequence If it gets this far it is a complete sequence Then MAY not be on blank If cards(TLookUp(TIndex).Above).visible = false Then PeekBox(SCol).Caption = " " + Format$(Val(PeekBox(TCol).Caption) - 1)l Turn on blank card showing blank card so... ...indicate none left else still may be some cards so check... count each hidden card ThreeDown_Click FourDown_Click ScrunchingNone_Click ScrunchingH_Click ScrunchingQ_Click ScrunchingT_Click Scrunch ReSize Go to top> MoveColumn Code for moving into a blank space Column of Source Index of Card above Source Save information for Undo assume the best! Moving to a blank Column of Target Code to move and link up card(s) don't link to blank Turn off blank card Indicate that it is firste Link Target to Source Link Source to Target Filling a blank? Move the card Code to uncover top of column Reveal Blank CardR Column of Target Code to move and link up card(s) Link Target to Source Link Source to Target Filling a blank? Move the cardM Code to uncover top of column Reveal Blank CardR UseSuits_Click Undo_Click moving to blank