@font-face { src: url("assets/narpassword00000.fixed.width.[fontvir.us].ttf"); fontFamily: narpassword00000fixedwidth; fontWeight: normal; } @font-face { src: url("assets/narpassword00000.[fontvir.us].ttf"); fontFamily: narpassword00000regular; fontWeight: normal; } .NARPASSWORD { fontFamily: narpassword00000fixedwidth; fontSize: 27; } .NARTITLE { fontFamily: narpassword00000fixedwidth; color: #4cdc48; fontSize: 16; } .NARSMALL { fontFamily: narpassword00000regular; color: #3cbcfc; fontSize: 12; } CheckBox { fillColors: #cccccc, #666666, #cccccc, #999999; borderColor: #ffffff; color: #ffffff; textSelectedColor: #ffffff; textRollOverColor: #ffffff; themeColor: #999999; } VScrollBar { cornerRadius: 0; fillAlphas: 0.6, 0.4, 0.75, 0.65; fillColors: #333333, #666666, #333333, #cccccc; trackColors: #333333, #666666; themeColor: #4cdc48; borderColor: #000000; } NumericStepper { borderStyle: solid; cornerRadius: 0; fillColors: #333333, #666666, #333333, #cccccc; backgroundColor: #cccccc; themeColor: #4cdc48; fontFamily: Courier; } = 0; j--) { bool[6 * i + j] = now % 2 == 1; now = Math.floor(now * .5); } } for(i = 16; i < 18; i++) { num[i] = 0; for(j = 0; j < 8; j++) { if(bool[8 * i +j]) { num[i] = num[i] + Math.pow(2, 7 - j); } } } now = num[16] % 128; bool = bool.slice(now, 128).concat(bool.slice(0, now)); for(i = 0; i < 16; i++) { for(j = 0; j < 8; j++) { gamedata[i][j] = bool[8 * i + 7 - j]; } } } //____________________________________________________________ // encoder private function encode():Array { num[17] = num[16]; for(i = 0; i < 16; i++) { for(j = 0; j < 8; j++) { if(gamedata[i][j]) { num[17] = num[17] + Math.pow(2, j); } } } num[17] = num[17] % 256; theOptions.num17.value = num[17]; for(i = 0; i < 16; i++) { for(j = 0; j < 8; j++) { bool[8 * i + 7 - j] = gamedata[i][j]; } } now = num[16] % 128; bool = bool.slice(128 - now, 128).concat(bool.slice(0, 128 - now)); for(i = 16; i < 18; i++) { now = num[i]; for(j = 7; j >= 0; j--) { bool[8 * i + j] = now % 2 == 1; now = Math.floor(now * .5); } } var newpass:Array = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); for(i = 0; i < 24; i++) { for(j = 0; j < 6; j++) { if(bool[6 * i + j]) { newpass[i] = newpass[i] + Math.pow(2, 5 - j); } } } return newpass; } //____________________________________________________________ // sync form private function process():void { value = 0; for(i = 0; i < 16; i++) { if(i == 10) { i = 14; } for(j = 0; j < 8; j++) { if(i == 8 && j < 4) { j = 4; } setup = (gamedata[i][j]==0)?(false):(true); this.theOptions["chk" + j + i]["selected"] = setup; } } for(i = 8; i < 14; i++){ if(i == 9) { i = 10; } num[i] = 0; for(j = 0; j < 8; j++) { if(gamedata[i][j]) { num[i] = num[i] + Math.pow(2, j); } if(i == 8 && j > 2) { j = 8; } } } theOptions.num8.value = num[8]; theOptions.num10.value = num[10]; theOptions.num11.value = num[11] + 256 * num[12] + 65536 * num[13]; theOptions.num16.value = num[16]; } //____________________________________________________________ // unsync form private function unprocess():void { for(i = 0; i < 16; i++) { if(i == 10) { i = 14; } for(j = 0; j < 8; j++) { if(i == 8 && j < 4) { j = 4; } //value = (this.theOptions["chk" + i + j]["selected"]==true)?(1):(0); gamedata[i][j] = this.theOptions["chk" + j + i]["selected"]; } } value = theOptions.num8.value; for(i = 8; i < 14; i++) { if(i == 9) { i = 10; value = theOptions.num10.value; } if(i == 11) { value = theOptions.num11.value; } for(j = 0; j < 8; j++) { gamedata[i][j] = value % 2 == 1; value = Math.floor(value * .5); if(i == 8 && j > 2) { j = 8; } } } num[16] = theOptions.num16.value; } //____________________________________________________________ // random code private function randomPass():void { for(i = 0; i < 16; i++) { if(i == 10) { i = 14; } for(j = 0; j < 8; j++) { if(i == 8 && j < 4) { j = 4; } setup = (randomizer(0, 1)==1)?(true):(false); this.theOptions["chk" + j + i]["selected"] = setup; } } theOptions.num8.value = randomizer(0, 5); ////// THIS IS 5 or 15??? TEST!!! theOptions.num10.value = randomizer(0, 256); theOptions.num11.value = randomizer(0, 16777216); theOptions.num16.value = randomizer(0, 256); } //____________________________________________________________ // make random code public function makeRandomPass():void { randomPass(); unprocess(); thePassword.setPass(encode()); process(); } //____________________________________________________________ // generate code public function generate():void { unprocess(); thePassword.setPass(encode()); process(); } //____________________________________________________________ // mouse handeler private function focusCode(e:MouseEvent):void { thePassword.getCodeFocus(); } //____________________________________________________________ // key handeler private function keyPress(e:KeyboardEvent):void { if(thePassword.hasFocus){ switch(e.keyCode){ case 37: thePassword.moveLeft(); break; case 39: thePassword.moveRight(); break; } } } //____________________________________________________________ // randomizer private function randomizer (low:Number, high:Number):Number { return Math.floor(low + (Math.random() * (high-low))); } ]]>