From 2e16240fb84de4d02ea59fc8151aef842615dbbe Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Mon, 2 Aug 2021 23:27:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Etsd=E6=9E=81=E9=99=90?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=EF=BC=88=E5=A1=AB=E5=9D=91=EF=BC=89=20close?= =?UTF-8?q?=20#157?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.lua | 1 + parts/modes/tsd_u.lua | 23 ++++++++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/main.lua b/main.lua index e43596fa..a77a80df 100644 --- a/main.lua +++ b/main.lua @@ -283,6 +283,7 @@ do if temp1 then fs.write('record/master_u.rec',temp1)end if temp2 then fs.write('record/master_l.rec',temp2)end RANKS.master_l,RANKS.master_u=RANKS.master_u,RANKS.master_l + if RANKS.tsd_u then RANKS.tsd_u=0 end needSave=true end if STAT.version~=VERSION.code then diff --git a/parts/modes/tsd_u.lua b/parts/modes/tsd_u.lua index debeba4b..24c08ddd 100644 --- a/parts/modes/tsd_u.lua +++ b/parts/modes/tsd_u.lua @@ -1,8 +1,16 @@ +local gc=love.graphics local function check_tsd(P) local C=P.lastPiece if C.row>0 then if C.id==5 and C.row==2 and C.spin then P.modeData.tsd=P.modeData.tsd+1 + if TABLE.find(P.modeData.history,C.centX)then + P:showText("STACK",0,-140,40,'flicker',.3) + P:lose() + else + table.insert(P.modeData.history,1,C.centX) + P.modeData.history[5]=nil + end else P:lose() end @@ -15,6 +23,7 @@ return{ drop=60,lock=60, freshLimit=15, dropPiece=check_tsd, + task=function(P)P.modeData.history={}end, ospin=false, bg='matrix',bgm='vapor', }, @@ -26,6 +35,14 @@ return{ setFont(65) mStr(P.modeData.tsd,69,250) mText(drawableText.tsd,69,315) + gc.push('transform') + PLY.draw.applyFieldOffset(P) + local L=P.modeData.history + for i=1,#L do + gc.setColor(1,.5,.5,.3-i*.05) + gc.rectangle('fill',30*L[i]-30,0,30,600) + end + gc.pop() end, score=function(P)return{P.modeData.tsd,P.stat.time}end, scoreDisp=function(D)return D[1].."TSD "..STRING.time(D[2])end, @@ -36,8 +53,8 @@ return{ T>=20 and 5 or T>=18 and 4 or T>=16 and 3 or - T>=14 and 2 or - T>=12 and 1 or - T>=1 and 0 + T>=13 and 2 or + T>=10 and 1 or + T>=4 and 0 end, } \ No newline at end of file