新增tsd极限模式(填坑) close #157
This commit is contained in:
1
main.lua
1
main.lua
@@ -283,6 +283,7 @@ do
|
|||||||
if temp1 then fs.write('record/master_u.rec',temp1)end
|
if temp1 then fs.write('record/master_u.rec',temp1)end
|
||||||
if temp2 then fs.write('record/master_l.rec',temp2)end
|
if temp2 then fs.write('record/master_l.rec',temp2)end
|
||||||
RANKS.master_l,RANKS.master_u=RANKS.master_u,RANKS.master_l
|
RANKS.master_l,RANKS.master_u=RANKS.master_u,RANKS.master_l
|
||||||
|
if RANKS.tsd_u then RANKS.tsd_u=0 end
|
||||||
needSave=true
|
needSave=true
|
||||||
end
|
end
|
||||||
if STAT.version~=VERSION.code then
|
if STAT.version~=VERSION.code then
|
||||||
|
|||||||
@@ -1,8 +1,16 @@
|
|||||||
|
local gc=love.graphics
|
||||||
local function check_tsd(P)
|
local function check_tsd(P)
|
||||||
local C=P.lastPiece
|
local C=P.lastPiece
|
||||||
if C.row>0 then
|
if C.row>0 then
|
||||||
if C.id==5 and C.row==2 and C.spin then
|
if C.id==5 and C.row==2 and C.spin then
|
||||||
P.modeData.tsd=P.modeData.tsd+1
|
P.modeData.tsd=P.modeData.tsd+1
|
||||||
|
if TABLE.find(P.modeData.history,C.centX)then
|
||||||
|
P:showText("STACK",0,-140,40,'flicker',.3)
|
||||||
|
P:lose()
|
||||||
|
else
|
||||||
|
table.insert(P.modeData.history,1,C.centX)
|
||||||
|
P.modeData.history[5]=nil
|
||||||
|
end
|
||||||
else
|
else
|
||||||
P:lose()
|
P:lose()
|
||||||
end
|
end
|
||||||
@@ -15,6 +23,7 @@ return{
|
|||||||
drop=60,lock=60,
|
drop=60,lock=60,
|
||||||
freshLimit=15,
|
freshLimit=15,
|
||||||
dropPiece=check_tsd,
|
dropPiece=check_tsd,
|
||||||
|
task=function(P)P.modeData.history={}end,
|
||||||
ospin=false,
|
ospin=false,
|
||||||
bg='matrix',bgm='vapor',
|
bg='matrix',bgm='vapor',
|
||||||
},
|
},
|
||||||
@@ -26,6 +35,14 @@ return{
|
|||||||
setFont(65)
|
setFont(65)
|
||||||
mStr(P.modeData.tsd,69,250)
|
mStr(P.modeData.tsd,69,250)
|
||||||
mText(drawableText.tsd,69,315)
|
mText(drawableText.tsd,69,315)
|
||||||
|
gc.push('transform')
|
||||||
|
PLY.draw.applyFieldOffset(P)
|
||||||
|
local L=P.modeData.history
|
||||||
|
for i=1,#L do
|
||||||
|
gc.setColor(1,.5,.5,.3-i*.05)
|
||||||
|
gc.rectangle('fill',30*L[i]-30,0,30,600)
|
||||||
|
end
|
||||||
|
gc.pop()
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.modeData.tsd,P.stat.time}end,
|
score=function(P)return{P.modeData.tsd,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].."TSD "..STRING.time(D[2])end,
|
scoreDisp=function(D)return D[1].."TSD "..STRING.time(D[2])end,
|
||||||
@@ -36,8 +53,8 @@ return{
|
|||||||
T>=20 and 5 or
|
T>=20 and 5 or
|
||||||
T>=18 and 4 or
|
T>=18 and 4 or
|
||||||
T>=16 and 3 or
|
T>=16 and 3 or
|
||||||
T>=14 and 2 or
|
T>=13 and 2 or
|
||||||
T>=12 and 1 or
|
T>=10 and 1 or
|
||||||
T>=1 and 0
|
T>=4 and 0
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user