Jared Weinstock-TL

Chau Nguyen

Todd Carpenter

Kyle McArdle

Nick Deimler

Tom Bergamini *NEW*
Dirty Code into Clean Code
12 May 2009 | by Jared

While scrambling around this morning trying to get walk cycles to work, I wrote some quick and dirty code in about 20 minutes.  I just had a chance to fix the code to make it as efficient as possible.  Witness the before and after by clicking “read more” below.  I finished the walk cycles by the way and I will be posting up the example as soon as I’m done cleaning up the code.

Dirty, dirty code:

if(_totalPlayers == 2)
{
if(_playerID == 1)
{
redGrid.locateCurrentPlane(_server.transformerObjectRed.x, _server.transformerObjectRed.y);
buddyArray[1].mesh.x = _server.transformerObjectRed.x; buddyArray[1].mesh.y = _server.transformerObjectRed.y; buddyArray[1].mesh.rotationZ = _server.transformerObjectRed.rotationZ;
trace(”red guys rotation Z: ” + buddyArray[1].mesh.rotationZ);
walkOtherPlayers(buddyArray[1].mesh, _server.transformerObjectRed.walking);
}
else if(_playerID == 2)
{
blueGrid.locateCurrentPlane(_server.transformerObjectBlue.x, _server.transformerObjectBlue.y);
buddyArray[0].mesh.x = _server.transformerObjectBlue.x; buddyArray[0].mesh.y = _server.transformerObjectBlue.y; buddyArray[0].mesh.rotationZ = _server.transformerObjectBlue.rotationZ;
trace(”Blue guys rotation Z: ” + buddyArray[0].mesh.rotationZ);
walkOtherPlayers(buddyArray[0].mesh, _server.transformerObjectBlue.walking);
}
}
else if(_totalPlayers == 3)
{
if(_playerID == 1)
{
redGrid.locateCurrentPlane(_server.transformerObjectRed.x, _server.transformerObjectRed.y);
buddyArray[1].mesh.x = _server.transformerObjectRed.x; buddyArray[1].mesh.y = _server.transformerObjectRed.y; buddyArray[1].mesh.rotationZ = _server.transformerObjectRed.rotationZ;
trace(”red guys rotation Z: ” + buddyArray[1].mesh.rotationZ);
walkOtherPlayers(buddyArray[1].mesh, _server.transformerObjectRed.walking);
//
yellowGrid.locateCurrentPlane(_server.transformerObjectYellow.x, _server.transformerObjectYellow.y);
buddyArray[2].mesh.x = _server.transformerObjectYellow.x; buddyArray[2].mesh.y = _server.transformerObjectYellow.y; buddyArray[2].mesh.rotationZ = _server.transformerObjectYellow.rotationZ;
trace(”yellow guys rotation Z: ” + buddyArray[2].mesh.rotationZ);
trace(”walk yellow guy: ” + _server.transformerObjectYellow.walking);
walkOtherPlayers(buddyArray[2].mesh, _server.transformerObjectYellow.walking);
}
else if(_playerID == 2)
{
blueGrid.locateCurrentPlane(_server.transformerObjectBlue.x, _server.transformerObjectBlue.y);
buddyArray[0].mesh.x = _server.transformerObjectBlue.x; buddyArray[0].mesh.y = _server.transformerObjectBlue.y; buddyArray[0].mesh.rotationZ = _server.transformerObjectBlue.rotationZ;
trace(”blue guys rotation Z: ” + buddyArray[0].mesh.rotationZ);
walkOtherPlayers(buddyArray[0].mesh, _server.transformerObjectBlue.walking);
//
yellowGrid.locateCurrentPlane(_server.transformerObjectYellow.x, _server.transformerObjectYellow.y);
buddyArray[2].mesh.x = _server.transformerObjectYellow.x; buddyArray[2].mesh.y = _server.transformerObjectYellow.y; buddyArray[2].mesh.rotationZ = _server.transformerObjectYellow.rotationZ;
trace(”yellow guys rotation Z: ” + buddyArray[2].mesh.rotationZ);
walkOtherPlayers(buddyArray[2].mesh, _server.transformerObjectYellow.walking);
}
else if(_playerID == 3)
{
blueGrid.locateCurrentPlane(_server.transformerObjectBlue.x, _server.transformerObjectBlue.y);
buddyArray[0].mesh.x = _server.transformerObjectBlue.x; buddyArray[0].mesh.y = _server.transformerObjectBlue.y; buddyArray[0].mesh.rotationZ = _server.transformerObjectBlue.rotationZ;
trace(”blue guys rotation Z: ” + buddyArray[0].mesh.rotationZ);
walkOtherPlayers(buddyArray[0].mesh, _server.transformerObjectBlue.walking);
//
redGrid.locateCurrentPlane(_server.transformerObjectRed.x, _server.transformerObjectRed.y);
buddyArray[1].mesh.x = _server.transformerObjectRed.x; buddyArray[1].mesh.y = _server.transformerObjectRed.y; buddyArray[1].mesh.rotationZ = _server.transformerObjectRed.rotationZ;
trace(”red guys rotation Z: ” + buddyArray[1].mesh.rotationZ);
walkOtherPlayers(buddyArray[1].mesh, _server.transformerObjectRed.walking);
}
}
else if(_totalPlayers == 4)
{
if(_playerID == 1)
{
redGrid.locateCurrentPlane(_server.transformerObjectRed.x, _server.transformerObjectRed.y);
buddyArray[1].mesh.x = _server.transformerObjectRed.x; buddyArray[1].mesh.y = _server.transformerObjectRed.y; buddyArray[1].mesh.rotationZ = _server.transformerObjectRed.rotationZ;
trace(”red guys rotation Z: ” + buddyArray[1].mesh.rotationZ);
walkOtherPlayers(buddyArray[1].mesh, _server.transformerObjectRed.walking);
//
yellowGrid.locateCurrentPlane(_server.transformerObjectYellow.x, _server.transformerObjectYellow.y);
buddyArray[2].mesh.x = _server.transformerObjectYellow.x; buddyArray[2].mesh.y = _server.transformerObjectYellow.y; buddyArray[2].mesh.rotationZ = _server.transformerObjectYellow.rotationZ;
trace(”yellow guys rotation Z: ” + buddyArray[2].mesh.rotationZ);
walkOtherPlayers(buddyArray[2].mesh, _server.transformerObjectYellow.walking);
//
greenGrid.locateCurrentPlane(_server.transformerObjectGreen.x, _server.transformerObjectGreen.y);
buddyArray[3].mesh.x = _server.transformerObjectGreen.x; buddyArray[3].mesh.y = _server.transformerObjectGreen.y; buddyArray[3].mesh.rotationZ = _server.transformerObjectGreen.rotationZ;
trace(”green guys rotation Z: ” + buddyArray[3].mesh.rotationZ);
walkOtherPlayers(buddyArray[3].mesh, _server.transformerObjectGreen.walking);
}
else if(_playerID == 2)
{
blueGrid.locateCurrentPlane(_server.transformerObjectBlue.x, _server.transformerObjectBlue.y);
buddyArray[0].mesh.x = _server.transformerObjectBlue.x; buddyArray[0].mesh.y = _server.transformerObjectBlue.y; buddyArray[0].mesh.rotationZ = _server.transformerObjectBlue.rotationZ;
trace(”blue guys rotation Z: ” + buddyArray[0].mesh.rotationZ);
walkOtherPlayers(buddyArray[0].mesh, _server.transformerObjectBlue.walking);
//
yellowGrid.locateCurrentPlane(_server.transformerObjectYellow.x, _server.transformerObjectYellow.y);
buddyArray[2].mesh.x = _server.transformerObjectYellow.x; buddyArray[2].mesh.y = _server.transformerObjectYellow.y; buddyArray[2].mesh.rotationZ = _server.transformerObjectYellow.rotationZ;
trace(”yellow guys rotation Z: ” + buddyArray[2].mesh.rotationZ);
walkOtherPlayers(buddyArray[2].mesh, _server.transformerObjectYellow.walking);
//
greenGrid.locateCurrentPlane(_server.transformerObjectGreen.x, _server.transformerObjectGreen.y);
buddyArray[3].mesh.x = _server.transformerObjectGreen.x; buddyArray[3].mesh.y = _server.transformerObjectGreen.y; buddyArray[3].mesh.rotationZ = _server.transformerObjectGreen.rotationZ;
trace(”green guys rotation Z: ” + buddyArray[3].mesh.rotationZ);
walkOtherPlayers(buddyArray[3].mesh, _server.transformerObjectGreen.walking);
}
else if(_playerID == 3)
{
blueGrid.locateCurrentPlane(_server.transformerObjectBlue.x, _server.transformerObjectBlue.y);
buddyArray[0].mesh.x = _server.transformerObjectBlue.x; buddyArray[0].mesh.y = _server.transformerObjectBlue.y; buddyArray[0].mesh.rotationZ = _server.transformerObjectBlue.rotationZ;
trace(”blue guys rotation Z: ” + buddyArray[0].mesh.rotationZ);
walkOtherPlayers(buddyArray[0].mesh, _server.transformerObjectBlue.walking);
//
redGrid.locateCurrentPlane(_server.transformerObjectRed.x, _server.transformerObjectRed.y);
buddyArray[1].mesh.x = _server.transformerObjectRed.x; buddyArray[1].mesh.y = _server.transformerObjectRed.y; buddyArray[1].mesh.rotationZ = _server.transformerObjectRed.rotationZ;
trace(”red guys rotation Z: ” + buddyArray[1].mesh.rotationZ);
walkOtherPlayers(buddyArray[1].mesh, _server.transformerObjectRed.walking);
//
greenGrid.locateCurrentPlane(_server.transformerObjectGreen.x, _server.transformerObjectGreen.y);
buddyArray[3].mesh.x = _server.transformerObjectGreen.x; buddyArray[3].mesh.y = _server.transformerObjectGreen.y; buddyArray[3].mesh.rotationZ = _server.transformerObjectGreen.rotationZ;
trace(”green guys rotation Z: ” + buddyArray[3].mesh.rotationZ);
walkOtherPlayers(buddyArray[3].mesh, _server.transformerObjectGreen.walking);
}
else if(_playerID == 4)
{
blueGrid.locateCurrentPlane(_server.transformerObjectBlue.x, _server.transformerObjectBlue.y);
buddyArray[0].mesh.x = _server.transformerObjectBlue.x; buddyArray[0].mesh.y = _server.transformerObjectBlue.y; buddyArray[0].mesh.rotationZ = _server.transformerObjectBlue.rotationZ;
trace(”blue guys rotation Z: ” + buddyArray[0].mesh.rotationZ);
walkOtherPlayers(buddyArray[0].mesh, _server.transformerObjectBlue.walking);
//
redGrid.locateCurrentPlane(_server.transformerObjectRed.x, _server.transformerObjectRed.y);
buddyArray[1].mesh.x = _server.transformerObjectRed.x; buddyArray[1].mesh.y = _server.transformerObjectRed.y; buddyArray[1].mesh.rotationZ = _server.transformerObjectRed.rotationZ;
trace(”red guys rotation Z: ” + buddyArray[1].mesh.rotationZ);
walkOtherPlayers(buddyArray[1].mesh, _server.transformerObjectRed.walking);
//
yellowGrid.locateCurrentPlane(_server.transformerObjectYellow.x, _server.transformerObjectYellow.y);
buddyArray[2].mesh.x = _server.transformerObjectYellow.x; buddyArray[2].mesh.y = _server.transformerObjectYellow.y; buddyArray[2].mesh.rotationZ = _server.transformerObjectYellow.rotationZ;
trace(”yellow guys rotation Z: ” + buddyArray[2].mesh.rotationZ);
walkOtherPlayers(buddyArray[2].mesh, _server.transformerObjectYellow.walking);
}
}

——————————————————————-

Clean Code:

private function applyTransform(id:int, transformObj:Object, grid:Grid):void
{

grid.locateCurrentPlane(transformObj.x, transformObj.y);

buddyArray[id].mesh.x = transformObj.x;
buddyArray[id].mesh.y = transformObj.y;
buddyArray[id].mesh.rotationZ = transformObj.rotationZ;

walkOtherPlayers(buddyArray[id].mesh, transformObj.walking);

}

private function moveOtherPlayers():void
{

if(_server.transformerObjectBlue != null && _playerID != 1){
applyTransform(0, _server.transformerObjectBlue, blueGrid);
}
if(_server.transformerObjectRed  != null && _playerID != 2){
applyTransform(1, _server.transformerObjectRed, redGrid);
}
if(_server.transformerObjectYellow  != null && _playerID != 3){
applyTransform(2, _server.transformerObjectYellow, yellowGrid);
}
if(_server.transformerObjectGreen  != null && _playerID != 4){
applyTransform(3, _server.transformerObjectGreen, greenGrid);
}
}

—————————————

and this is why I love AS3



No Comments Yet

There are no comments yet. You could be the first!

Leave a Comment

Copyright © 2009 | The Fourmation | All Rights Reserved.