Ya se a lo que te refieres, como he abarcado dos casos, está claro que uno de los dos daba "invalido" por lo que siempre era el movimiento NO valido. Pero si en el segundo caso eliminamos el invalido, ya funciona.
Código PHP:
fila_inicial=2
columna_inicial=1
fila_final=3
columna_final=3
desplazamiento='invalido'
if columna_final==(columna_inicial-2) or columna_final==(columna_inicial+2):
desplazamiento='horizontal'
if columna_final==(columna_inicial-1) or columna_final==(columna_inicial+1):
desplazamiento='vertical'
if desplazamiento=='invalido':
print 'El movimiento NO es valido'
else:
if desplazamiento=='horizontal':
if fila_final==(fila_inicial+1) or fila_final==(fila_inicial-1):
print 'El movimiento es valido'
else:
print 'El movimiento NO es valido'
else:
if fila_final==(fila_inicial+2) or fila_final==(fila_inicial-2):
print 'El movimiento es valido'
else:
print 'El movimiento NO es valido'
Gracias de todos modos.