五连块颜色调整,加入一至三连块,删除mino文件,整理相关代码,美化注释
This commit is contained in:
4
main.lua
4
main.lua
@@ -90,7 +90,6 @@ require"parts/gametoolfunc"
|
||||
SCR.setSize(1280,720)--Initialize Screen size
|
||||
FIELD[1]=newBoard()--Initialize field[1]
|
||||
|
||||
BLOCKS= require"parts/mino"
|
||||
AIBUILDER= require"parts/AITemplate"
|
||||
FREEROW= require"parts/freeRow"
|
||||
|
||||
@@ -234,7 +233,8 @@ LANG.setPublicText{
|
||||
"Z","S","J","L","T","O","I",
|
||||
"Z5","S5","Q","P","F","E",
|
||||
"T5","U","V","W","X",
|
||||
"J5","L5","R","Y","N","H","I5"
|
||||
"J5","L5","R","Y","N","H","I5",
|
||||
"I3","C","I2","O1"
|
||||
},
|
||||
}
|
||||
LANG.setPublicWidgetText{
|
||||
|
||||
@@ -259,8 +259,8 @@ SETTING={--Settings
|
||||
appLock=false,
|
||||
lang=1,
|
||||
skinSet=1,
|
||||
skin={1,7,11,3,14,4,9,1,7,1,7,11,3,14,4,9,14,9,11,3,11,3,1,7,4},
|
||||
face={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
skin={1,7,11,3,14,4,9,1,7,2,6,10,2,13,5,9,15,10,11,3,10,2,16,8,4,10,13,2,8},
|
||||
face={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
|
||||
--Graphic
|
||||
block=true,ghost=.3,center=1,
|
||||
@@ -321,7 +321,7 @@ else
|
||||
lastPlay="sprint_10",--Last played mode ID
|
||||
date=nil,
|
||||
todayTime=0,
|
||||
}for i=1,25 do STAT.clear[i]={0,0,0,0,0,0}STAT.spin[i]={0,0,0,0,0,0,0}end
|
||||
}for i=1,29 do STAT.clear[i]={0,0,0,0,0,0}STAT.spin[i]={0,0,0,0,0,0,0}end
|
||||
end
|
||||
keyMap=FILE.load("conf/key")or{--Key setting
|
||||
{"left","right","x","z","c","up","down","space","tab","r"},{},
|
||||
|
||||
@@ -1,17 +1,28 @@
|
||||
local zero={0,0}
|
||||
local noKick,noKick_180 do
|
||||
local noKick,noKick_180,pushZero do
|
||||
local zero={0,0}
|
||||
local Zero={zero}
|
||||
noKick={[01]=Zero,[10]=Zero,[03]=Zero,[30]=Zero,[12]=Zero,[21]=Zero,[32]=Zero,[23]=Zero}
|
||||
noKick_180={[01]=Zero,[10]=Zero,[03]=Zero,[30]=Zero,[12]=Zero,[21]=Zero,[32]=Zero,[23]=Zero,[02]=Zero,[20]=Zero,[13]=Zero,[31]=Zero}
|
||||
function pushZero(t)
|
||||
for _,L in next,t do
|
||||
if type(L)=="table"then
|
||||
for _,v in next,L do
|
||||
table.insert(v,1,zero)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local map={}
|
||||
for x=-3,3 do map[x]={}for y=-3,3 do map[x][y]={x,y}end end
|
||||
local function collect(T)--Make all vec point to the same vec
|
||||
if type(T)=="table"then
|
||||
for _,t in next,T do
|
||||
for k,vec in next,t do
|
||||
t[k]=map[vec[1]][vec[2]]
|
||||
local collect do
|
||||
local map={}
|
||||
for x=-3,3 do map[x]={}for y=-3,3 do map[x][y]={x,y}end end
|
||||
function collect(T)--Make all vec point to the same vec
|
||||
if type(T)=="table"then
|
||||
for _,t in next,T do
|
||||
for k,vec in next,t do
|
||||
t[k]=map[vec[1]][vec[2]]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -45,15 +56,6 @@ local function reflect(a)
|
||||
b[13]=flipList(a[31])
|
||||
return b
|
||||
end
|
||||
local function pushZero(t)
|
||||
for _,L in next,t do
|
||||
if type(L)=="table"then
|
||||
for _,v in next,L do
|
||||
table.insert(v,1,zero)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local TRS
|
||||
do
|
||||
@@ -329,6 +331,35 @@ do
|
||||
[03]={{-1,-1},{-1, 0},{-1, 1},{-0, 1},{ 1, 1},{ 1, 0},{ 1,-1},{-0,-1},{-0,-2},{ 2,-1},{ 2,-2},{-2, 0},{-2,-1},{-2,-2},{-1, 2},{-2, 2},{ 1, 2},{ 2, 2}},
|
||||
[30]={{ 1, 0},{ 1,-1},{-0,-1},{-1,-1},{ 2,-2},{ 2,-1},{ 2, 0},{ 1,-2},{-0,-2},{-1,-2},{-2,-2},{ 1, 1},{ 2, 1},{ 2, 2},{-1, 0},{-2, 0},{-2,-1},{ 0, 1},{-1,-1},{-2,-2}},
|
||||
},--I5
|
||||
{
|
||||
[01]={{-1, 0},{-1,-1},{ 1, 1},{-1, 1}},
|
||||
[10]={{-1, 0},{ 1, 0},{-1,-1},{ 1, 1}},
|
||||
[03]={{ 1, 0},{ 1,-1},{-1, 1},{ 1, 1}},
|
||||
[30]={{ 1, 0},{-1, 0},{ 1,-1},{-1, 1}},
|
||||
},--I3
|
||||
{
|
||||
[01]={{-1, 0},{ 1, 0}},
|
||||
[10]={{ 1, 0},{-1, 0}},
|
||||
[03]={{ 0, 1},{ 0,-1}},
|
||||
[30]={{ 0,-1},{ 0, 1}},
|
||||
[12]={{ 0, 1},{ 0,-1}},
|
||||
[21]={{ 0,-1},{ 0, 1}},
|
||||
[32]={{-1, 0},{ 1, 0}},
|
||||
[23]={{ 1, 0},{-1, 0}},
|
||||
[02]={{ 0,-1},{ 1,-1},{-1,-1}},
|
||||
[20]={{ 0, 1},{-1, 1},{ 1, 1}},
|
||||
[13]={{ 0,-1},{-1,-1},{ 1,-1}},
|
||||
[31]={{ 0, 1},{ 1, 1},{-1, 1}},
|
||||
},--C
|
||||
{
|
||||
[01]={},[10]={},[03]={},[30]={},
|
||||
[12]={},[21]={},[32]={},[23]={},
|
||||
[02]={{ 0,-1}},[20]={{ 0, 1}},
|
||||
[13]={{-1, 0}},[31]={{ 1, 0}},
|
||||
},--I2
|
||||
{
|
||||
[01]={},[10]={},[03]={},[30]={},
|
||||
},--O1
|
||||
}
|
||||
TRS[2]= reflect(TRS[1])--SZ
|
||||
TRS[4]= reflect(TRS[3])--LJ
|
||||
@@ -338,10 +369,9 @@ do
|
||||
TRS[20]=reflect(TRS[19])--L5J5
|
||||
TRS[22]=reflect(TRS[21])--RY
|
||||
TRS[24]=reflect(TRS[23])--HN
|
||||
C_sym(TRS[8])
|
||||
C_sym(TRS[9])
|
||||
C_sym(TRS[25])
|
||||
for i=1,25 do collect(TRS[i])end
|
||||
C_sym(TRS[8])C_sym(TRS[9])
|
||||
C_sym(TRS[25])C_sym(TRS[26])C_sym(TRS[29])
|
||||
for i=1,29 do collect(TRS[i])end
|
||||
pushZero(TRS)
|
||||
end
|
||||
|
||||
@@ -380,7 +410,7 @@ do
|
||||
collect(SRS[7])
|
||||
pushZero(SRS)
|
||||
for i=2,5 do SRS[i]=SRS[1]end
|
||||
for i=8,25 do SRS[i]=SRS[1]end
|
||||
for i=8,29 do SRS[i]=SRS[1]end
|
||||
end
|
||||
|
||||
local C2
|
||||
@@ -394,7 +424,7 @@ do
|
||||
}
|
||||
}
|
||||
collect(C2[1])
|
||||
for i=2,25 do C2[i]=C2[1]end
|
||||
for i=2,29 do C2[i]=C2[1]end
|
||||
end
|
||||
|
||||
local C2sym
|
||||
@@ -417,6 +447,7 @@ do
|
||||
Z,--T
|
||||
noKick,--O
|
||||
Z,--I
|
||||
|
||||
Z,S,--Z5,S5
|
||||
Z,S,--P,Q
|
||||
Z,S,--F,E
|
||||
@@ -425,14 +456,17 @@ do
|
||||
Z,S,--J5,L5
|
||||
Z,S,--R,Y
|
||||
Z,S,--N,H
|
||||
|
||||
Z,Z,--I3,C
|
||||
Z,Z,--I2,O1
|
||||
}
|
||||
end
|
||||
|
||||
local Classic={}
|
||||
for i=1,25 do Classic[i]=noKick end
|
||||
for i=1,29 do Classic[i]=noKick end
|
||||
|
||||
local None={}
|
||||
for i=1,25 do None[i]=noKick_180 end
|
||||
for i=1,29 do None[i]=noKick_180 end
|
||||
|
||||
return{
|
||||
TRS=TRS,
|
||||
|
||||
@@ -445,6 +445,7 @@ return{
|
||||
Z="Z",S="S",J="J",L="L",T="T",O="O",I="I",
|
||||
Z5="Z5",S5="S5",P="P",Q="Q",F="F",E="E",T5="T5",U="U",
|
||||
V="V",W="W",X="X",J5="J5",L5="L5",R="R",Y="Y",N="N",H="H",I5="I5",
|
||||
I3="I3",C="C",I2="I2",O1="O1",
|
||||
left="←",
|
||||
right="→",
|
||||
ten="→→",
|
||||
|
||||
@@ -446,6 +446,7 @@ return{
|
||||
Z="Z",S="S",J="J",L="L",T="T",O="O",I="I",
|
||||
Z5="Z5",S5="S5",P="P",Q="Q",F="F",E="E",T5="T5",U="U",
|
||||
V="V",W="W",X="X",J5="J5",L5="L5",R="R",Y="Y",N="N",H="H",I5="I5",
|
||||
I3="I3",C="C",I2="I2",O1="O1",
|
||||
left="←",
|
||||
right="→",
|
||||
ten="→→",
|
||||
|
||||
@@ -232,6 +232,8 @@ do--spinCenters
|
||||
local I1,I2,I3,I4={-.5,1.5},{1.5,-.5},{.5,1.5},{1.5,.5}
|
||||
local V4={1.5,1.5}
|
||||
local L1,L2={0,2},{2,0}
|
||||
local S1,S2={-.5,.5},{.5,-.5}
|
||||
local D={0,0}
|
||||
spinCenters={
|
||||
--Tetramino
|
||||
{[0]=N1,N2,N3,N3},--Z
|
||||
@@ -243,26 +245,97 @@ do--spinCenters
|
||||
{[0]=I1,I2,I3,I4},--I
|
||||
|
||||
--Pentomino
|
||||
{[0]=N3,N3,N3,N3},--Z
|
||||
{[0]=N3,N3,N3,N3},--S
|
||||
{[0]=N3,N3,N3,N3},--Z5
|
||||
{[0]=N3,N3,N3,N3},--S5
|
||||
{[0]=N1,N2,N3,N3},--P
|
||||
{[0]=N1,N2,N3,N3},--Q
|
||||
{[0]=N3,N3,N3,N3},--F
|
||||
{[0]=N3,N3,N3,N3},--E
|
||||
{[0]=N3,N3,N3,N3},--T
|
||||
{[0]=N3,N3,N3,N3},--T5
|
||||
{[0]=N1,N2,N3,N3},--U
|
||||
{[0]=I3,N4,I4,V4},--V
|
||||
{[0]=N3,N3,N3,N3},--W
|
||||
{[0]=N3,N3,N3,N3},--X
|
||||
{[0]=I3,I4,I3,I4},--J
|
||||
{[0]=I3,I4,I3,I4},--L
|
||||
{[0]=I3,I4,I3,I4},--J5
|
||||
{[0]=I3,I4,I3,I4},--L5
|
||||
{[0]=I3,I4,I3,I4},--R
|
||||
{[0]=I3,I4,I3,I4},--Y
|
||||
{[0]=I3,I4,I3,I4},--N
|
||||
{[0]=I3,I4,I3,I4},--H
|
||||
{[0]=L1,L2,L1,L2},--I
|
||||
{[0]=L1,L2,L1,L2},--I5
|
||||
|
||||
--Trimino
|
||||
{[0]=N1,N2,N1,N2},--I3
|
||||
{[0]=N4,N4,N4,N4},--C
|
||||
|
||||
--Domino
|
||||
{[0]=S1,S2,N4,N4},--I2
|
||||
|
||||
--Dot
|
||||
{[0]=D,D,D,D},--O1
|
||||
}
|
||||
end
|
||||
do--BLOCKS
|
||||
local function RotCW(B)
|
||||
local N={}
|
||||
local r,c=#B,#B[1]--row,col
|
||||
for x=1,c do
|
||||
N[x]={}
|
||||
for y=1,r do
|
||||
N[x][y]=B[y][c-x+1]
|
||||
end
|
||||
end
|
||||
return N
|
||||
end
|
||||
local O,_=true,false
|
||||
BLOCKS={
|
||||
--Tetramino
|
||||
{{_,O,O},{O,O,_}}, --Z
|
||||
{{O,O,_},{_,O,O}}, --S
|
||||
{{O,O,O},{O,_,_}}, --J
|
||||
{{O,O,O},{_,_,O}}, --L
|
||||
{{O,O,O},{_,O,_}}, --T
|
||||
{{O,O},{O,O}}, --O
|
||||
{{O,O,O,O}}, --I
|
||||
|
||||
--Pentomino
|
||||
{{_,O,O},{_,O,_},{O,O,_}}, --Z5
|
||||
{{O,O,_},{_,O,_},{_,O,O}}, --S5
|
||||
{{O,O,O},{O,O,_}}, --P
|
||||
{{O,O,O},{_,O,O}}, --Q
|
||||
{{_,O,_},{O,O,O},{O,_,_}}, --F
|
||||
{{_,O,_},{O,O,O},{_,_,O}}, --E
|
||||
{{O,O,O},{_,O,_},{_,O,_}}, --T5
|
||||
{{O,O,O},{O,_,O}}, --U
|
||||
{{O,O,O},{_,_,O},{_,_,O}}, --V
|
||||
{{_,O,O},{O,O,_},{O,_,_}}, --W
|
||||
{{_,O,_},{O,O,O},{_,O,_}}, --X
|
||||
{{O,O,O,O},{O,_,_,_}}, --J5
|
||||
{{O,O,O,O},{_,_,_,O}}, --L5
|
||||
{{O,O,O,O},{_,O,_,_}}, --R
|
||||
{{O,O,O,O},{_,_,O,_}}, --Y
|
||||
{{_,O,O,O},{O,O,_,_}}, --N
|
||||
{{O,O,O,_},{_,_,O,O}}, --H
|
||||
{{O,O,O,O,O}}, --I5
|
||||
|
||||
--Trimino
|
||||
{{O,O,O}}, --I3
|
||||
{{O,O},{_,O}}, --C
|
||||
|
||||
--Domino
|
||||
{{O,O}}, --I2
|
||||
|
||||
--Dot
|
||||
{{O}}, --O1
|
||||
}
|
||||
for i=1,#BLOCKS do
|
||||
local B=BLOCKS[i]
|
||||
BLOCKS[i]={[0]=B}
|
||||
B=RotCW(B)BLOCKS[i][1]=B
|
||||
B=RotCW(B)BLOCKS[i][2]=B
|
||||
B=RotCW(B)BLOCKS[i][3]=B
|
||||
end
|
||||
end
|
||||
|
||||
rankColor={
|
||||
COLOR.dRed, --D
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
local function RotCW(B)
|
||||
local N={}
|
||||
local r,c=#B,#B[1]--row,col
|
||||
for x=1,c do
|
||||
N[x]={}
|
||||
for y=1,r do
|
||||
N[x][y]=B[y][c-x+1]
|
||||
end
|
||||
end
|
||||
return N
|
||||
end
|
||||
local O,_=true,false
|
||||
local L={
|
||||
--Tetramino
|
||||
{{_,O,O},{O,O,_}}, --Z
|
||||
{{O,O,_},{_,O,O}}, --S
|
||||
{{O,O,O},{O,_,_}}, --J
|
||||
{{O,O,O},{_,_,O}}, --L
|
||||
{{O,O,O},{_,O,_}}, --T
|
||||
{{O,O},{O,O}}, --O
|
||||
{{O,O,O,O}}, --I
|
||||
|
||||
--Pentomino
|
||||
{{_,O,O},{_,O,_},{O,O,_}}, --Z
|
||||
{{O,O,_},{_,O,_},{_,O,O}}, --S
|
||||
{{O,O,O},{O,O,_}}, --P
|
||||
{{O,O,O},{_,O,O}}, --Q
|
||||
{{_,O,_},{O,O,O},{O,_,_}}, --F
|
||||
{{_,O,_},{O,O,O},{_,_,O}}, --E
|
||||
{{O,O,O},{_,O,_},{_,O,_}}, --T
|
||||
{{O,O,O},{O,_,O}}, --U
|
||||
{{O,O,O},{_,_,O},{_,_,O}}, --V
|
||||
{{_,O,O},{O,O,_},{O,_,_}}, --W
|
||||
{{_,O,_},{O,O,O},{_,O,_}}, --X
|
||||
{{O,O,O,O},{O,_,_,_}}, --J
|
||||
{{O,O,O,O},{_,_,_,O}}, --L
|
||||
{{O,O,O,O},{_,O,_,_}}, --R
|
||||
{{O,O,O,O},{_,_,O,_}}, --Y
|
||||
{{_,O,O,O},{O,O,_,_}}, --N
|
||||
{{O,O,O,_},{_,_,O,O}}, --H
|
||||
{{O,O,O,O,O}}, --I
|
||||
}
|
||||
for i=1,#L do
|
||||
local B=L[i]
|
||||
L[i]={[0]=B}
|
||||
B=RotCW(B)L[i][1]=B
|
||||
B=RotCW(B)L[i][2]=B
|
||||
B=RotCW(B)L[i][3]=B
|
||||
end
|
||||
return L
|
||||
@@ -24,7 +24,7 @@ local function getNewStatTable()
|
||||
pc=0,hpc=0,b2b=0,b3b=0,
|
||||
maxCombo=0,maxFinesseCombo=0,
|
||||
}
|
||||
for i=1,25 do
|
||||
for i=1,29 do
|
||||
T.clear[i]={0,0,0,0,0,0}
|
||||
T.spin[i]={0,0,0,0,0,0,0}
|
||||
T.clears[i]=0
|
||||
|
||||
@@ -826,6 +826,26 @@ do--Player.drop(P)--Place piece
|
||||
{2,3,2,2,1,2,3,2,3,2},
|
||||
1,2
|
||||
},--I5
|
||||
{
|
||||
{1,2,1,0,1,2,2,1},
|
||||
{2,2,3,2,1,2,3,3,2,2},
|
||||
1,2
|
||||
},--I3
|
||||
{
|
||||
{1,2,2,1,0,1,2,2,1},
|
||||
{2,3,3,2,1,2,3,3,2},
|
||||
{3,4,4,3,2,3,4,4,3},
|
||||
2
|
||||
},--C
|
||||
{
|
||||
{1,2,2,1,0,1,2,2,1},
|
||||
{2,2,3,2,1,1,2,3,2,2},
|
||||
1,2
|
||||
},--I2
|
||||
{
|
||||
{1,2,2,1,0,1,2,3,2,1},
|
||||
2,3,4
|
||||
},--O1
|
||||
}
|
||||
for k,v in next,finesseList do
|
||||
if type(v)=="table"then
|
||||
|
||||
@@ -60,12 +60,12 @@ scene.widgetList={
|
||||
|
||||
WIDGET.newButton{name="skinR", x=200,y=640,w=220,h=80,color="lPurple",font=35,
|
||||
code=function()
|
||||
SETTING.skin={1,7,11,3,14,4,9,1,7,1,7,11,3,14,4,9,14,9,11,3,11,3,1,7,4}
|
||||
SETTING.skin={1,7,11,3,14,4,9,1,7,2,6,10,2,13,5,9,15,10,11,3,10,2,16,8,4,10,13,2,8}
|
||||
SFX.play("rotate")
|
||||
end},
|
||||
WIDGET.newButton{name="faceR", x=480,y=640,w=220,h=80,color="lRed",font=35,
|
||||
code=function()
|
||||
for i=1,25 do
|
||||
for i=1,29 do
|
||||
SETTING.face[i]=0
|
||||
end
|
||||
SFX.play("hold")
|
||||
|
||||
@@ -17,7 +17,7 @@ for i=1,20 do
|
||||
end
|
||||
|
||||
TEXTURE.miniBlock={}
|
||||
for i=1,25 do
|
||||
for i=1,29 do
|
||||
local b=BLOCKS[i][0]
|
||||
TEXTURE.miniBlock[i]=C(#b[1],#b)
|
||||
for y=1,#b do for x=1,#b[1]do
|
||||
|
||||
Reference in New Issue
Block a user