Advertisement
Guest User

Untitled

a guest
Oct 25th, 2012
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!--- Static Variables --->
  2. <cfset variables.lstAlphabet        = "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
  3. <cfset variables.intNumLoops        = 500>
  4. <cfset variables.Shakespeare        = "All your base are belong to me">
  5.  
  6. <cffunction name="generateRandomLetter" access="public" returntype="string" output="false">
  7.     <cfset var strLowerCaseAlpha = "abcdefghijklmnopqrstuvwxyz">
  8.     <cfreturn Mid(strLowerCaseAlpha,RandRange( 1, Len( strLowerCaseAlpha ) ),1)>
  9. </cffunction>
  10.  
  11. <cfscript>
  12.     variables.intCount              = 0;
  13.     variables.strSubString          = "";
  14.     variables.strShakespeare        = lcase(variables.Shakespeare.replaceAll("[^a-zA-Z]", "")); //Shakespeare without spaces etc
  15.     variables.strMonkeyString       = "";
  16.     variables.strBestSoFar          = "";
  17.    
  18.     while (variables.intCount LT variables.intNumLoops) {
  19.         variables.intCount++;
  20.        
  21.         //generate the random guess, one keystroke at a time
  22.         variables.strMonkeyString   = variables.strMonkeyString & generateRandomLetter();
  23.        
  24.         variables.strSubString      = left(variables.strShakespeare,len(variables.strMonkeyString));
  25.        
  26.         //check if we have a match
  27.         if(variables.strMonkeyString EQ variables.strSubString){
  28.             if(len(variables.strSubString) GT len(variables.strBestSoFar)){
  29.                 variables.strBestSoFar  =   variables.strSubString;
  30.             }
  31.         }else{
  32.             variables.strMonkeyString   = "";
  33.         }
  34.     }
  35.    
  36.     writeoutput(variables.intCount);
  37.     writeoutput("<br />");
  38.     writeoutput(variables.strBestSoFar);
  39. </cfscript>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement