54 lines
1.5 KiB
Lua
54 lines
1.5 KiB
Lua
local gc=love.graphics
|
|
local dropSpeed={[0]=30,26,23,20,17,14,12,10,8,6,5,4,3,2,1,1,.5,.5,.25,.25}
|
|
|
|
return{
|
|
drop=30,
|
|
lock=1e99,
|
|
wait=10,
|
|
fall=60,
|
|
mesDisp=function(P)
|
|
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
|
|
|
|
setFont(30)
|
|
mStr(P.modeData.bpm,63,178)
|
|
|
|
gc.setLineWidth(4)
|
|
gc.circle('line',63,200,30)
|
|
|
|
local beat=P.modeData.counter/P.modeData.beatFrame
|
|
gc.setColor(1,1,1,1-beat)
|
|
gc.setLineWidth(3)
|
|
gc.circle('line',63,200,30+45*beat)
|
|
end,
|
|
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.fall=P.modeData.beatFrame
|
|
P.gameEnv.wait=math.max(P.gameEnv.wait-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
|
|
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:act_hardDrop()
|
|
end
|
|
end
|
|
end,
|
|
}
|