diff -Nuwr -x '.??*' AS3CBLibrary-orig/classes/ascb/play/Card.as AS3CBLibrary/classes/ascb/play/Card.as --- AS3CBLibrary-orig/classes/ascb/play/Card.as 1969-12-31 18:00:00.000000000 -0600 +++ AS3CBLibrary/classes/ascb/play/Card.as 2007-08-24 11:26:52.000000000 -0500 @@ -0,0 +1,38 @@ +package ascb.play +{ + + public class Card { + + private var _nValue:Number; + private var _sName:String; + private var _sSuit:String; + + public function get value():Number { + return _nValue; + } + + public function get name():String { + return _sName; + } + + public function get suit():String { + return _sSuit; + } + + public function get display():String { + return _sName + " " + _sSuit; + } + + public function Card(nValue:Number, sName:String, sSuit:String) { + _nValue = nValue; + _sName = sName; + _sSuit = sSuit; + } + + public function toString():String { + return display; + } + + } + +} \ No newline at end of file diff -Nuwr -x '.??*' AS3CBLibrary-orig/classes/ascb/play/CardDeck.as AS3CBLibrary/classes/ascb/play/CardDeck.as --- AS3CBLibrary-orig/classes/ascb/play/CardDeck.as 1969-12-31 18:00:00.000000000 -0600 +++ AS3CBLibrary/classes/ascb/play/CardDeck.as 2007-08-24 11:30:38.000000000 -0500 @@ -0,0 +1,58 @@ +package ascb.play +{ + + import ascb.util.NumberUtilities; + import ascb.util.ArrayUtilities; + + public class CardDeck { + + private var _aCards:Array; + + public function get deck():Array { + return _aCards; + } + + public function CardDeck() { + _aCards = new Array(); + reset(); + } + + public function reset():void { + var i:Number; + for(i = 0; i < _aCards.length; i++) { + _aCards.shift(); + } + + // Create a local array that contains the names of the four suits. + var aSuits:Array = ["Hearts", "Diamonds", "Spades", "Clubs"]; + + // Specify the names of the cards for stuffing into the cards array later. + var aCardNames:Array = ["2", "3", "4", "5", "6", "7", "8", "9", "10", + "J", "Q", "K", "A"]; + + // Create a 52-card array. Each element is an object that contains + // properties for: the card's integer value (for sorting purposes), card name, + // suit name, and display name. The display name combines the card's name + // and suit in a single string for display to the user. + for (i = 0; i < aSuits.length; i++) { + // For each suit, add thirteen cards + for (var j:Number = 0; j < 13; j++) { + _aCards.push(new Card(j, aCardNames[j], aSuits[i])); + } + } + } + + public function shuffle():void { + var aShuffled:Array = ArrayUtilities.randomize(_aCards); + for(var i:Number = 0; i < aShuffled.length; i++) { + _aCards[i] = aShuffled[i]; + } + } + + public function push(oParameter:Object):void { + _aCards.push(oParameter); + } + + } + +} \ No newline at end of file diff -Nuwr -x '.??*' AS3CBLibrary-orig/classes/ascb/play/CardHand.as AS3CBLibrary/classes/ascb/play/CardHand.as --- AS3CBLibrary-orig/classes/ascb/play/CardHand.as 1969-12-31 18:00:00.000000000 -0600 +++ AS3CBLibrary/classes/ascb/play/CardHand.as 2007-08-24 11:32:32.000000000 -0500 @@ -0,0 +1,69 @@ +package ascb.play +{ + + public class CardHand { + + private var _cdkDeck:CardDeck; + private var _aHand:Array; + + public function get hand():Array { + return _aHand; + } + + public function get length():uint { + return _aHand.length; + } + + // When a new card player is created by way of its constructor, pass it + // a reference to the card deck, and give it a unique player ID. + public function CardHand(cdkDeck:CardDeck) { + _aHand = new Array(); + _cdkDeck = cdkDeck; + } + + public function getCardAt(nIndex:uint):Card { + return _aHand[nIndex]; + } + + + public function discard():Array { + var aCards:Array = new Array(); + var i:Number; + for(i = 0; i < arguments.length; i++) { + aCards.push(_aHand[arguments[i]]); + _cdkDeck.push(_aHand[arguments[i]]); + } + for(i = 0; i < arguments.length; i++) { + _aHand.splice(arguments[i], 1); + } + return aCards; + } + + public function draw(nDraw:Number = 1):void { + + // Add the specified number of cards to the hand. + for (var i:uint = 0; i < nDraw; i++) { + _aHand.push(_cdkDeck.deck.shift()); + } + + orderHand(); + } + + public function orderHand():void { + _aHand.sort(sorter); + } + + // Used by sort() in the orderHand() method to sort the cards by suit and rank. + private function sorter(crdA:Card, crdB:Card):Number { + if (crdA.suit > crdB.suit) { + return 1; + } else if (crdA.suit < crdB.suit) { + return -1; + } else { + return (Number(crdA.value) > Number(crdB.value)) ? 1 : 0; + } + } + + } + +} \ No newline at end of file diff -Nuwr -x '.??*' AS3CBLibrary-orig/classes/ascb/play/Cards.as AS3CBLibrary/classes/ascb/play/Cards.as --- AS3CBLibrary-orig/classes/ascb/play/Cards.as 2006-01-09 12:25:02.000000000 -0600 +++ AS3CBLibrary/classes/ascb/play/Cards.as 2007-08-24 11:26:55.000000000 -0500 @@ -48,152 +48,4 @@ } } - private class Card { - - private var _nValue:Number; - private var _sName:String; - private var _sSuit:String; - - public function get value():Number { - return _nValue; - } - - public function get name():String { - return _sName; - } - - public function get suit():String { - return _sSuit; - } - - public function get display():String { - return _sName + " " + _sSuit; - } - - public function Card(nValue:Number, sName:String, sSuit:String) { - _nValue = nValue; - _sName = sName; - _sSuit = sSuit; - } - - public function toString():String { - return display; - } - - } - - private class CardDeck { - - private var _aCards:Array; - - public function get deck():Array { - return _aCards; - } - - public function CardDeck() { - _aCards = new Array(); - reset(); - } - - public function reset():Void { - for(var i:Number = 0; i < _aCards.length; i++) { - _aCards.shift(); - } - - // Create a local array that contains the names of the four suits. - var aSuits:Array = ["Hearts", "Diamonds", "Spades", "Clubs"]; - - // Specify the names of the cards for stuffing into the cards array later. - var aCardNames:Array = ["2", "3", "4", "5", "6", "7", "8", "9", "10", - "J", "Q", "K", "A"]; - - // Create a 52-card array. Each element is an object that contains - // properties for: the card's integer value (for sorting purposes), card name, - // suit name, and display name. The display name combines the card's name - // and suit in a single string for display to the user. - for (var i:Number = 0; i < aSuits.length; i++) { - // For each suit, add thirteen cards - for (var j:Number = 0; j < 13; j++) { - _aCards.push(new Card(j, aCardNames[j], aSuits[i])); - } - } - } - - public function shuffle():Void { - var aShuffled:Array = ArrayUtilities.randomize(_aCards); - for(var i:Number = 0; i < aShuffled.length; i++) { - _aCards[i] = aShuffled[i]; - } - } - - public function push(oParameter:Object):Void { - _aCards.push(oParameter); - } - - } - - private class CardHand { - - private var _cdkDeck:CardDeck; - private var _aHand:Array; - - public function get hand():Array { - return _aHand; - } - - public function get length():uint { - return _aHand.length; - } - - // When a new card player is created by way of its constructor, pass it - // a reference to the card deck, and give it a unique player ID. - public function CardHand(cdkDeck:CardDeck) { - _aHand = new Array(); - _cdkDeck = cdkDeck; - } - - public function getCardAt(nIndex:uint):Card { - return _aHand[nIndex]; - } - - - public function discard():Array { - var aCards:Array = new Array(); - for(var i:Number = 0; i < arguments.length; i++) { - aCards.push(_aHand[arguments[i]]); - _cdkDeck.push(_aHand[arguments[i]]); - } - for(var i:Number = 0; i < arguments.length; i++) { - _aHand.splice(arguments[i], 1); - } - return aCards; - } - - public function draw(nDraw:Number = 1):Void { - - // Add the specified number of cards to the hand. - for (var i:uint = 0; i < nDraw; i++) { - _aHand.push(_cdkDeck.deck.shift()); - } - - orderHand(); - } - - public function orderHand():Void { - _aHand.sort(sorter); - } - - // Used by sort() in the orderHand() method to sort the cards by suit and rank. - private function sorter(crdA:Card, crdB:Card):Number { - if (crdA.suit > crdB.suit) { - return 1; - } else if (crdA.suit < crdB.suit) { - return -1; - } else { - return (Number(crdA.value) > Number(crdB.value)) ? 1 : 0; - } - } - - } - } \ No newline at end of file diff -Nuwr -x '.??*' AS3CBLibrary-orig/classes/ascb/units/Unit.as AS3CBLibrary/classes/ascb/units/Unit.as --- AS3CBLibrary-orig/classes/ascb/units/Unit.as 2006-05-15 10:42:58.000000000 -0500 +++ AS3CBLibrary/classes/ascb/units/Unit.as 2007-08-24 11:32:12.000000000 -0500 @@ -53,15 +53,15 @@ } public static function get CELCIUS():Unit { - return new Unit("celcius", "temperature", null, null, "celcius", "celcius"); + return new Unit("celcius", "temperature", null, 0, "celcius", "celcius"); } public static function get FAHRENHEIT():Unit { - return new Unit("fahrenheit", "temperature", null, null, "fahrenheit", "fahrenheit"); + return new Unit("fahrenheit", "temperature", null, 0, "fahrenheit", "fahrenheit"); } public static function get KELVIN():Unit { - return new Unit("kelvin", "temperature", null, null, "kelvin", "kelvin"); + return new Unit("kelvin", "temperature", null, 0, "kelvin", "kelvin"); } public static function get OUNCE():Unit { @@ -101,7 +101,7 @@ } public static function get FOOT():Unit { - return new Unit("foot", "distance", null, null, "foot", "feet"); + return new Unit("foot", "distance", null, 0, "foot", "feet"); } public static function get YARD():Unit { diff -Nuwr -x '.??*' AS3CBLibrary-orig/classes/ascb/util/ArrayUtilities.as AS3CBLibrary/classes/ascb/util/ArrayUtilities.as --- AS3CBLibrary-orig/classes/ascb/util/ArrayUtilities.as 2006-08-28 07:55:24.000000000 -0500 +++ AS3CBLibrary/classes/ascb/util/ArrayUtilities.as 2007-08-24 11:33:34.000000000 -0500 @@ -161,6 +161,7 @@ public static function duplicate(oArray:Object, bRecursive:Boolean = false):Object { var oDuplicate:Object; + var sItem:String; if(bRecursive) { if(oArray is Array) { oDuplicate = new Array(); @@ -175,8 +176,8 @@ return oDuplicate; } else { - var oDuplicate:Object = new Object(); - for(var sItem:String in oArray) { + oDuplicate = new Object(); + for(sItem in oArray) { if(oArray[sItem] is Object && !(oArray[sItem] is String) && !(oArray[sItem] is Boolean) && !(oArray[sItem] is Number)) { oDuplicate[sItem] = duplicate(oArray[sItem], bRecursive); } @@ -192,8 +193,8 @@ return oArray.concat(); } else { - var oDuplicate:Object = new Object(); - for(var sItem:String in oArray) { + oDuplicate = new Object(); + for(sItem in oArray) { oDuplicate[sItem] = oArray[sItem]; } return oDuplicate; diff -Nuwr -x '.??*' AS3CBLibrary-orig/classes/ascb/util/DateFormat.as AS3CBLibrary/classes/ascb/util/DateFormat.as --- AS3CBLibrary-orig/classes/ascb/util/DateFormat.as 2006-06-29 06:20:36.000000000 -0500 +++ AS3CBLibrary/classes/ascb/util/DateFormat.as 2007-08-24 11:41:11.000000000 -0500 @@ -64,6 +64,8 @@ public function format(dDate:Date):String { var aMask:Array = getMaskElements(); var aFormatted:Array = new Array(); + var nfFormatter:ascb.util.NumberFormat; + var nHours:Number; for(var i:Number = 0; i < aMask.length; i++) { switch (aMask[i].element) { case "a": @@ -92,7 +94,7 @@ aFormatted.push(ascb.util.DateFormat.MONTHS[dDate.getMonth()]); break; case "g": - var nHours:Number = dDate.getHours(); + nHours = dDate.getHours(); if(nHours == 12) { aFormatted.push(12); } @@ -107,8 +109,8 @@ aFormatted.push(dDate.getHours()); break; case "h": - var nfFormatter:ascb.util.NumberFormat = new ascb.util.NumberFormat("00"); - var nHours:Number = dDate.getHours(); + nfFormatter = new ascb.util.NumberFormat("00"); + nHours = dDate.getHours(); if(nHours == 12) { aFormatted.push(12); } @@ -120,11 +122,11 @@ } break; case "H": - var nfFormatter:ascb.util.NumberFormat = new ascb.util.NumberFormat("00"); + nfFormatter = new ascb.util.NumberFormat("00"); aFormatted.push(nfFormatter.format(dDate.getHours())); break; case "i": - var nfFormatter:ascb.util.NumberFormat = new ascb.util.NumberFormat("00"); + nfFormatter = new ascb.util.NumberFormat("00"); aFormatted.push(nfFormatter.format(dDate.getMinutes())); break; case "j": @@ -134,7 +136,7 @@ aFormatted.push(ascb.util.DateFormat.DAYS[dDate.getDay()]); break; case "m": - var nfFormatter:ascb.util.NumberFormat = new ascb.util.NumberFormat("00"); + nfFormatter = new ascb.util.NumberFormat("00"); aFormatted.push(nfFormatter.format(dDate.getMonth() + 1)); break; case "M": @@ -144,7 +146,7 @@ aFormatted.push(dDate.getMonth() + 1); break; case "s": - var nfFormatter:ascb.util.NumberFormat = new ascb.util.NumberFormat("00"); + nfFormatter = new ascb.util.NumberFormat("00"); aFormatted.push(nfFormatter.format(dDate.getSeconds())); break; case "t": @@ -175,7 +177,8 @@ var aMask:Array = getMaskElements(true); var nIndex:Number; var sDate:String; - for(var i:Number = 0; i < aMask.length; i++) { + var i:Number; + for(i = 0; i < aMask.length; i++) { nIndex = sDate.indexOf(aMask[i].element); if(aMask[i].type == "quoted") { if(nIndex != -1) { @@ -190,7 +193,9 @@ var dDate:Date = new Date(0, 0, 0, 0, 0, 0, 0); var sAMPM:String; var sElement:String; - for(var i:Number = 0; i < aMask.length; i++) { + var sMonth:String; + var j:Number; + for(i = 0; i < aMask.length; i++) { sElement = String(aElements.shift()); switch (aMask[i].element) { case "a": @@ -201,8 +206,8 @@ dDate.setDate(parseInt(sElement)); break; case "F": - var sMonth:String = aElements.shift().toLowerCase(); - for(var j:Number = 0; j < ascb.util.DateFormat.MONTHS.length; j++) { + sMonth = aElements.shift().toLowerCase(); + for(j = 0; j < ascb.util.DateFormat.MONTHS.length; j++) { if(sMonth == ascb.util.DateFormat.MONTHS[j].toLowerCase()) { dDate.setMonth(j); break; @@ -226,8 +231,8 @@ dDate.setMonth(parseInt(sElement) - 1); break; case "M": - var sMonth:String = sElement.toLowerCase(); - for(var j:Number = 0; j < ascb.util.DateFormat.MONTHS_ABBREVIATED.length; j++) { + sMonth = sElement.toLowerCase(); + for(j = 0; j < ascb.util.DateFormat.MONTHS_ABBREVIATED.length; j++) { if(ascb.util.DateFormat.MONTHS_ABBREVIATED[j].toLowerCase() == sMonth) { dDate.setMonth(j); break; diff -Nuwr -x '.??*' AS3CBLibrary-orig/classes/ascb/util/NumberFormat.as AS3CBLibrary/classes/ascb/util/NumberFormat.as --- AS3CBLibrary-orig/classes/ascb/util/NumberFormat.as 2006-02-17 16:52:20.000000000 -0600 +++ AS3CBLibrary/classes/ascb/util/NumberFormat.as 2007-08-24 11:39:46.000000000 -0500 @@ -66,13 +66,13 @@ return sPrefix + sNumber.toUpperCase(); } - var sNumber:String; var sDecimal:String = ","; var sGroup:String = "."; - + var i:Number; + var oSymbols:Object; // Check to see if the second parameter is a symbols object. if(oParameter1 != null && oParameter1.hasOwnProperty("group")) { - var oSymbols:Object = oParameter1; + oSymbols = oParameter1; } else { // If the second parameter was not the radix and not a symbols @@ -87,7 +87,7 @@ // Get the symbols for the formatting based on the locale - includes grouping, // decimal, etc. - var oSymbols:Object = getSymbols(false, lStyle); + oSymbols = getSymbols(false, lStyle); } sDecimal = oSymbols.decimal; @@ -105,7 +105,7 @@ // Loop through the characters of the first array in reverse order. // Every third number add a grouping symbol. - for(var i:Number = 0; i < aPart0.length; i++) { + for(i = 0; i < aPart0.length; i++) { if(nCounter > 3) { nCounter = 0; aPart0.splice(i, 0, sGroup); @@ -127,7 +127,7 @@ // Split the mask into arrays of characters. var aMask:Array = _sMask.split(""); - for(var i:Number = 0; i < aMask.length; i++) { + for(i = 0; i < aMask.length; i++) { if(aMask[i] != "0" && aMask[i] != "#" && aMask[i] != ".") { aMask.splice(i, 1); i--; @@ -136,7 +136,7 @@ aMask = aMask.join("").split("."); var aMask0:Array = aMask[0].split(""); var aMask1:Array = (aMask.length > 1) ? aMask[1].split("") : new Array(); - var nCounter:Number = aMask0.length; + nCounter = aMask0.length; var nPart0Index:Number = 0; var nMaskIndex:Number = 0; @@ -146,7 +146,7 @@ // then that means that several characters of the first part of the number string // need to get added to the return string before dealing with the mask. if(nCounter < aPart0.length) { - for(var i:Number = 0; i < aPart0.length - nCounter; i++) { + for(i = 0; i < aPart0.length - nCounter; i++) { sNumber += aPart0[i]; nPart0Index++; } @@ -154,7 +154,7 @@ else if(nCounter > aPart0.length) { // Otherwise, if the number of mask character is greater than the digit in the number, // Add leading zeros or spaces. - for(var i:Number = 0; i < nCounter - aPart0.length; i++) { + for(i = 0; i < nCounter - aPart0.length; i++) { if(aMask0[i] == "0") { sNumber += "0"; } @@ -168,7 +168,7 @@ var bNumeric:Boolean = false; // Loop through each of the remaining characters in the mask. - for(var i:Number = nMaskIndex; i < aMask0.length; i++) { + for(i = nMaskIndex; i < aMask0.length; i++) { // If the mask character is anything other than a # or 0, and no other // numeric character has yet been encountered, then use a space. Otherwise @@ -192,10 +192,10 @@ // Declare a variable and initialize it to false. This variable is // to keep track of whether or not a numeric value has been encountered // yet. - var bNumeric:Boolean = false; + bNumeric = false; // Loop through each element of the array of mask characters. - for(var i:Number = 0; i < aMask.length; i++) { + for(i = 0; i < aMask.length; i++) { // Check to see if the element of the mask is one of the special // mask characters. @@ -229,7 +229,7 @@ var nDigits:Number; // Loop through each element of the second mask part. - for(var i:Number = 0; i < aMask1.length; i++) { + for(i = 0; i < aMask1.length; i++) { // Check to see if the character in the second number part is // defined. @@ -288,14 +288,14 @@ // If the locale is passed to the method, use that. Otherwise, create a new, // default Locale object. var lStyle:Locale = (arguments[1] is Locale) ? arguments[1] : new Locale(); - + var oSymbols:Object; // If the symbols object is passed to the method, use that. Otherwise, retrieve // the symbols object based on the locale. if(oParameter1 != null && oParameter1.hasOwnProperty("group")) { - var oSymbols:Object = oParameter1; + oSymbols = oParameter1; } else { - var oSymbols:Object = getSymbols(true, lStyle); + oSymbols = getSymbols(true, lStyle); } var sCurrencySymbol:String = oSymbols.currency; diff -Nuwr -x '.??*' AS3CBLibrary-orig/classes/ascb/util/StringUtilities.as AS3CBLibrary/classes/ascb/util/StringUtilities.as --- AS3CBLibrary-orig/classes/ascb/util/StringUtilities.as 2006-08-29 17:46:38.000000000 -0500 +++ AS3CBLibrary/classes/ascb/util/StringUtilities.as 2007-08-24 11:33:54.000000000 -0500 @@ -6,7 +6,7 @@ private static var reverseCodeMap:Object; public static function encode( original:String ):String { - + var i:int // The codeMap property is assigned to the StringUtils class when the encode() method // is first run. Therefore, if no codeMap is yet defined, it needs to be created. if ( codeMap == null ) { @@ -17,7 +17,7 @@ // Create an array of all the code points from 0 to 255. var originalMap:Array = new Array(); - for ( var i:int = 0; i < 256 ; i++ ) { + for ( i = 0; i < 256 ; i++ ) { originalMap.push( i ); } @@ -25,7 +25,7 @@ var tempChars:Array = originalMap.concat(); // Loop through all the character code points in originalMap. - for ( var i:int = 0; i < originalMap.length; i++ ) { + for ( i = 0; i < originalMap.length; i++ ) { // Create a random number that is between 0 and the last index of tempChars. var randomIndex:int = Math.floor( Math.random() * ( tempChars.length - 1 ) ); @@ -64,7 +64,7 @@ // This allows you to do a reverse lookup based on the encoded character // rather than the original character. reverseCodeMap = new Object(); - for ( var key in codeMap ) { + for ( var key:String in codeMap ) { reverseCodeMap[ codeMap[key] ] = key; } }