I have a problem with reducing code

I try to create enemy follow system for my game but this code what i wrote is too long. So i ask you guys, what i have to do to reduce it. :slight_smile:

local function enemy\_follow() local follow\_system = player.x - enemy.x print(follow\_system) if follow\_system == 1 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -1 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -2 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -3 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -4 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -5 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -6 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -7 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -8 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -9 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -10 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -11 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -12 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -13 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -14 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -15 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -16 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -17 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -18 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -19 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -20 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -21 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -22 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -23 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -24 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -25 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -26 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -27 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -28 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -29 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -30 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -31 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -32 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -33 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -34 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -35 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -36 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -37 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -38 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -39 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -40 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -41 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -42 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -43 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -44 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -45 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -46 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -47 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -48 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -49 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -50 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -51 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -52 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -53 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -54 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -55 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -56 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -57 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -58 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -59 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) elseif follow\_system == -60 then transition.moveTo( enemy, {time=enemy\_follow\_speed, x= player.x} ) end end Runtime:addEventListener( "enterFrame", enemy\_follow )

It looks like your transition statements are all the same.  Assuming you still need to check for the values you entered in the large if/elseif statement, try this…

local function enemy\_follow() local follow\_system = player.x - enemy.x if follow\_system == 1 or (follow\_system \<= -1 and follow\_system \>= -60) transition.moveTo(enemy, {time = enemy\_follow\_speed, x = player.x}) end end

–john

It’s works. Thanks for your assistance. :smiley:

It looks like your transition statements are all the same.  Assuming you still need to check for the values you entered in the large if/elseif statement, try this…

local function enemy\_follow() local follow\_system = player.x - enemy.x if follow\_system == 1 or (follow\_system \<= -1 and follow\_system \>= -60) transition.moveTo(enemy, {time = enemy\_follow\_speed, x = player.x}) end end

–john

It’s works. Thanks for your assistance. :smiley: