Our solution is available as fire.m.
It is set to do the regular version, with only horizontal and vertical motions. However, it is able to perform the extra credit version with diagonal motions if you edit line 30 to read
numDirections = 8;