新增节奏模式,地图排版微调

This commit is contained in:
MrZ626
2021-02-15 02:58:52 +08:00
parent d824f987b8
commit 8464a93106
11 changed files with 254 additions and 69 deletions

View File

@@ -705,6 +705,8 @@ return{
["master_final"]= {"Master", "FINAL", "20G: Unreachable end point!"},
["master_phantasm"]= {"Master", "PHANTASM", "20G: ???"},
["GM"]= {"GrandMaster", "GM", "To be a Grand Master, take \nthis challenge."},
["rhythm_h"]= {"Rhythm", "HARD", "200-line marathon with accelerating rhythm."},
["rhythm_u"]= {"Rhythm", "ULTIMATE", "200-line high-speed rhythm marathon."},
["blind_e"]= {"Blind", "HALF", "For novice players."},
["blind_n"]= {"Blind", "ALL", "For intermediate players."},
["blind_h"]= {"Blind", "SUDDEN", "For experienced players."},

View File

@@ -622,6 +622,8 @@ return{
["master_advance"]= {"Master", "ULTIME", "Challenge 20G pro !"},
["master_final"]= {"Master", "FINAL", "20G : Un point final impossible à atteindre !"},
["GM"]= {"GrandMaster", "GM", "Tentez de devenir un Grandmaster."},
-- ["rhythm_h"]= {"Rhythm", "HARD", "200-line marathon with accelerating rhythm."},
-- ["rhythm_u"]= {"Rhythm", "ULTIMATE", "200-line high-speed rhythm marathon."},
["blind_e"]= {"Aveugle", "MOITIE", "Pour les novices."},
["blind_n"]= {"Aveugle", "TOUT", "Pour les joueurs intermédiaires."},
["blind_h"]= {"Aveugle", "SOUDAIN", "Pour les bons jooeurs."},

View File

@@ -701,6 +701,8 @@ return{
["master_final"]= {"Mestre", "FINAL", "20G: Final inalcançável!"},
["master_phantasm"]= {"Mestre", "FANTASMA", "20G: ???"},
["GM"]= {"GrandMaster", "GM", "Para ser um Grand Master, aceite \nesse desafio."},
-- ["rhythm_h"]= {"Rhythm", "HARD", "200-line marathon with accelerating rhythm."},
-- ["rhythm_u"]= {"Rhythm", "ULTIMATE", "200-line high-speed rhythm marathon."},
["blind_e"]= {"Cego", "METADE", "Para novatos."},
["blind_n"]= {"Cego", "TUDO", "Para intermediários."},
["blind_h"]= {"Cego", "DE REPENTE", "Para experientes."},

View File

@@ -617,6 +617,8 @@ return{
["master_advance"]= {"Master", "Supremo", "¡Desafío profesional de 20G!"},
["master_final"]= {"Master", "FINAL", "El verdadero 20G Supremo: el final es inalcanzable."},
["GM"]= {"GrandMaster", "GM", "Para ser un gran maestro, acepta este desafío"},
-- ["rhythm_h"]= {"Rhythm", "HARD", "200-line marathon with accelerating rhythm."},
-- ["rhythm_u"]= {"Rhythm", "ULTIMATE", "200-line high-speed rhythm marathon."},
["blind_e"]= {"A Ciegas", "Parcial", "Para novatos."},
["blind_n"]= {"A Ciegas", "Total", "Para jugadores intermedios."},
["blind_h"]= {"A Ciegas", "Inmediato", "Para jugadores experimentados"},

View File

@@ -224,6 +224,8 @@ return{
["master_final"]= {"大师", "终点", "究极20G:真正的游戏"},
["master_phantasm"]= {"大师", "虚幻", "虚幻20G:好玩"},
["GM"]= {"宗师", "GM", "你行你上"},
["rhythm_h"]= {"节奏", "困难", "不好玩的"},
["rhythm_u"]= {"节奏", "极限", "开局暴毙警告"},
["blind_e"]= {"隐形", "半隐", "谁都能玩"},
["blind_n"]= {"隐形", "全隐", "稍加练习即可"},
["blind_h"]= {"隐形", "瞬隐", "和上一个一样"},

View File

@@ -707,6 +707,8 @@ return{
["master_final"]= {"大师", "终点", "究极20G:无法触及的终点"},
["master_phantasm"]= {"大师", "虚幻", "虚幻20G:???"},
["GM"]= {"宗师", "GM", "成为方块大师"},
["rhythm_h"]= {"节奏", "困难", "200行加速节奏马拉松"},
["rhythm_u"]= {"节奏", "极限", "200行超高速节奏马拉松"},
["blind_e"]= {"隐形", "半隐", "不强大脑"},
["blind_n"]= {"隐形", "全隐", "挺强大脑"},
["blind_h"]= {"隐形", "瞬隐", "很强大脑"},

View File

@@ -183,6 +183,8 @@ return{
["master_final"]= {"大师", "终点", "究极20G:无法触及的终点"},
["master_phantasm"]= {"大师", "虚幻", "虚幻20G:???"},
["GM"]= {"宗师", "GM", "成为方块大师"},
["rhythm_h"]= {"节奏", "困难", "200行加速节奏马拉松"},
["rhythm_u"]= {"节奏", "极限", "200行超高速节奏马拉松"},
["blind_e"]= {"隐形", "半隐", "不强大脑"},
["blind_n"]= {"隐形", "全隐", "挺强大脑"},
["blind_h"]= {"隐形", "瞬隐", "很强大脑"},

View File

@@ -1,103 +1,106 @@
return{
{name="sprint_10l", x=0, y=0, size=35,shape=1,icon="sprint", unlock={"sprint_20l","sprint_40l"}},
{name="sprint_20l", x=-200, y=0, size=45,shape=1,icon="sprint"},
{name="sprint_40l", x=0, y=-300, size=35,shape=1,icon="sprint", unlock={"dig_10l","sprint_100l","marathon_n","sprintPenta","sprintMPH"}},
{name="sprint_100l", x=-200, y=-200, size=45,shape=1,icon="sprint", unlock={"sprint_400l","drought_n"}},
{name="sprint_400l", x=-400, y=-200, size=35,shape=1,icon="sprint", unlock={"sprint_1000l"}},
{name="sprint_1000l", x=-600, y=-200, size=35,shape=1,icon="sprint"},
{name="sprint_10l", x=0, y=0, size=40,shape=1,icon="sprint", unlock={"sprint_20l","sprint_40l"}},
{name="sprint_20l", x=-200, y=0, size=50,shape=1,icon="sprint"},
{name="sprint_40l", x=0, y=-300, size=40,shape=1,icon="sprint", unlock={"dig_10l","sprint_100l","marathon_n","sprintPenta","sprintMPH"}},
{name="sprint_100l", x=-200, y=-200, size=50,shape=1,icon="sprint", unlock={"sprint_400l","drought_n"}},
{name="sprint_400l", x=-400, y=-200, size=40,shape=1,icon="sprint", unlock={"sprint_1000l"}},
{name="sprint_1000l", x=-600, y=-200, size=40,shape=1,icon="sprint"},
{name="sprintPenta", x=210, y=-370, size=40,shape=3,icon="sprint"},
{name="sprintMPH", x=210, y=-230, size=40,shape=3,icon="sprint"},
{name="drought_n", x=-400, y=0, size=35,shape=1,icon="noI", unlock={"drought_l"}},
{name="drought_l", x=-600, y=0, size=35,shape=1,icon="mess"},
{name="drought_n", x=-400, y=0, size=40,shape=1,icon="noI", unlock={"drought_l"}},
{name="drought_l", x=-600, y=0, size=40,shape=1,icon="mess"},
{name="dig_10l", x=-200, y=-400, size=35,shape=1,icon="dig", unlock={"dig_40l"}},
{name="dig_40l", x=-400, y=-400, size=35,shape=1,icon="dig", unlock={"dig_100l"}},
{name="dig_100l", x=-600, y=-400, size=35,shape=1,icon="dig", unlock={"dig_400l"}},
{name="dig_400l", x=-800, y=-200, size=35,shape=1,icon="dig"},
{name="dig_10l", x=-200, y=-400, size=40,shape=1,icon="dig", unlock={"dig_40l"}},
{name="dig_40l", x=-400, y=-400, size=40,shape=1,icon="dig", unlock={"dig_100l"}},
{name="dig_100l", x=-600, y=-400, size=40,shape=1,icon="dig", unlock={"dig_400l"}},
{name="dig_400l", x=-800, y=-200, size=40,shape=1,icon="dig"},
{name="marathon_n", x=0, y=-600, size=55,shape=1,icon="marathon",unlock={"marathon_h","solo_e","round_e","blind_e","classic_fast","survivor_e","bigbang","zen"}},
{name="marathon_h", x=0, y=-800, size=45,shape=1,icon="marathon",unlock={"master_beginner"}},
{name="marathon_n", x=0, y=-600, size=60,shape=1,icon="marathon",unlock={"marathon_h","rhythm_h","solo_e","round_e","blind_e","classic_fast","survivor_e","bigbang","zen"}},
{name="marathon_h", x=0, y=-800, size=50,shape=1,icon="marathon",unlock={"master_beginner"}},
{name="solo_e", x=-300, y=-1000,size=35,shape=1,icon="solo", unlock={"solo_n"}},
{name="solo_n", x=-500, y=-1000,size=35,shape=1,icon="solo", unlock={"solo_h"}},
{name="solo_h", x=-700, y=-1000,size=35,shape=1,icon="solo", unlock={"solo_l","techmino49_e"}},
{name="solo_l", x=-900, y=-1000,size=35,shape=1,icon="solo", unlock={"solo_u"}},
{name="solo_u", x=-1100,y=-1000,size=35,shape=1,icon="solo"},
{name="solo_e", x=-600, y=-1000,size=40,shape=1,icon="solo", unlock={"solo_n"}},
{name="solo_n", x=-800, y=-1000,size=40,shape=1,icon="solo", unlock={"solo_h"}},
{name="solo_h", x=-1000,y=-1000,size=40,shape=1,icon="solo", unlock={"solo_l","techmino49_e"}},
{name="solo_l", x=-1200,y=-1000,size=40,shape=1,icon="solo", unlock={"solo_u"}},
{name="solo_u", x=-1400,y=-1000,size=40,shape=1,icon="solo"},
{name="techmino49_e", x=-900, y=-1200,size=35,shape=1,icon="royale", unlock={"techmino49_h","techmino99_e"}},
{name="techmino49_h", x=-900, y=-1400,size=35,shape=1,icon="royale", unlock={"techmino49_u"}},
{name="techmino49_u", x=-900, y=-1600,size=35,shape=1,icon="royale"},
{name="techmino99_e", x=-1100,y=-1400,size=35,shape=1,icon="royale", unlock={"techmino99_h"}},
{name="techmino99_h", x=-1100,y=-1600,size=35,shape=1,icon="royale", unlock={"techmino99_u"}},
{name="techmino99_u", x=-1100,y=-1800,size=35,shape=1,icon="royale"},
{name="techmino49_e", x=-1100,y=-1200,size=40,shape=1,icon="royale", unlock={"techmino49_h","techmino99_e"}},
{name="techmino49_h", x=-1100,y=-1400,size=40,shape=1,icon="royale", unlock={"techmino49_u"}},
{name="techmino49_u", x=-1100,y=-1600,size=40,shape=1,icon="royale"},
{name="techmino99_e", x=-1300,y=-1400,size=40,shape=1,icon="royale", unlock={"techmino99_h"}},
{name="techmino99_h", x=-1300,y=-1600,size=40,shape=1,icon="royale", unlock={"techmino99_u"}},
{name="techmino99_u", x=-1300,y=-1800,size=40,shape=1,icon="royale"},
{name="round_e", x=-300, y=-800, size=35,shape=1,icon="round", unlock={"round_n"}},
{name="round_n", x=-500, y=-800, size=35,shape=1,icon="round", unlock={"round_h"}},
{name="round_h", x=-700, y=-800, size=35,shape=1,icon="round", unlock={"round_l"}},
{name="round_l", x=-900, y=-800, size=35,shape=1,icon="round", unlock={"round_u"}},
{name="round_u", x=-1100,y=-800, size=35,shape=1,icon="round"},
{name="round_e", x=-600, y=-800, size=40,shape=1,icon="round", unlock={"round_n"}},
{name="round_n", x=-800, y=-800, size=40,shape=1,icon="round", unlock={"round_h"}},
{name="round_h", x=-1000,y=-800, size=40,shape=1,icon="round", unlock={"round_l"}},
{name="round_l", x=-1200,y=-800, size=40,shape=1,icon="round", unlock={"round_u"}},
{name="round_u", x=-1400,y=-800, size=40,shape=1,icon="round"},
{name="master_beginner",x=0, y=-1000,size=35,shape=1,icon="master", unlock={"master_advance"}},
{name="master_advance", x=0, y=-1200,size=35,shape=3,icon="master", unlock={"master_final","GM","master_phantasm"}},
{name="master_beginner",x=0, y=-1000,size=40,shape=1,icon="master", unlock={"master_advance"}},
{name="master_advance", x=0, y=-1200,size=40,shape=3,icon="master", unlock={"master_final","GM","master_phantasm"}},
{name="master_final", x=0, y=-1600,size=40,shape=2,icon="master"},
{name="master_phantasm",x=-150, y=-1500,size=40,shape=2,icon="master"},
{name="GM", x=150, y=-1500,size=35,shape=2,icon="master"},
{name="GM", x=150, y=-1500,size=40,shape=2,icon="master"},
{name="blind_e", x=150, y=-700, size=35,shape=1,icon="blind", unlock={"blind_n"}},
{name="blind_n", x=150, y=-800, size=35,shape=1,icon="blind", unlock={"blind_h"}},
{name="rhythm_h", x=-500, y=-1200,size=40,shape=3,icon="rhythm", unlock={"rhythm_u"}},
{name="rhythm_u", x=-500, y=-1500,size=40,shape=2,icon="rhythm"},
{name="blind_e", x=150, y=-700, size=40,shape=1,icon="blind", unlock={"blind_n"}},
{name="blind_n", x=150, y=-800, size=40,shape=1,icon="blind", unlock={"blind_h"}},
{name="blind_h", x=150, y=-900, size=35,shape=1,icon="blind", unlock={"blind_l"}},
{name="blind_l", x=150, y=-1000,size=35,shape=3,icon="blind", unlock={"blind_u"}},
{name="blind_u", x=150, y=-1100,size=35,shape=3,icon="blind", unlock={"blind_wtf"}},
{name="blind_wtf", x=150, y=-1200,size=35,shape=2,icon="blind"},
{name="classic_fast", x=-300, y=-1200,size=40,shape=2,icon="classic"},
{name="classic_fast", x=-150, y=-950,size=40,shape=2,icon="classic"},
{name="survivor_e", x=300, y=-600, size=35,shape=1,icon="survivor",unlock={"survivor_n"}},
{name="survivor_n", x=500, y=-600, size=35,shape=1,icon="survivor",unlock={"survivor_h","attacker_h","defender_n","dig_h"}},
{name="survivor_h", x=700, y=-600, size=35,shape=1,icon="survivor",unlock={"survivor_l"}},
{name="survivor_l", x=900, y=-600, size=35,shape=3,icon="survivor",unlock={"survivor_u"}},
{name="survivor_u", x=1100, y=-600, size=35,shape=2,icon="survivor"},
{name="survivor_e", x=300, y=-600, size=40,shape=1,icon="survivor",unlock={"survivor_n"}},
{name="survivor_n", x=500, y=-600, size=40,shape=1,icon="survivor",unlock={"survivor_h","attacker_h","defender_n","dig_h"}},
{name="survivor_h", x=700, y=-600, size=40,shape=1,icon="survivor",unlock={"survivor_l"}},
{name="survivor_l", x=900, y=-600, size=40,shape=3,icon="survivor",unlock={"survivor_u"}},
{name="survivor_u", x=1100, y=-600, size=40,shape=2,icon="survivor"},
{name="attacker_h", x=300, y=-800, size=35,shape=1,icon="attacker",unlock={"attacker_u"}},
{name="attacker_u", x=300, y=-1000,size=35,shape=1,icon="attacker"},
{name="attacker_h", x=300, y=-800, size=40,shape=1,icon="attacker",unlock={"attacker_u"}},
{name="attacker_u", x=300, y=-1000,size=40,shape=1,icon="attacker"},
{name="defender_n", x=500, y=-800, size=35,shape=1,icon="defender",unlock={"defender_l"}},
{name="defender_l", x=500, y=-1000,size=35,shape=1,icon="defender"},
{name="defender_n", x=500, y=-800, size=40,shape=1,icon="defender",unlock={"defender_l"}},
{name="defender_l", x=500, y=-1000,size=40,shape=1,icon="defender"},
{name="dig_h", x=700, y=-800, size=35,shape=1,icon="dig", unlock={"dig_u"}},
{name="dig_u", x=700, y=-1000,size=35,shape=1,icon="dig"},
{name="dig_h", x=700, y=-800, size=40,shape=1,icon="dig", unlock={"dig_u"}},
{name="dig_u", x=700, y=-1000,size=40,shape=1,icon="dig"},
{name="bigbang", x=400, y=-400, size=55,shape=1,icon="bigbang", unlock={"c4wtrain_n","pctrain_n","tech_n"}},
{name="c4wtrain_n", x=700, y=-400, size=35,shape=1,icon="c4wtrain",unlock={"c4wtrain_l"}},
{name="c4wtrain_l", x=900, y=-400, size=35,shape=1,icon="c4wtrain"},
{name="bigbang", x=400, y=-400, size=50,shape=1,icon="bigbang", unlock={"c4wtrain_n","pctrain_n","tech_n"}},
{name="c4wtrain_n", x=700, y=-400, size=40,shape=1,icon="c4wtrain",unlock={"c4wtrain_l"}},
{name="c4wtrain_l", x=900, y=-400, size=40,shape=1,icon="c4wtrain"},
{name="pctrain_n", x=700, y=-220, size=35,shape=1,icon="pctrain", unlock={"pctrain_l","pc_n"}},
{name="pctrain_l", x=900, y=-220, size=35,shape=1,icon="pctrain"},
{name="pctrain_n", x=700, y=-220, size=40,shape=1,icon="pctrain", unlock={"pctrain_l","pc_n"}},
{name="pctrain_l", x=900, y=-220, size=40,shape=1,icon="pctrain"},
{name="pc_n", x=800, y=-100, size=35,shape=1,icon="pc", unlock={"pc_h"}},
{name="pc_h", x=1000, y=-100, size=35,shape=3,icon="pc", unlock={"pc_l"}},
{name="pc_l", x=1200, y=-100, size=35,shape=2,icon="pc"},
{name="pc_n", x=800, y=-100, size=40,shape=1,icon="pc", unlock={"pc_h"}},
{name="pc_h", x=1000, y=-100, size=40,shape=3,icon="pc", unlock={"pc_l"}},
{name="pc_l", x=1200, y=-100, size=40,shape=2,icon="pc"},
{name="tech_n", x=400, y=-150, size=35,shape=1,icon="tech", unlock={"tech_n_plus","tech_h","tech_finesse"}},
{name="tech_n_plus", x=650, y=150, size=35,shape=3,icon="tech", unlock={"tsd_e"}},
{name="tech_h", x=400, y=40, size=35,shape=1,icon="tech", unlock={"tech_h_plus","tech_l"}},
{name="tech_n", x=400, y=-150, size=40,shape=1,icon="tech", unlock={"tech_n_plus","tech_h","tech_finesse"}},
{name="tech_n_plus", x=650, y=150, size=40,shape=3,icon="tech", unlock={"tsd_e"}},
{name="tech_h", x=400, y=40, size=40,shape=1,icon="tech", unlock={"tech_h_plus","tech_l"}},
{name="tech_h_plus", x=200, y=70, size=35,shape=3,icon="tech"},
{name="tech_l", x=400, y=200, size=35,shape=1,icon="tech", unlock={"tech_l_plus"}},
{name="tech_l", x=400, y=200, size=40,shape=1,icon="tech", unlock={"tech_l_plus"}},
{name="tech_l_plus", x=200, y=230, size=35,shape=3,icon="tech"},
{name="tech_finesse", x=800, y=50, size=35,shape=1,icon="tech", unlock={"tech_finesse_f"}},
{name="tech_finesse_f", x=1000, y=50, size=35,shape=1,icon="tech"},
{name="tech_finesse", x=800, y=50, size=40,shape=1,icon="tech", unlock={"tech_finesse_f"}},
{name="tech_finesse_f", x=1000, y=50, size=40,shape=1,icon="tech"},
{name="tsd_e", x=800, y=250, size=35,shape=1,icon="tsd", unlock={"tsd_h"}},
{name="tsd_h", x=1000, y=250, size=35,shape=1,icon="tsd", unlock={"tsd_u"}},
{name="tsd_u", x=1200, y=250, size=35,shape=1,icon="tsd"},
{name="tsd_e", x=800, y=250, size=40,shape=1,icon="tsd", unlock={"tsd_h"}},
{name="tsd_h", x=1000, y=250, size=40,shape=1,icon="tsd", unlock={"tsd_u"}},
{name="tsd_u", x=1200, y=250, size=40,shape=1,icon="tsd"},
{name="zen", x=-800, y=-600, size=35,shape=1,icon="zen", unlock={"ultra","infinite","infinite_dig"}},
{name="ultra", x=-1000,y=-400, size=35,shape=1,icon="ultra"},
{name="infinite", x=-800, y=-400, size=35,shape=1,icon="infinite"},
{name="infinite_dig", x=-1000,y=-600, size=35,shape=1,icon="infinite"},
{name="zen", x=-800, y=-600, size=40,shape=1,icon="zen", unlock={"ultra","infinite","infinite_dig"}},
{name="ultra", x=-1000,y=-400, size=40,shape=1,icon="ultra"},
{name="infinite", x=-800, y=-400, size=40,shape=1,icon="infinite"},
{name="infinite_dig", x=-1000,y=-600, size=40,shape=1,icon="infinite"},
{name="sprintFix"},
{name="sprintLock"},

81
parts/modes/rhythm_h.lua Normal file
View File

@@ -0,0 +1,81 @@
local gc=love.graphics
local dropSpeed={[0]=60,50,40,30,24,18,14,10,8,6,5,4,3,2,1,1,.5,.5,.25,.25}
return{
color=COLOR.magenta,
env={
noTele=true,
lock=1e99,
wait=10,fall=15,
mindas=7,minarr=1,minsdarr=1,
keyCancel={6},
dropPiece=function(P)
if P.stat.row>=P.modeData.target then
if P.modeData.target==200 then
P:win("finish")
else
P.modeData.bpm=60+3*P.modeData.target/10
P.modeData.beatFrame=math.floor(3600/P.modeData.bpm)
P.gameEnv.wait=math.max(P.gameEnv.wait-1,0)
P.gameEnv.fall=math.max(P.gameEnv.fall-1,0)
P.gameEnv.drop=dropSpeed[P.modeData.target/10]
P.modeData.target=P.modeData.target+10
SFX.play("reach")
end
end
end,
task=function(P)
P.modeData.target=10
P.modeData.bpm=60
P.modeData.beatFrame=60
P.modeData.counter=60
while true do
coroutine.yield()
P.modeData.counter=P.modeData.counter-1
if P.modeData.counter==0 then
P.modeData.counter=P.modeData.beatFrame
SFX.play("click",.3)
P:switchKey(6,true)
P:pressKey(6)
P:switchKey(6,false)
end
end
end,
bg="bg2",bgm="push",
},
pauseLimit=true,
slowMark=true,
load=function()
PLY.newPlayer(1)
end,
mesDisp=function(P)
setFont(45)
mStr(P.stat.row,69,320)
mStr(P.modeData.target,69,370)
gc.rectangle("fill",25,375,90,4)
setFont(30)
mStr(P.modeData.bpm,69,178)
gc.setLineWidth(4)
gc.circle("line",69,200,30)
local beat=P.modeData.counter/P.modeData.beatFrame
gc.setColor(1,1,1,1-beat)
gc.setLineWidth(3)
gc.circle("line",69,200,30+45*beat)
end,
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(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 L=P.stat.row
return
L>=200 and 5 or
L>=170 and 4 or
L>=140 and 3 or
L>=100 and 2 or
L>=50 and 1 or
L>=20 and 0
end,
}

87
parts/modes/rhythm_u.lua Normal file
View File

@@ -0,0 +1,87 @@
local gc=love.graphics
return{
color=COLOR.magenta,
env={
noTele=true,
lock=1e99,
drop=.5,
wait=4,fall=8,
das=6,minarr=1,minsdarr=1,
keyCancel={6},
dropPiece=function(P)
if P.stat.row>=P.modeData.target then
if P.modeData.target==200 then
P:win("finish")
else
P.modeData.bpm=120+2*P.modeData.target/10
P.modeData.beatFrame=math.floor(3600/P.modeData.bpm)
P.gameEnv.wait=math.max(P.gameEnv.wait-1,0)
P.gameEnv.fall=math.max(P.gameEnv.fall-1,0)
if P.modeData.target==50 then
P.gameEnv.das=5
P.gameEnv.drop=.25
elseif P.modeData.target==100 then
P.gameEnv.das=4
P:set20G(true)
end
P.modeData.target=P.modeData.target+10
SFX.play("reach")
end
end
end,
task=function(P)
P.modeData.target=10
P.modeData.bpm=120
P.modeData.beatFrame=30
P.modeData.counter=30
while true do
coroutine.yield()
P.modeData.counter=P.modeData.counter-1
if P.modeData.counter==0 then
P.modeData.counter=P.modeData.beatFrame
SFX.play("click",.3)
P:switchKey(6,true)
P:pressKey(6)
P:switchKey(6,false)
end
end
end,
bg="bg2",bgm="push",
},
pauseLimit=true,
slowMark=true,
load=function()
PLY.newPlayer(1)
end,
mesDisp=function(P)
setFont(45)
mStr(P.stat.row,69,320)
mStr(P.modeData.target,69,370)
gc.rectangle("fill",25,375,90,4)
setFont(30)
mStr(P.modeData.bpm,69,178)
gc.setLineWidth(4)
gc.circle("line",69,200,30)
local beat=P.modeData.counter/P.modeData.beatFrame
gc.setColor(1,1,1,1-beat)
gc.setLineWidth(3)
gc.circle("line",69,200,30+45*beat)
end,
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(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 L=P.stat.row
return
L>=200 and 5 or
L>=170 and 4 or
L>=140 and 3 or
L>=100 and 2 or
L>=50 and 1 or
L>=20 and 0
end,
}

View File

@@ -52,7 +52,7 @@ end
local function moveMap(dx,dy)
local k=getK()
local x,y=getPos()
if x>1300 and dx<0 or x<-1200 and dx>0 then dx=0 end
if x>1300 and dx<0 or x<-1500 and dx>0 then dx=0 end
if y>420 and dy<0 or y<-1900 and dy>0 then dy=0 end
mapCam.xOy:translate(dx/k,dy/k)
end