package{ import flash.events.*; import flash.display.*; import flash.ui.*; public class CardAndDeckTester extends MovieClip{ var input:String = ""; var sampleDeck:Deck = new Deck(); var sampleCard:Card = new Card(-1, -1, false); public function CardAndDeckTester(){ //this keyboard event listens for ANY key being pressed //NOT just for the down arrow. KEY_UP listens for a key being released! this.stage.addEventListener(KeyboardEvent.KEY_DOWN, readKey); this.displayMenu(); } public function displayMenu():void{ trace("---------------------"); trace("Please enter the number to choose a selection"); trace("1. Create new Deck."); trace("2. Shuffle Deck."); trace("3. Flip Deck."); trace("4. Print Out Deck"); trace("5. Draw Top Card"); trace("6. Draw Bottom Card"); trace("7. Add Card to Top of Deck"); trace("8. Add Card to Bottom of Deck"); trace("9. Double Check if Deck is Valid."); trace("0. See how many cards are left."); trace("---------------------"); } /** * Keycode 13 is return, so if the user has entered that, they are done inputing their text. * We can trace out what they entered, and clear the input string. */ public function readKey(e:KeyboardEvent):void{ if(e.keyCode == 13){ var inputNum = parseInt(input); switch(inputNum){ case 1: trace("Creating new Deck...."); sampleDeck = new Deck(); break; case 2: trace("Shuffling..."); sampleDeck.shuffle(); break; case 3: trace("Flipping..."); sampleDeck.flipAll(); break; case 4: sampleDeck.print(); break; case 5: sampleCard = sampleDeck.drawTopCard(); trace(sampleCard.toString()); sampleCard.flip() trace("After flipping:" + sampleCard.toString()); sampleCard.flip(); break; case 6: sampleCard = sampleDeck.drawBottomCard(); trace(sampleCard.toString()); sampleCard.flip() trace("After flipping:" + sampleCard.toString()); sampleCard.flip(); break; case 7: trace("Adding " + sampleCard.toString() + " to top..."); sampleDeck.addCardToTop(sampleCard); break; case 8: trace("Adding " + sampleCard.toString() + " to bottom..."); sampleDeck.addCardToBottom(sampleCard); break; case 9: if(sampleDeck.isValid()){ trace("Deck is valid!"); }else{ trace("Deck is invalid!"); } break; case 0: trace("The deck has " + sampleDeck.countCards() + " cards left!"); break; default: trace("Please enter an option 1-8!"); break; } input = ""; this.displayMenu(); }else{ input += String.fromCharCode(e.charCode); } } } }