From 2de7fb995623c9b25f78ddba427df80cb13abd66 Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Thu, 29 Apr 2021 00:18:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0ospin=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=8F=98JL=E7=9A=84=E9=97=AE=E9=A2=98=E5=92=8C?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E9=80=BB=E8=BE=91=E7=9A=84=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=B0=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parts/kickList.lua | 47 +++++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/parts/kickList.lua b/parts/kickList.lua index d0953eb5..14ceb988 100644 --- a/parts/kickList.lua +++ b/parts/kickList.lua @@ -52,20 +52,20 @@ local function flipList(O) end local function reflect(a) - local b={} - b[03]=flipList(a[01]) - b[01]=flipList(a[03]) - b[30]=flipList(a[10]) - b[32]=flipList(a[12]) - b[23]=flipList(a[21]) - b[21]=flipList(a[23]) - b[10]=flipList(a[30]) - b[12]=flipList(a[32]) - b[02]=flipList(a[02]) - b[20]=flipList(a[20]) - b[31]=flipList(a[13]) - b[13]=flipList(a[31]) - return b + return{ + [03]=flipList(a[01]), + [01]=flipList(a[03]), + [30]=flipList(a[10]), + [32]=flipList(a[12]), + [23]=flipList(a[21]), + [21]=flipList(a[23]), + [10]=flipList(a[30]), + [12]=flipList(a[32]), + [02]=flipList(a[02]), + [20]=flipList(a[20]), + [31]=flipList(a[13]), + [13]=flipList(a[31]), + } end local TRS @@ -75,12 +75,15 @@ do {333,5,2,-1,-1,0},{333,5,2, 0,-1,0},{333,5,0, 0, 0,0},--T {313,1,2,-1, 0,0},{313,1,2, 0,-1,0},{313,1,2, 0, 0,0},--Z {131,2,2, 0, 0,0},{131,2,2,-1,-1,0},{131,2,2,-1, 0,0},--S - {331,3,2, 0,-1,0},{113,3,0, 0, 0,0},{113,3,2,-1, 0,0},--J - {113,4,2,-1,-1,0},{331,4,0,-1, 0,0},{331,4,2, 0, 0,0},--L - {222,7,2,-1, 0,1},{222,7,2,-2, 0,1},{222,7,2, 0, 0,1},--I + {331,3,2, 0,-1,0},--J(farDown) + {113,4,2,-1,-1,0},--L(farDown) + {113,3,2,-1,-1,0},{113,3,0, 0, 0,0},--J + {331,4,2, 0,-1,0},{331,4,0,-1, 0,0},--L + {222,7,2,-1, 0,2},{222,7,2,-2, 0,2},{222,7,2, 0, 0,2},--I + {222,7,0,-1, 1,1},{222,7,0,-2, 1,1},{222,7,0, 0, 1,1},--I(high) {121,6,0, 1,-1,2},{112,6,0, 2,-1,2},{122,6,0, 1,-2,2},--O {323,6,0,-1,-1,2},{332,6,0,-2,-1,2},{322,6,0,-1,-2,2},--O - }--{keys, ID, dir, dx, dy, freeLevel (0=immovable,1=L+R immovable,2=free)} + }--{keys, ID, dir, dx, dy, freeLevel (0=immovable, 1=U/D-immovable, 2=free)} local XspinList={ {{ 1,-1},{ 1, 0},{ 1, 1},{ 1,-2},{ 1, 2}}, {{ 0,-1},{ 0,-2},{ 0, 1},{ 0,-2},{ 0, 2}}, @@ -147,7 +150,13 @@ do local id,dir=L[2],L[3] local bk=BLOCKS[id][dir] x,y=P.curX+L[4],P.curY+L[5] - if not P:ifoverlap(bk,x,y)and(L[6]>0 or P:ifoverlap(bk,x-1,y)and P:ifoverlap(bk,x+1,y))and(L[6]==2 or P:ifoverlap(bk,x,y-1))and P:ifoverlap(bk,x,y+1)then + if + not P:ifoverlap(bk,x,y)and( + L[6]>0 or(P:ifoverlap(bk,x-1,y)and P:ifoverlap(bk,x+1,y)) + )and( + L[6]==2 or(P:ifoverlap(bk,x,y-1)and P:ifoverlap(bk,x,y+1)) + ) + then local C=P.cur C.id=id C.bk=bk