Error in code

Hey,

I’m currently working on a sliding puzzle game. I wrote a code where the block is only supposed to move if it’s current spot in array -1, +1, -5, +5 is null.
If its not its should trace “end” But now I set the array so that every block around it isn’t null. And still when I click the block it moves AND traces “end”. There’s something I’m doing wrong but can’t seem to figure out what.

var wall:Number;
var conditionMet:Boolean = false;
var blockList:Array = new Array
	(wall,wall,wall,wall,wall,
	 	wall,
	 	null,mcBlock0,mcBlock1,
		wall,wall,
		wall,wall,wall,
		wall,wall,
		null,null,null,
	 wall,wall,wall,wall,wall,wall);

mcBlock0.addEventListener(MouseEvent.CLICK, movement);
mcBlock1.addEventListener(MouseEvent.CLICK, movement);

function movement(event:MouseEvent):void
{
	
	for(var blockNumber:uint = 0; blockNumber < blockList.length;blockNumber++)
	{
		if(blockNumber == 0 && blockList[blockNumber - 1] == null)
		{
			event.currentTarget.x -= 100;
			conditionMet = true;
		}
		else if(blockNumber == 0 && blockList[blockNumber + 1] == null)
		{
			event.currentTarget.x += 100;
			conditionMet = true;
		}
		else if(blockNumber == 0 && blockList[blockNumber - 5] == null)
		{
			event.currentTarget.y -= 100;
			conditionMet = true;
		}
		else if(blockNumber == 0 && blockList[blockNumber + 5] == null)
		{
			event.currentTarget.y += 100;
			conditionMet = true;
		}
		else if(blockNumber != 0 && blockList[blockNumber -1] != null)
		{
			conditionMet = false;
			trace ("end");
		}
		else if(blockNumber != 0 && blockList[blockNumber +1] != null)
		{
			conditionMet = false;
			trace ("end");
		}
		else if(blockNumber != 0 && blockList[blockNumber -5] != null)
		{
			conditionMet = false;
			trace ("end");
		}
		else (blockNumber != 0 && blockList[blockNumber +5] != null)
		{
			conditionMet = false;
			trace ("end");
		}
				
	}
	
}