forked from: 意味が分からないw マップみたいな
/**
* Copyright bradsedito ( http://wonderfl.net/user/bradsedito )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/3VUe
*/
// forked from coppieee's 意味が分からないw マップみたいな
// forked from nitoyon's 意味が分からないw AS3
// forked from 9re's forked from: 意味が分からないw
// forked from paq's 意味が分からないw
package {
import flash.display.Sprite;
import flash.utils.setInterval;
public class FlashTest extends Sprite {
public function FlashTest( ) {
init(10, 10, 4)
(右)(R )(右)(右)(右)(R )(右)(右)(右)(R )(下)(ENTER)
(U )(左)(左)(左)(L )(左)(左)(左)(L )(左)(左)(ENTER)
( )( )( )( )( )( )( )( )( )( )( )(ENTER)
( )( )( )( )( )( )( )( )( )( )( )(ENTER)
( )( )( )( )( )( )( )( )( )( )( )(ENTER)
( )( )( )( )( )( )( )( )( )( )( )(ENTER)
( )(右)(右)(右)(右)( R)(右)(下)( )( )( )(ENTER)
( )(上)( )( )( )( )( )(下)( )( )( )(ENTER)
( )(上)( )( )( )( )( )(D )( )( )( )(ENTER)
( )(上)( )( )( )( )( )(下)( )( )( )(ENTER)
( )(上)( )( )(下)(左)(左)(左)( )( )( )(ENTER)
( )(上)( )( )(下)( )( )( )( )( )( )(ENTER)
( )(上)( )( )(下)( )( )( )( )( )( )(ENTER)
( )(上)( )( )(下)( )( )( )( )( )( )(ENTER)
( )(上)(左)(左)(L )( )(R )(右)(右)(右)(下)(ENTER)
( )( )( )( )( )( )(上)( )( )( )(下)(ENTER)
( )( )( )( )( )( )(上)( )( )( )(下)(ENTER)
( )( )( )( )( )( )(上)( )( )( )(下)(ENTER)
( )( )( )( )( )( )(上)( )( )( )(下)(ENTER)
( )( )( )( )( )( )(上)( )( )( )(下)(ENTER)
( )( )( )( )( )( )(上)(左)(左)(L )(左)(ENTER)
( )( )( )( )( )( )( )( )( )( )( )(ENTER)
( )( )( )( )( )( )( )( )( )( )( )(ENTER)
( )( )( )( )( )( )( )( )( )( )( )(ENTER)
( )( )( )( )( )( )( )( )( )( )( )(ENTER)
( )( )( )( )( )( )( )( )( )( )( )(ENTER)
( )( )( )( )( )( )( )( )( )( )( )(ENTER)
( )( )( )( )( )( )( )( )( )( )( )(ENTER)
( )( )( )( )( )( )( )( )( )( )( )(ENTER)
( )( )( )( )( )( )( )( )( )( )( )(ENTER)
( )( )( )( )( )( )( )( )( )( )( )
}
private const 右:uint = 1;
private const 左:uint = 2;
private const 上:uint = 4;
private const 下:uint = 8;
private const 石:uint = 0x10;
private const R:uint = 石 | 右;
private const L:uint = 石 | 左;
private const U:uint = 石 | 上;
private const D:uint = 石 | 下;
private const ENTER:uint = 0x20;
private function init($width:int, $height:int, $margin:int):Function {
var xs:Array = [[]];
var row:int = 0;
var column:int = 0;
function draw(r:int, c:int, color:uint=0xcccccc):void {
graphics.beginFill(color);
graphics.drawRect(c * ($width + $margin), r * ($width + $margin), $width, $height);
graphics.endFill();
}
return function(x:uint = 0):Function {
if ((x & ENTER) != 0) {
row ++;
column = 0;
xs.push([]);
return arguments.callee;
}
xs[row][column] = x;
if ((x & 石) != 0) {
(function():void {
var ro:uint = row;
var co:uint = column;
setInterval(function():void {
var current:uint = xs[ro][co];
draw(ro, co);
if ((current & 右) != 0) {
co++;
}else if ((current & 左)!=0) {
co--;
}else if ((current & 上) != 0) {
ro --;
}else if ((current & 下) != 0) {
ro++;
}
draw(ro, co, 0xff);
}, 300); } )();
draw(row, column, 0xff);
}else {
draw(row, column);
}
column++;
return arguments.callee;
}
}
}
}