From 13e58e6f80ea4fc7f1f522328b60b3d2f20f8aa2 Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Tue, 3 Aug 2021 03:11:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=89=E4=B8=AA=E5=A0=86?= =?UTF-8?q?=E5=8F=A0=E6=A8=A1=E5=BC=8F=20close=20#142?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parts/language/lang_en.lua | 3 +++ parts/language/lang_es.lua | 3 +++ parts/language/lang_fr.lua | 3 +++ parts/language/lang_pt.lua | 3 +++ parts/language/lang_yygq.lua | 3 +++ parts/language/lang_zh.lua | 3 +++ parts/language/lang_zh2.lua | 3 +++ parts/modes.lua | 24 ++++++++++++--------- parts/modes/stack_100l.lua | 27 +++++++++++++++++++++++ parts/modes/stack_20l.lua | 26 ++++++++++++++++++++++ parts/modes/stack_40l.lua | 27 +++++++++++++++++++++++ parts/player/gameEnv0.lua | 1 + parts/player/player.lua | 42 +++++++++++++++++++----------------- 13 files changed, 138 insertions(+), 30 deletions(-) create mode 100644 parts/modes/stack_100l.lua create mode 100644 parts/modes/stack_20l.lua create mode 100644 parts/modes/stack_40l.lua diff --git a/parts/language/lang_en.lua b/parts/language/lang_en.lua index 20892bf7..97383ed2 100644 --- a/parts/language/lang_en.lua +++ b/parts/language/lang_en.lua @@ -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!"}, diff --git a/parts/language/lang_es.lua b/parts/language/lang_es.lua index 4f614c00..5fd0c2fd 100644 --- a/parts/language/lang_es.lua +++ b/parts/language/lang_es.lua @@ -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!"}, diff --git a/parts/language/lang_fr.lua b/parts/language/lang_fr.lua index a4af64f1..986bf196 100644 --- a/parts/language/lang_fr.lua +++ b/parts/language/lang_fr.lua @@ -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 !"}, diff --git a/parts/language/lang_pt.lua b/parts/language/lang_pt.lua index 3f7176da..0d816cbf 100644 --- a/parts/language/lang_pt.lua +++ b/parts/language/lang_pt.lua @@ -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!"}, diff --git a/parts/language/lang_yygq.lua b/parts/language/lang_yygq.lua index 57694f69..e360e3b8 100644 --- a/parts/language/lang_yygq.lua +++ b/parts/language/lang_yygq.lua @@ -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"}, diff --git a/parts/language/lang_zh.lua b/parts/language/lang_zh.lua index c7e5da31..fa719637 100644 --- a/parts/language/lang_zh.lua +++ b/parts/language/lang_zh.lua @@ -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"}, diff --git a/parts/language/lang_zh2.lua b/parts/language/lang_zh2.lua index 4b7107f2..23b256a8 100644 --- a/parts/language/lang_zh2.lua +++ b/parts/language/lang_zh2.lua @@ -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']= {"单挑", "简单", "打败机器人"}, diff --git a/parts/modes.lua b/parts/modes.lua index 8eafb1d8..7c6bfa69 100644 --- a/parts/modes.lua +++ b/parts/modes.lua @@ -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'}}, diff --git a/parts/modes/stack_100l.lua b/parts/modes/stack_100l.lua new file mode 100644 index 00000000..2d01366e --- /dev/null +++ b/parts/modes/stack_100l.lua @@ -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]=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, +} \ No newline at end of file diff --git a/parts/modes/stack_20l.lua b/parts/modes/stack_20l.lua new file mode 100644 index 00000000..52a74d01 --- /dev/null +++ b/parts/modes/stack_20l.lua @@ -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]=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, +} \ No newline at end of file diff --git a/parts/modes/stack_40l.lua b/parts/modes/stack_40l.lua new file mode 100644 index 00000000..bc39cd8e --- /dev/null +++ b/parts/modes/stack_40l.lua @@ -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]=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, +} \ No newline at end of file diff --git a/parts/player/gameEnv0.lua b/parts/player/gameEnv0.lua index 27e40237..62cdc345 100644 --- a/parts/player/gameEnv0.lua +++ b/parts/player/gameEnv0.lua @@ -49,6 +49,7 @@ return{ visible='show', freshLimit=1e99,easyFresh=true, bufferLimit=1e99, + fillClear=true, fkey1=false,fkey2=false, keyCancel={}, diff --git a/parts/player/player.lua b/parts/player/player.lua index 17dc0c87..317c9d44 100644 --- a/parts/player/player.lua +++ b/parts/player/player.lua @@ -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