/bin-release/srcview/source/com/terabyte/as3mazesolver/view/Avatar.as.html
https://github.com/davidcoleman007/AS3MazeSolver · HTML · 322 lines · 291 code · 30 blank · 1 comment · 0 complexity · 73ea739d62afa24fb0aca8b4e7e5f4cf MD5 · raw file
- <!-- saved from url=(0014)about:internet -->
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <title>Avatar.as</title>
- <link rel="stylesheet" type="text/css" href="../../../../../SourceStyles.css"/>
- </head>
- <body><pre><span class="ActionScriptpackage">package</span> <span class="ActionScriptDefault_Text">com</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">terabyte</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">as3mazesolver</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">view</span>
- <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">assets</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Assets</span>;
-
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">away3d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">core</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Vector3DUtils</span>;
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">away3d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">core</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">utils</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Cast</span>;
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">away3d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">materials</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">BitmapMaterial</span>;
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">away3d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">primitives</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Sphere</span>;
-
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">com</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">terabyte</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">as3mazesolver</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Utils</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">CellUtils</span>;
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">com</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">terabyte</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">as3mazesolver</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Utils</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Direction</span>;
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">com</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">terabyte</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">as3mazesolver</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">events</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">AvatarEvent</span>;
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">com</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">terabyte</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">as3mazesolver</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">model</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Cell</span>;
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">com</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">terabyte</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">as3mazesolver</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">model</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Model</span>;
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">com</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">terabyte</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">as3mazesolver</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">model</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Paths</span>;
-
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">events</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">EventDispatcher</span>;
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">events</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">IEventDispatcher</span>;
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">geom</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Vector3D</span>;
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">utils</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setTimeout</span>;
-
- <span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptMetadata">Event</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"moveDone"</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">type</span><span class="ActionScriptOperator">=</span><span class="ActionScriptString">"com.terabyte.as3mazesolver.events.AvatarEvent"</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">]</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptclass">class</span> <span class="ActionScriptDefault_Text">Avatar</span> <span class="ActionScriptReserved">extends</span> <span class="ActionScriptDefault_Text">EventDispatcher</span>
- <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">app</span>:<span class="ActionScriptDefault_Text">AS3MazeSolver</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">AS3MazeSolver</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">app</span>;
-
- <span class="ActionScriptComment">//material objects
- </span> <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_material</span>:<span class="ActionScriptDefault_Text">BitmapMaterial</span>;
- <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_avatar</span>:<span class="ActionScriptDefault_Text">Sphere</span>;
-
- <span class="ActionScriptReserved">private</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">instance</span>:<span class="ActionScriptDefault_Text">Avatar</span>;
-
- <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_numStepsRemaining</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptOperator">=</span> -1;
- <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_numCellsMoved</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptOperator">=</span> -1;
-
- <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_row</span>:<span class="ActionScriptDefault_Text">int</span>;
- <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_col</span>:<span class="ActionScriptDefault_Text">int</span>;
-
- <span class="ActionScriptASDoc">/**
- *
- * @param target
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">Avatar</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">target</span>:<span class="ActionScriptDefault_Text">IEventDispatcher</span><span class="ActionScriptOperator">=</span><span class="ActionScriptReserved">null</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">super</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">target</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">init</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptASDoc">/**
- *
- * @return
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">getInstance</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Avatar</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptOperator">!</span><span class="ActionScriptDefault_Text">instance</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">instance</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Avatar</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">instance</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptASDoc">/**
- *
- *
- */</span>
- <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">init</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">_material</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">BitmapMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">Cast</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">bitmap</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">Assets</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">AvatarMaterial</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">_avatar</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Sphere</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">radius</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">Maze</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getInstance</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">cellWidth</span><span class="ActionScriptOperator">*</span>0.90<span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">/</span>2;
- <span class="ActionScriptDefault_Text">y</span> <span class="ActionScriptOperator">=</span> 40;
- <span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_material</span>;
- <span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">rotationY</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Direction</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">WEST</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptASDoc">/**
- *
- * @return
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">model3D</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Sphere</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">_avatar</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptASDoc">/**
- *
- * @param val
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">x</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">val</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">val</span>;
- <span class="ActionScriptDefault_Text">updateCameraCenter</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptASDoc">/**
- *
- * @param val
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">y</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">val</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">val</span>;
- <span class="ActionScriptDefault_Text">updateCameraCenter</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptASDoc">/**
- *
- * @param val
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">z</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">val</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">z</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">val</span>;
- <span class="ActionScriptDefault_Text">updateCameraCenter</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptASDoc">/**
- * sets the current direction of the avatar
- * @param val:uint
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">direction</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">val</span>:<span class="ActionScriptDefault_Text">int</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">rotationY</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">val</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptASDoc">/**
- * gets the current direction of the avatar
- * @return direction:uint
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">direction</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">rotationY</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptASDoc">/**
- * updates the camera to point at the current position of the avatar
- *
- */</span>
- <span class="ActionScriptReserved">private</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">updateCameraCenter</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">avatarVector</span>:<span class="ActionScriptDefault_Text">Vector3D</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Vector3D</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">z</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">Engine</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getInstance</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">camera</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">pivotPoint</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">avatarVector</span>;
- <span class="ActionScriptDefault_Text">Engine</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getInstance</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">camera</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">lookAt</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">avatarVector</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptASDoc">/**
- * initiates a move of the avatar forward numCells cells
- * @param numCells
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">moveForward</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">numCells</span>:<span class="ActionScriptDefault_Text">int</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"moving forward "</span><span class="ActionScriptOperator">+</span><span class="ActionScriptDefault_Text">numCells</span><span class="ActionScriptOperator">+</span><span class="ActionScriptString">" cell(s)"</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">_numStepsRemaining</span> <span class="ActionScriptOperator">=</span> 5 <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">numCells</span>;
- <span class="ActionScriptDefault_Text">_numCellsMoved</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">numCells</span>;
- <span class="ActionScriptDefault_Text">setTimeout</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_moveForward</span><span class="ActionScriptOperator">,</span> 10<span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptASDoc">/**
- * incremental move function
- *
- */</span>
- <span class="ActionScriptReserved">private</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">_moveForward</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">step</span>:<span class="ActionScriptDefault_Text">Number</span>;
- <span class="ActionScriptDefault_Text">step</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Maze</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getInstance</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">cellWidth</span> <span class="ActionScriptOperator">/</span> 5;
- <span class="ActionScriptReserved">switch</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">direction</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">Direction</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">NORTH</span>: <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">x</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">step</span>;
- <span class="ActionScriptReserved">break</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">Direction</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">SOUTH</span>: <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">x</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">step</span>;
- <span class="ActionScriptReserved">break</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">Direction</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">EAST</span>: <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">z</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">z</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">step</span>;
- <span class="ActionScriptReserved">break</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">Direction</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">WEST</span>: <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">z</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">z</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">step</span>;
- <span class="ActionScriptReserved">break</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptDefault_Text">_numStepsRemaining</span><span class="ActionScriptOperator">--</span>;
- <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_numStepsRemaining</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">setTimeout</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_moveForward</span><span class="ActionScriptOperator">,</span> 50<span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptBracket/Brace">}</span> <span class="ActionScriptReserved">else</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">_numStepsRemaining</span> <span class="ActionScriptOperator">=</span> -1;
- <span class="ActionScriptReserved">switch</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">direction</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">Direction</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">NORTH</span>: <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">col</span> <span class="ActionScriptOperator">-=</span> <span class="ActionScriptDefault_Text">_numCellsMoved</span>;
- <span class="ActionScriptReserved">break</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">Direction</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">SOUTH</span>: <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">col</span> <span class="ActionScriptOperator">+=</span> <span class="ActionScriptDefault_Text">_numCellsMoved</span>;
- <span class="ActionScriptReserved">break</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">Direction</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">EAST</span>: <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">row</span> <span class="ActionScriptOperator">-=</span> <span class="ActionScriptDefault_Text">_numCellsMoved</span>;
- <span class="ActionScriptReserved">break</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">Direction</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">WEST</span>: <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">row</span> <span class="ActionScriptOperator">+=</span> <span class="ActionScriptDefault_Text">_numCellsMoved</span>;
- <span class="ActionScriptReserved">break</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptDefault_Text">_numCellsMoved</span> <span class="ActionScriptOperator">=</span> 0;
- <span class="ActionScriptDefault_Text">getCurrentCell</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">timesVisited</span><span class="ActionScriptOperator">++</span>;
- <span class="ActionScriptDefault_Text">dispatchEvent</span><span class="ActionScriptBracket/Brace">(</span>
- <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">AvatarEvent</span><span class="ActionScriptBracket/Brace">(</span>
- <span class="ActionScriptDefault_Text">AvatarEvent</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">MOVE_DONE</span>
- <span class="ActionScriptBracket/Brace">)</span>
- <span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptASDoc">/**
- * places the avatar in a specific cell
- * @param target
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">jumpTo</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">target</span>:<span class="ActionScriptDefault_Text">Cell</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">row</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span>;
- <span class="ActionScriptDefault_Text">col</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span>;
- <span class="ActionScriptDefault_Text">getCurrentCell</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">timesVisited</span><span class="ActionScriptOperator">++</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptASDoc">/**
- * gets the current row of the avatar
- * @return int
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">row</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">_row</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptASDoc">/**
- * sets the current row of the avatar
- * @param value:int
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">row</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">value</span>:<span class="ActionScriptDefault_Text">int</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">z</span> <span class="ActionScriptOperator">=</span> 500 <span class="ActionScriptOperator">-</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">-</span>1<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">Maze</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getInstance</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">cellWidth</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">_row</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">value</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptASDoc">/**
- * returns the current column of the avatar
- * @return column:int
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">col</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">_col</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptASDoc">/**
- * sets the current column of the avatar
- * @param value:int
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">col</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">value</span>:<span class="ActionScriptDefault_Text">int</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">x</span> <span class="ActionScriptOperator">=</span> -500 <span class="ActionScriptOperator">+</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">-</span> 1<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">Maze</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getInstance</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">cellWidth</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">_col</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">value</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptASDoc">/**
- * returns the cell of the avatar's current position
- * @return cell:Cell
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">getCurrentCell</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Cell</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">return</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">CellUtils</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">cellAt</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">row</span><span class="ActionScriptOperator">,</span><span class="ActionScriptDefault_Text">col</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptReserved">as</span> <span class="ActionScriptDefault_Text">Cell</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptASDoc">/**
- * Turns the avatar to face the cell passed
- * @param cell:Cell
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">faceTowards</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">cell</span>:<span class="ActionScriptDefault_Text">Cell</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">rotationY</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">cell</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">orientationRelativeTo</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">getCurrentCell</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"facing in direction "</span><span class="ActionScriptOperator">+</span><span class="ActionScriptDefault_Text">_avatar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">rotationY</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptASDoc">/**
- * returns the cell that follows the Right-Hand-Rule in relation to the current cell
- * @return destination:Cell
- *
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">rightHandPath</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Cell</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">paths</span>:<span class="ActionScriptDefault_Text">Paths</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">getCurrentCell</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getPaths</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">path</span>:<span class="ActionScriptDefault_Text">Cell</span>;
- <span class="ActionScriptReserved">switch</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">direction</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">Direction</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">NORTH</span>: <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">paths</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">east</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">path</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">paths</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">east</span>;
- <span class="ActionScriptReserved">break</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">paths</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">north</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">path</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">paths</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">north</span>;
- <span class="ActionScriptReserved">break</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">paths</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">west</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">path</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">paths</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">west</span>;
- <span class="ActionScriptReserved">break</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">paths</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">south</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">path</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">paths</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">south</span>;
- <span class="ActionScriptReserved">break</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptReserved">break</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">Direction</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">EAST</span>: <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">paths</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">south</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">path</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">paths</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">south</span>;
- <span class="ActionScriptReserved">break</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">paths</span><span class="ActionScriptOperator">.</span><