新增三个堆叠模式 close #142
This commit is contained in:
@@ -729,6 +729,9 @@ return{
|
||||
['dig_1000l']= {"Dig", "1000L", "Dig 1000 garbage lines."},
|
||||
['drought_n']= {"Drought", "100L", "There are no I-pieces."},
|
||||
['drought_l']= {"Drought+", "100L", "W T F"},
|
||||
['stack_20l']= {"Stack", "20L", "Pack them!"},
|
||||
['stack_40l']= {"Stack", "40L", "Pack them!"},
|
||||
['stack_100l']= {"Stack", "100L", "Pack them!"},
|
||||
['marathon_n']= {"Marathon", "NORMAL", "200-line marathon with accelerating speed."},
|
||||
['marathon_h']= {"Marathon", "HARD", "200-line high-speed marathon."},
|
||||
['solo_e']= {"Battle", "EASY", "Defeat the AI!"},
|
||||
|
||||
@@ -634,6 +634,9 @@ return{
|
||||
['dig_1000l']= {"Queso", "1000L", "Limpia 1000 líneas de queso."},
|
||||
['drought_n']= {"Sequía", "100L", "¡Sin piezas I!"},
|
||||
['drought_l']= {"Sequía+", "100L", "Guat de foc..."},
|
||||
-- ['stack_20l']= {"Stack", "20L", "Pack them!"},
|
||||
-- ['stack_40l']= {"Stack", "40L", "Pack them!"},
|
||||
-- ['stack_100l']= {"Stack", "100L", "Pack them!"},
|
||||
['marathon_n']= {"Maratón", "Normal", "Maratón de 200 líneas con velocidad en aumento."},
|
||||
['marathon_h']= {"Maratón", "Difícil", "Maratón de 200 líneas a velocidad máxima."},
|
||||
['solo_e']= {"VS.", "Fácil", "¡Derrota a la CPU!"},
|
||||
|
||||
@@ -636,6 +636,9 @@ return{
|
||||
['dig_1000l']= {"Dig", "1000L", "Creusez 1000 lines"},
|
||||
['drought_n']= {"Drought", "100L", "Pas de pièce I !"},
|
||||
['drought_l']= {"Drought+", "100L", "WTF ??!!"},
|
||||
-- ['stack_20l']= {"Stack", "20L", "Pack them!"},
|
||||
-- ['stack_40l']= {"Stack", "40L", "Pack them!"},
|
||||
-- ['stack_100l']= {"Stack", "100L", "Pack them!"},
|
||||
['marathon_n']= {"Marathon", "NORMAL", "Marathon de 200 lignes."},
|
||||
['marathon_h']= {"Marathon", "DIFFICILE", "Marathon de 200 lignes à très haute vitesse"},
|
||||
['solo_e']= {"Battle", "FACILE", "Battez l'IA !"},
|
||||
|
||||
@@ -720,6 +720,9 @@ return{
|
||||
['dig_1000l']= {"Cave", "1000L", "Cave 1000 linhas de lixo."},
|
||||
['drought_n']= {"Drought", "100L", "Sem peça I !"},
|
||||
['drought_l']= {"Drought+", "100L", "WTF"},
|
||||
-- ['stack_20l']= {"Stack", "20L", "Pack them!"},
|
||||
-- ['stack_40l']= {"Stack", "40L", "Pack them!"},
|
||||
-- ['stack_100l']= {"Stack", "100L", "Pack them!"},
|
||||
['marathon_n']= {"Maratona", "NORMAL", "200-line Maratona com velocidade aumentando."},
|
||||
['marathon_h']= {"Maratona", "DIFÍCIL", "200-line Maratona com velocidade alta."},
|
||||
['solo_e']= {"Batalha", "FÁCIL", "Derrote a inteligência!"},
|
||||
|
||||
@@ -220,6 +220,9 @@ return{
|
||||
['dig_1000l']= {"挖掘", "1000L", "挖1000行"},
|
||||
['drought_n']= {"干旱", "100L", "放轻松,简单得很"},
|
||||
['drought_l']= {"干旱+", "100L", "有趣的要来了"},
|
||||
['stack_20l']= {"堆叠", "20L", "拼图(确信"},
|
||||
['stack_40l']= {"堆叠", "40L", "拼图(确信"},
|
||||
['stack_100l']= {"堆叠", "100L", "盖楼(确信"},
|
||||
['marathon_n']= {"马拉松", "普通", "休闲模式"},
|
||||
['marathon_h']= {"马拉松", "困难", "休闲模式"},
|
||||
['solo_e']= {"单挑", "简单", "鲨AI"},
|
||||
|
||||
@@ -730,6 +730,9 @@ return{
|
||||
['dig_1000l']= {"挖掘", "1000L", "挖掘1000行"},
|
||||
['drought_n']= {"干旱", "100L", "你I没了"},
|
||||
['drought_l']= {"干旱+", "100L", "后 妈 发 牌"},
|
||||
['stack_20l']= {"堆积", "20L", "搭积木"},
|
||||
['stack_40l']= {"堆积", "40L", "搭积木"},
|
||||
['stack_100l']= {"堆积", "100L", "搭积木"},
|
||||
['marathon_n']= {"马拉松", "普通", "200行加速马拉松"},
|
||||
['marathon_h']= {"马拉松", "困难", "200行高速马拉松"},
|
||||
['solo_e']= {"单挑", "简单", "打败AI"},
|
||||
|
||||
@@ -146,6 +146,9 @@ return{
|
||||
['dig_1000l']= {"挖掘", "1000L", "挖掘1000行"},
|
||||
['drought_n']= {"干旱", "100行", "你I没了"},
|
||||
['drought_l']= {"干旱+", "100行", "后 妈 发 牌"},
|
||||
['stack_20l']= {"堆积", "20L", "搭积木"},
|
||||
['stack_40l']= {"堆积", "40L", "搭积木"},
|
||||
['stack_100l']= {"堆积", "100L", "搭积木"},
|
||||
['marathon_n']= {"马拉松", "普通", "200行加速马拉松"},
|
||||
['marathon_h']= {"马拉松", "困难", "200行高速马拉松"},
|
||||
['solo_e']= {"单挑", "简单", "打败机器人"},
|
||||
|
||||
@@ -1,20 +1,24 @@
|
||||
return{
|
||||
{name='sprint_10l', x=0, y=0, size=40,shape=1,icon="sprint1", unlock={'sprint_20l','sprint_40l'}},
|
||||
{name='sprint_20l', x=-200, y=0, size=50,shape=1,icon="sprint1"},
|
||||
{name='sprint_40l', x=0, y=-300, size=40,shape=1,icon="sprint2", unlock={'dig_10l','sprint_100l','marathon_n','sprintPenta','sprintMPH'}},
|
||||
{name='sprint_100l', x=-200, y=-200, size=50,shape=1,icon="sprint2", unlock={'sprint_400l','drought_n'}},
|
||||
{name='sprint_400l', x=-400, y=-200, size=40,shape=1,icon="sprint3", unlock={'sprint_1000l'}},
|
||||
{name='sprint_1000l', x=-600, y=-200, size=40,shape=1,icon="sprint3"},
|
||||
{name='sprint_20l', x=-200, y=200, size=50,shape=1,icon="sprint1"},
|
||||
{name='sprint_40l', x=0, y=-300, size=40,shape=1,icon="sprint2", unlock={'dig_10l','sprint_100l','marathon_n','sprintPenta','sprintMPH','stack_20l'}},
|
||||
{name='sprint_100l', x=-200, y=0, size=50,shape=1,icon="sprint2", unlock={'sprint_400l','drought_n'}},
|
||||
{name='sprint_400l', x=-400, y=0, size=40,shape=1,icon="sprint3", unlock={'sprint_1000l'}},
|
||||
{name='sprint_1000l', x=-600, y=0, size=40,shape=1,icon="sprint3"},
|
||||
|
||||
{name='sprintPenta', x=210, y=-370, size=40,shape=3,icon="tech"},
|
||||
{name='sprintMPH', x=210, y=-230, size=40,shape=3,icon="tech"},
|
||||
|
||||
{name='drought_n', x=-400, y=0, size=40,shape=1,icon="drought", unlock={'drought_l'}},
|
||||
{name='drought_l', x=-600, y=0, size=40,shape=1,icon="mess"},
|
||||
{name='drought_n', x=-400, y=200, size=40,shape=1,icon="drought", unlock={'drought_l'}},
|
||||
{name='drought_l', x=-600, y=200, size=40,shape=1,icon="drought"},
|
||||
|
||||
{name='dig_10l', x=-200, y=-400, size=40,shape=1,icon="dig_sprint",unlock={'dig_40l'}},
|
||||
{name='dig_40l', x=-400, y=-400, size=40,shape=1,icon="dig_sprint",unlock={'dig_100l'}},
|
||||
{name='dig_100l', x=-600, y=-400, size=40,shape=1,icon="dig_sprint",unlock={'dig_400l'}},
|
||||
{name='stack_20l', x=-200, y=-400, size=40,shape=1,icon="mess", unlock={'stack_40l'}},
|
||||
{name='stack_40l', x=-400, y=-400, size=40,shape=1,icon="mess", unlock={'stack_100l'}},
|
||||
{name='stack_100l', x=-600, y=-400, size=40,shape=1,icon="mess"},
|
||||
|
||||
{name='dig_10l', x=-200, y=-200, size=40,shape=1,icon="dig_sprint",unlock={'dig_40l'}},
|
||||
{name='dig_40l', x=-400, y=-200, size=40,shape=1,icon="dig_sprint",unlock={'dig_100l'}},
|
||||
{name='dig_100l', x=-600, y=-200, size=40,shape=1,icon="dig_sprint",unlock={'dig_400l'}},
|
||||
{name='dig_400l', x=-800, y=-200, size=40,shape=1,icon="dig_sprint"},
|
||||
|
||||
{name='marathon_n', x=0, y=-600, size=60,shape=1,icon="marathon",unlock={'marathon_h','rhythm_e','solo_e','round_e','blind_e','classic_fast','survivor_e','bigbang','zen'}},
|
||||
|
||||
27
parts/modes/stack_100l.lua
Normal file
27
parts/modes/stack_100l.lua
Normal file
@@ -0,0 +1,27 @@
|
||||
return{
|
||||
color=COLOR.cyan,
|
||||
env={
|
||||
drop=60,lock=60,
|
||||
freshLimit=15,
|
||||
fieldH=100,
|
||||
fillClear=false,
|
||||
bg='none',bgm='there',
|
||||
},
|
||||
mesDisp=function(P)
|
||||
setFont(55)
|
||||
mStr(P.stat.piece,69,265)
|
||||
end,
|
||||
score=function(P)return{P.stat.piece,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Pieces".." "..STRING.time(D[2])end,
|
||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||
getRank=function(P)
|
||||
local B=P.stat.piece
|
||||
return
|
||||
B>=260 and 5 or
|
||||
B>=254 and 4 or
|
||||
B>=250 and 3 or
|
||||
B>=243 and 2 or
|
||||
B>=235 and 1 or
|
||||
0
|
||||
end,
|
||||
}
|
||||
26
parts/modes/stack_20l.lua
Normal file
26
parts/modes/stack_20l.lua
Normal file
@@ -0,0 +1,26 @@
|
||||
return{
|
||||
color=COLOR.cyan,
|
||||
env={
|
||||
drop=60,lock=60,
|
||||
freshLimit=15,
|
||||
fillClear=false,
|
||||
bg='none',bgm='there',
|
||||
},
|
||||
mesDisp=function(P)
|
||||
setFont(55)
|
||||
mStr(P.stat.piece,69,265)
|
||||
end,
|
||||
score=function(P)return{P.stat.piece,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Pieces".." "..STRING.time(D[2])end,
|
||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||
getRank=function(P)
|
||||
local B=P.stat.piece
|
||||
return
|
||||
B>=55 and 5 or
|
||||
B>=52 and 4 or
|
||||
B>=49 and 3 or
|
||||
B>=47 and 2 or
|
||||
B>=44 and 1 or
|
||||
0
|
||||
end,
|
||||
}
|
||||
27
parts/modes/stack_40l.lua
Normal file
27
parts/modes/stack_40l.lua
Normal file
@@ -0,0 +1,27 @@
|
||||
return{
|
||||
color=COLOR.cyan,
|
||||
env={
|
||||
drop=60,lock=60,
|
||||
freshLimit=15,
|
||||
fieldH=40,
|
||||
fillClear=false,
|
||||
bg='none',bgm='there',
|
||||
},
|
||||
mesDisp=function(P)
|
||||
setFont(55)
|
||||
mStr(P.stat.piece,69,265)
|
||||
end,
|
||||
score=function(P)return{P.stat.piece,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Pieces".." "..STRING.time(D[2])end,
|
||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||
getRank=function(P)
|
||||
local B=P.stat.piece
|
||||
return
|
||||
B>=105 and 5 or
|
||||
B>=101 and 4 or
|
||||
B>=97 and 3 or
|
||||
B>=94 and 2 or
|
||||
B>=90 and 1 or
|
||||
0
|
||||
end,
|
||||
}
|
||||
@@ -49,6 +49,7 @@ return{
|
||||
visible='show',
|
||||
freshLimit=1e99,easyFresh=true,
|
||||
bufferLimit=1e99,
|
||||
fillClear=true,
|
||||
|
||||
fkey1=false,fkey2=false,
|
||||
keyCancel={},
|
||||
|
||||
@@ -1009,32 +1009,34 @@ do--Player.drop(self)--Place piece
|
||||
if self.clearedRow[1]then self.clearedRow={}end
|
||||
|
||||
--Check line clear
|
||||
for i=1,#CB do
|
||||
local h=CY+i-2
|
||||
if ENV.fillClear then
|
||||
for i=1,#CB do
|
||||
local h=CY+i-2
|
||||
|
||||
--Bomb trigger
|
||||
if h>0 and self.field[h]and self.clearedRow[cc]~=h then
|
||||
for x=1,#CB[1]do
|
||||
if CB[i][x]and self.field[h][CX+x-1]==19 then
|
||||
cc=cc+1
|
||||
self.clearingRow[cc]=h-cc+1
|
||||
self.clearedRow[cc]=h
|
||||
break
|
||||
--Bomb trigger
|
||||
if h>0 and self.field[h]and self.clearedRow[cc]~=h then
|
||||
for x=1,#CB[1]do
|
||||
if CB[i][x]and self.field[h][CX+x-1]==19 then
|
||||
cc=cc+1
|
||||
self.clearingRow[cc]=h-cc+1
|
||||
self.clearedRow[cc]=h
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
h=h+1
|
||||
--Row filled
|
||||
for x=1,10 do
|
||||
if self.field[h][x]<=0 then
|
||||
goto CONTINUE_notFull
|
||||
h=h+1
|
||||
--Row filled
|
||||
for x=1,10 do
|
||||
if self.field[h][x]<=0 then
|
||||
goto CONTINUE_notFull
|
||||
end
|
||||
end
|
||||
cc=cc+1
|
||||
self.clearingRow[cc]=h-cc+1
|
||||
self.clearedRow[cc]=h
|
||||
::CONTINUE_notFull::
|
||||
end
|
||||
cc=cc+1
|
||||
self.clearingRow[cc]=h-cc+1
|
||||
self.clearedRow[cc]=h
|
||||
::CONTINUE_notFull::
|
||||
end
|
||||
|
||||
--Create clearing FX
|
||||
|
||||
Reference in New Issue
Block a user