From b2dbd9ec6087c4624538e87be8cf8d358efe1717 Mon Sep 17 00:00:00 2001 From: Kistaro Windrider Date: Mon, 2 Jan 2023 16:22:10 -0800 Subject: [PATCH] _calc_push golf redux Removed unnecessary variable declarations and conditional cases by using an "assume, alternate, verify assumption" pattern and reusing ax0/ay0 when they would never be referenced again. --- chameleonic.p8 | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/chameleonic.p8 b/chameleonic.p8 index 7d9380a..7f64592 100644 --- a/chameleonic.p8 +++ b/chameleonic.p8 @@ -1645,21 +1645,16 @@ function rope:_calc_push( smy=-smy end - local mx,dmx + local dmx=1 -- maybe push right? if anch.adx==-1 and a0.x>an.x+7 then -- push left - mx=ax0-1 - dmx=-1 - elseif anch.adx==1 and a0.x=an.x-7 then return {} end for my=my0,my1,smy do - add(ops,{mx,my,dmx,0}) + add(ops,{ax0,my,dmx,0}) end end @@ -1671,22 +1666,16 @@ function rope:_calc_push( smx=-smx end - local my,dmy + local dmy=1 -- maybe push down? if anch.ady==-1 and a0.y>an.y+6 then -- push up - my=ay0-1 - dmy=-1 - - elseif anch.ady==1 and a0.y=an.y-6 then return {} end for mx=mx0,mx1,smx do - add(ops,{mx,my,0,dmy}) + add(ops,{mx,ay0,0,dmy}) end end