From d2c6529d2a4a9510f7d315f8f3cdfe493a95ac47 Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Sat, 7 Aug 2021 22:05:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=AE=A1=E7=AE=97=E5=99=A8?= =?UTF-8?q?=E7=9A=84=E4=B8=80=E4=BA=9B=E5=B0=8Fbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parts/scenes/app_calc.lua | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/parts/scenes/app_calc.lua b/parts/scenes/app_calc.lua index 4fa7afba..4084e4af 100644 --- a/parts/scenes/app_calc.lua +++ b/parts/scenes/app_calc.lua @@ -9,9 +9,11 @@ local sym--symbol function scene.sceneInit() BG.set('none') - reg=false - val="0" - sym=false + BGM.stop() + reg,val,sym=false,"0",false +end +function scene.sceneBack() + BGM.play() end scene.mouseDown=NULL @@ -40,7 +42,7 @@ function scene.keyDown(key) val=val.."." end elseif key=="e"then - if not val:find("e")then + if sym~="="and not val:find("e")then val=val.."e" end elseif key=="backspace"then @@ -57,15 +59,15 @@ function scene.keyDown(key) elseif key=="-"then sym="-" reg=false elseif key=="/"then sym="/" reg=false elseif key=="return"then - if val:byte(-1)==101 then val=val:sub(1,-2)end + if val:sub(-1)=="e"then val=val:sub(1,-2)end if sym and reg then - if reg:byte(-1)==101 then reg=reg:sub(1,-2)end + if reg:sub(-1)=="e"then reg=reg:sub(1,-2)end val= - sym=="+"and (tonumber(reg)or 0)+tonumber(val)or - sym=="-"and (tonumber(reg)or 0)-tonumber(val)or - sym=="*"and (tonumber(reg)or 0)*tonumber(val)or - sym=="/"and (tonumber(reg)or 0)/tonumber(val)or - -1 + sym=="+"and tostring((tonumber(reg)or 0)+tonumber(val))or + sym=="-"and tostring((tonumber(reg)or 0)-tonumber(val))or + sym=="*"and tostring((tonumber(reg)or 0)*tonumber(val))or + sym=="/"and tostring((tonumber(reg)or 0)/tonumber(val))or + "-1" end sym="=" reg=false