新tips,修复手机旋屏bug,各种调平,统计数据简化

This commit is contained in:
MrZ_26
2020-07-19 21:33:03 +08:00
parent 74bc1a2544
commit 60cbc83313
21 changed files with 127 additions and 122 deletions

View File

@@ -369,7 +369,7 @@ function keyDown.sequence(key)
elseif key=="delete"then elseif key=="delete"then
if sceneTemp.sure>20 then if sceneTemp.sure>20 then
preBag={} preBag={}
sceneTemp.cur=7 sceneTemp.cur=0
sceneTemp.sure=0 sceneTemp.sure=0
else else
sceneTemp.sure=50 sceneTemp.sure=50
@@ -720,7 +720,7 @@ function keyDown.staff(key,RESET)
if key=="escape"then if key=="escape"then
SCN.back() SCN.back()
elseif key=="\122"then elseif key=="\122"then
if kb.isDown("\109")and kb.isDown("\114")or RESET then if RESET or kb.isDown("\109")and kb.isDown("\114")then
sceneTemp.ct=sceneTemp.ct+1 sceneTemp.ct=sceneTemp.ct+1
if sceneTemp.ct==5 then if sceneTemp.ct==5 then
TEXT.show("What are you up to?",640,200,40,"appear",.5) TEXT.show("What are you up to?",640,200,40,"appear",.5)
@@ -1021,7 +1021,11 @@ function love.resize(w,h)
SHADER.warning:send("h",h*scr.dpi) SHADER.warning:send("h",h*scr.dpi)
end end
function love.focus(f) function love.focus(f)
if SCN.cur=="play"and not f and setting.autoPause then pauseGame()end if f then
TASK.new(TICK.autoResize,{0})
elseif SCN.cur=="play"and setting.autoPause then
pauseGame()
end
end end
local scs={1,2,1,2,1,2,1,2,1,2,1.5,1.5,.5,2.5} local scs={1,2,1,2,1,2,1,2,1,2,1.5,1.5,.5,2.5}
local devColor={ local devColor={

View File

@@ -1,7 +1,7 @@
local langList={ local langList={
{ {
anykey="按任意键继续", anykey="按任意键继续",
newVersion="检测到更新!存档格式可能更新,设置已重置", newVersion="检测到更新!存档格式已修改",
marking="游戏作者:MrZ_26\n任何视频/直播不得出现此水印\n任何转述声明无效", marking="游戏作者:MrZ_26\n任何视频/直播不得出现此水印\n任何转述声明无效",
lang="中文", lang="中文",
atkModeName={"随机","徽章","击杀","反击"}, atkModeName={"随机","徽章","击杀","反击"},
@@ -442,7 +442,7 @@ local langList={
}, },
{ {
anykey="按任意键继续", anykey="按任意键继续",
newVersion="检测到更新!存档格式可能更新,设置已重置", newVersion="检测到更新!存档格式已修改",
marking="游戏作者:MrZ_26\n任何视频/直播不得出现此水印\n任何转述声明无效", marking="游戏作者:MrZ_26\n任何视频/直播不得出现此水印\n任何转述声明无效",
lang="全中文", lang="全中文",
atkModeName={"随机","徽章","击杀","反击"}, atkModeName={"随机","徽章","击杀","反击"},
@@ -880,7 +880,7 @@ local langList={
}, },
{ {
anykey="Press any button", anykey="Press any button",
newVersion="Updating detected! Save format may have been updated, settings reseted", newVersion="Updating detected! Saving format updated",
marking="Game Author:MrZ_26\nIllegal recording if see this\nAny explanation invalid", marking="Game Author:MrZ_26\nIllegal recording if see this\nAny explanation invalid",
lang="English", lang="English",
atkModeName={"Random","Badges","K.O.s","Attackers"}, atkModeName={"Random","Badges","K.O.s","Attackers"},
@@ -1307,7 +1307,7 @@ local langList={
}, },
{ {
anykey="↓□↓", anykey="↓□↓",
newVersion="&!!! ___/_?_ R", newVersion="&!!! ___!",
marking="Game Author:MrZ_26\nIllegal recording if see this\nAny explanation invalid", marking="Game Author:MrZ_26\nIllegal recording if see this\nAny explanation invalid",
lang="?????", lang="?????",
atkModeName={"?","( )","!","←→"}, atkModeName={"?","( )","!","←→"},

View File

@@ -118,8 +118,8 @@ function sceneInit.pause(org)
format("%d(%d) %.2fLPM",S.row,S.dig,S.row/S.time*60), format("%d(%d) %.2fLPM",S.row,S.dig,S.row/S.time*60),
format("%d(%d)",S.atk,S.digatk), format("%d(%d)",S.atk,S.digatk),
format("%d(%d-%d)",S.pend,S.recv,S.recv-S.pend), format("%d(%d-%d)",S.pend,S.recv,S.recv-S.pend),
format("%d/%d/%d/%d",S.clear_S[1],S.clear_S[2],S.clear_S[3],S.clear_S[4]), format("%d/%d/%d/%d",S.clears[1],S.clears[2],S.clears[3],S.clears[4]),
format("(%d)/%d/%d/%d",S.spin_S[1],S.spin_S[2],S.spin_S[3],S.spin_S[4]), format("(%d)/%d/%d/%d",S.spins[1],S.spins[2],S.spins[3],S.spins[4]),
format("%d(+%d)/%d(%d)",S.b2b,S.b3b,S.pc,S.hpc), format("%d(+%d)/%d(%d)",S.b2b,S.b3b,S.pc,S.hpc),
format("%d[%.2f%%]",S.extraPiece,100*max(1-S.extraRate/S.piece,0)), format("%d[%.2f%%]",S.extraPiece,100*max(1-S.extraRate/S.piece,0)),
}, },
@@ -223,12 +223,22 @@ function sceneInit.staff()
end end
function sceneInit.stat() function sceneInit.stat()
local S=stat local S=stat
local X1,X2,Y1,Y2={0,0,0,0},{0,0,0,0},{},{}
for i=1,7 do
local S,C=S.spin[i],S.clear[i]
Y1[i]=S[1]+S[2]+S[3]+S[4]
Y2[i]=C[1]+C[2]+C[3]+C[4]
for j=1,4 do
X1[j]=X1[j]+S[j]
X2[j]=X2[j]+C[j]
end
end
sceneTemp={ sceneTemp={
count=0, count=0,
chart={ chart={
A1=S.spin,A2=S.clear, A1=S.spin,A2=S.clear,
X1=S.spin_S,X2=S.clear_S, X1=X1,X2=X2,
Y1=S.spin_B,Y2=S.clear_B, Y1=Y1,Y2=Y2,
}, },
item={ item={
S.run, S.run,

View File

@@ -1,4 +1,4 @@
gameVersion="Alpha V0.9.0" gameVersion="Alpha V0.9.1"
function love.conf(t) function love.conf(t)
t.identity="Techmino"--saving folder t.identity="Techmino"--saving folder
t.version="11.1" t.version="11.1"

BIN
font.ttf

Binary file not shown.

View File

@@ -81,51 +81,8 @@ if fs.getInfo("virtualkey.dat")then FILE.loadVK()end
--update data file --update data file
S=stat S=stat
if not S.version or S.version=="Alpha V0.8.15"then S.clear_B,S.clear_S=nil
S.clear_S={S.clear_1,S.clear_2,S.clear_3,S.clear_4} if not S.clear[1][5]then
S.clear={{},{},{},{},{},{},{}}
local A,B,C,D=int(S.clear_1/7),int(S.clear_2/7),int(S.clear_3/7),S.clear_4
for i=1,7 do
S.clear[i][1]=A
S.clear[i][2]=B
S.clear[i][3]=C
S.clear[i][4]=0
end
S.clear[7][4]=D
for i=1,S.clear_1%7 do S.clear[i][1]=S.clear[i][1]+1 end
for i=1,S.clear_2%7 do S.clear[i][2]=S.clear[i][2]+1 end
for i=1,S.clear_3%7 do S.clear[i][3]=S.clear[i][3]+1 end
S.clear_B={}
for i=1,7 do
S.clear_B[i]=S.clear[i][1]+S.clear[i][2]+S.clear[i][3]+S.clear[i][4]
end
S.spin_S={S.spin_0,S.spin_1,S.spin_2,S.spin_3}
S.spin={{},{},{},{},{},{},{}}
A,B,C,D=int(S.spin_0/7),int(S.spin_1/7),int(S.spin_2/7),int(S.spin_3/7)
for i=1,7 do
S.spin[i][1]=A
S.spin[i][2]=B
S.spin[i][3]=C
S.spin[i][4]=D
end
for i=1,S.spin_0%7 do S.spin[i][1]=S.spin[i][1]+1 end
for i=1,S.spin_1%7 do S.spin[i][2]=S.spin[i][2]+1 end
for i=1,S.spin_2%7 do S.spin[i][3]=S.spin[i][3]+1 end
for i=1,S.spin_3%7 do S.spin[i][4]=S.spin[i][4]+1 end
S.spin_B={}
for i=1,7 do
S.spin_B[i]=S.spin[i][1]+S.spin[i][2]+S.spin[i][3]+S.spin[i][4]
end
S.hpc=S.c
elseif S.version=="Alpha V0.8.16"then
for i=1,6 do
S.clear[7][4]=S.clear[7][4]+S.clear[i][4]
S.clear[i][4]=0
end
end
if not S.clear_B[8]then
for i=1,7 do for i=1,7 do
S.clear[i][5]=0 S.clear[i][5]=0
S.spin[i][5]=0 S.spin[i][5]=0
@@ -133,21 +90,17 @@ if not S.clear_B[8]then
for i=8,25 do for i=8,25 do
S.clear[i]={0,0,0,0,0} S.clear[i]={0,0,0,0,0}
S.spin[i]={0,0,0,0,0} S.spin[i]={0,0,0,0,0}
S.spin_B[i]=0
S.clear_B[i]=0
end end
S.spin_S[5]=0
S.clear_S[5]=0
end end
if S.version=="Alpha V0.8.18"or S.version=="Alpha V0.8.19"then if not S.off then
S.clear[3],S.clear[4]=S.clear[4],S.clear[3]
S.spin[3],S.spin[4]=S.spin[4],S.spin[3]
S.clear_B[3],S.clear_B[4]=S.clear_B[4],S.clear_B[3]
S.spin_B[3],S.spin_B[4]=S.spin_B[4],S.spin_B[3]
end
if S.version=="Alpha V0.8.22"then
S.off=S.recv-S.pend S.off=S.recv-S.pend
end end
if S.clear[1][4]>0 then
for i=1,6 do
S.clear[7][4]=S.clear[7][4]+S.clear[i][4]
S.clear[i][4]=0
end
end
while #modeRanks>73 do while #modeRanks>73 do
table.remove(modeRanks) table.remove(modeRanks)
end end

View File

@@ -45,7 +45,7 @@ return{
mStr(P.modeData.event,-81,110) mStr(P.modeData.event,-81,110)
setFont(75) setFont(75)
mStr(P.stat.row,-81,220) mStr(P.stat.row,-81,220)
mStr(P.stat.clear_S[4],-81,340) mStr(P.stat.clears[4],-81,340)
end, end,
score=function(P)return{P.modeData.point,P.stat.score}end, score=function(P)return{P.modeData.point,P.stat.score}end,
scoreDisp=function(D)return sectionName[int(D[1]*.1)+1].." "..D[2]end, scoreDisp=function(D)return sectionName[int(D[1]*.1)+1].." "..D[2]end,

View File

@@ -18,7 +18,7 @@ return{
mText(drawableText.techrash,-81,420) mText(drawableText.techrash,-81,420)
setFont(75) setFont(75)
mStr(P.stat.row,-81,220) mStr(P.stat.row,-81,220)
mStr(P.stat.clear_S[4],-81,340) mStr(P.stat.clears[4],-81,340)
end, end,
score=function(P)return{min(P.stat.row or 200),P.stat.time}end, score=function(P)return{min(P.stat.row or 200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end, scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,

View File

@@ -21,7 +21,7 @@ return{
mText(drawableText.techrash,-81,420) mText(drawableText.techrash,-81,420)
setFont(75) setFont(75)
mStr(P.stat.row,-81,220) mStr(P.stat.row,-81,220)
mStr(P.stat.clear_S[4],-81,340) mStr(P.stat.clears[4],-81,340)
gc.setColor(1,1,1,.2) gc.setColor(1,1,1,.2)
gc.draw(IMG.electric,-26,120,0,2.6) gc.draw(IMG.electric,-26,120,0,2.6)
end, end,

View File

@@ -22,7 +22,7 @@ return{
mText(drawableText.techrash,-81,420) mText(drawableText.techrash,-81,420)
setFont(75) setFont(75)
mStr(P.stat.row,-81,220) mStr(P.stat.row,-81,220)
mStr(P.stat.clear_S[4],-81,340) mStr(P.stat.clears[4],-81,340)
gc.setColor(1,1,1,.2) gc.setColor(1,1,1,.2)
gc.draw(IMG.electric,-26,120,0,2.6) gc.draw(IMG.electric,-26,120,0,2.6)
end, end,

View File

@@ -20,7 +20,7 @@ return{
mText(drawableText.techrash,-81,420) mText(drawableText.techrash,-81,420)
setFont(75) setFont(75)
mStr(P.stat.row,-81,220) mStr(P.stat.row,-81,220)
mStr(P.stat.clear_S[4],-81,340) mStr(P.stat.clears[4],-81,340)
gc.setColor(1,1,1,.2) gc.setColor(1,1,1,.2)
gc.draw(IMG.electric,-26,120,0,2.6) gc.draw(IMG.electric,-26,120,0,2.6)
end, end,

View File

@@ -23,7 +23,7 @@ return{
mText(drawableText.techrash,-81,420) mText(drawableText.techrash,-81,420)
setFont(75) setFont(75)
mStr(P.stat.row,-81,220) mStr(P.stat.row,-81,220)
mStr(P.stat.clear_S[4],-81,340) mStr(P.stat.clears[4],-81,340)
gc.setColor(1,1,1,.2) gc.setColor(1,1,1,.2)
gc.draw(IMG.electric,-26,120,0,2.6) gc.draw(IMG.electric,-26,120,0,2.6)
end, end,

View File

@@ -10,13 +10,19 @@ return{
if not P.next[1] then if not P.next[1] then
local height=freeRow.get(0) local height=freeRow.get(0)
local max=#P.field local max=#P.field
for x=1,10 do if max>0 then
local h=max for x=1,10 do
while P.field[h][x]==0 and h>1 do local h=max
h=h-1 while P.field[h][x]==0 and h>1 do
h=h-1
end
height[x]=h
end--get heights
else
for x=1,10 do
height[x]=0
end end
height[x]=h end
end--get heights
height[11]=999 height[11]=999
local res={1,1,2,2,3,4} local res={1,1,2,2,3,4}
@@ -27,9 +33,11 @@ return{
end end
if d<40 or P.stat.row>2*42 then if d<40 or P.stat.row>2*42 then
A=#res+1 A=#res+1
for i=A,A+5 do for i=1,4 do
res[i]=1 res[A]=1
res[i+6]=2 res[A+1]=2
res[A+2]=6
A=A+3
end end
goto END goto END
end end

View File

@@ -63,7 +63,7 @@ return{
getRank=function(P) getRank=function(P)
local S=P.modeData.point local S=P.modeData.point
if S==500 then if S==500 then
local T=P.modeData.time local T=P.stat.time
return return
T<=118 and 5 or T<=118 and 5 or
T<=148 and 4 or T<=148 and 4 or

View File

@@ -67,7 +67,7 @@ return{
getRank=function(P) getRank=function(P)
local S=P.modeData.point local S=P.modeData.point
if S==500 then if S==500 then
local L=P.stat.clear_S[4] local L=P.stat.clears[4]
return return
L>=30 and 5 or L>=30 and 5 or
L>=25 and 4 or L>=25 and 4 or

View File

@@ -60,14 +60,11 @@ s={
piece=0,row=0,dig=0, piece=0,row=0,dig=0,
atk=0,digatk=0, atk=0,digatk=0,
send=0,recv=0,pend=0,off=0, send=0,recv=0,pend=0,off=0,
clear={},clear_B={},clear_S={0,0,0,0,0}, clear={},spin={},
spin={},spin_B={},spin_S={0,0,0,0,0},
pc=0,hpc=0,b2b=0,b3b=0,score=0, pc=0,hpc=0,b2b=0,b3b=0,score=0,
lastPlay="sprint_10",--last played mode ID lastPlay="sprint_10",--last played mode ID
} }
for i=1,25 do for i=1,25 do
s.clear_B[i]=0
s.spin_B[i]=0
s.clear[i]={0,0,0,0,0} s.clear[i]={0,0,0,0,0}
s.spin[i]={0,0,0,0,0} s.spin[i]={0,0,0,0,0}
end end

View File

@@ -109,9 +109,13 @@ end
function mergeStat(stat,delta) function mergeStat(stat,delta)
for k,v in next,delta do for k,v in next,delta do
if type(v)=="table"then if type(v)=="table"then
mergeStat(stat[k],v) if type(stat[k])=="table"then
mergeStat(stat[k],v)
end
else else
stat[k]=stat[k]+v if stat[k]then
stat[k]=stat[k]+v
end
end end
end end
end end

View File

@@ -2,6 +2,7 @@ local L
if setting.lang==1 or setting.lang==2 then if setting.lang==1 or setting.lang==2 then
L={ L={
"ZS JL T O I", "ZS JL T O I",
"uid:225238922",
"tetr.js 也很好玩!", "tetr.js 也很好玩!",
"tetr.io 也很好玩!", "tetr.io 也很好玩!",
"Techminohaowan", "Techminohaowan",
@@ -11,7 +12,9 @@ if setting.lang==1 or setting.lang==2 then
"osu好玩!", "osu好玩!",
"O spin Triple!", "O spin Triple!",
"nullpomino 也很好玩!", "nullpomino 也很好玩!",
"Naki 可爱!",
"Miya:喵!", "Miya:喵!",
"Miya 可爱!",
"LrL RlR LLr RRl RRR LLL FFF RfR RRf rFF", "LrL RlR LLr RRl RRR LLL FFF RfR RRf rFF",
"Let-The-Bass-Kick!", "Let-The-Bass-Kick!",
"l-=-1", "l-=-1",
@@ -31,6 +34,7 @@ if setting.lang==1 or setting.lang==2 then
"有建议的话可以把信息反馈给作者~", "有建议的话可以把信息反馈给作者~",
"学会使用两个旋转键, 三个更好", "学会使用两个旋转键, 三个更好",
"享受特色旋转系统!", "享受特色旋转系统!",
"无聊翻翻设置是好习惯",
"我的世界好玩!", "我的世界好玩!",
"提前旋转等设置可以用来救命", "提前旋转等设置可以用来救命",
"泰拉瑞亚好玩!", "泰拉瑞亚好玩!",
@@ -38,20 +42,23 @@ if setting.lang==1 or setting.lang==2 then
"使用love2d引擎制作", "使用love2d引擎制作",
"少女祈祷中", "少女祈祷中",
"扫雷好玩!", "扫雷好玩!",
"哦,我的上帝",
"你可以从统计页面打开游戏存档目录", "你可以从统计页面打开游戏存档目录",
"你好 世界!", "你好 世界!",
"魔方好玩!", "魔方好玩!",
"秘密数字:626", "秘密数字:626",
"每个虚拟按键都可以隐藏/显示", "每个虚拟按键都可以隐藏/显示",
"每个块的出现方向可以自定义",
"联网还没做呢, 别急", "联网还没做呢, 别急",
"键位是可以自定义的", "键位是可以自定义的",
"合群了就会消失, 但是消失不代表没有意义", "合群了就会消失, 但是消失不代表没有意义",
"更小的DAS和ARR拥有更高的操作上限(如果你还能控制得了的话)", "更小的DAS和ARR拥有更高的操作上限(如果你还能控制得了的话)",
"俄罗斯方块环游记也不错", "俄罗斯方块环游记也不错!",
"调到特殊的日期也不会发生什么的", "调到特殊的日期也不会发生什么的",
"低帧率会降低游戏体验", "低帧率会降低游戏体验",
"戴上耳机以获得最佳体验", "戴上耳机以获得最佳体验",
"大满贯10连击消四全清!", "大满贯10连击消四全清!",
"车车人在此",
"草(日本语)", "草(日本语)",
"不要在上课时玩游戏!", "不要在上课时玩游戏!",
"不要盯着bug不放", "不要盯着bug不放",
@@ -59,9 +66,9 @@ if setting.lang==1 or setting.lang==2 then
"不是动画,真的在加载!", "不是动画,真的在加载!",
"本游戏难度上限很高, 做好心理准备", "本游戏难度上限很高, 做好心理准备",
"本游戏可不是休闲游戏", "本游戏可不是休闲游戏",
"啊这,不会吧不会吧",
"3.1415926535897932384", "3.1415926535897932384",
"26连T2来一个?", "26连T2来一个?",
"225238922 哔哩哔哩 干杯~",
"20G本质是一套全新的游戏规则", "20G本质是一套全新的游戏规则",
"20连PC来一个?", "20连PC来一个?",
"2+2=Miya", "2+2=Miya",
@@ -70,13 +77,15 @@ if setting.lang==1 or setting.lang==2 then
"11renPC!", "11renPC!",
"<方块研究所>有一个Nspire-CX版本!", "<方块研究所>有一个Nspire-CX版本!",
"↑↑↓↓←→←→BABA", "↑↑↓↓←→←→BABA",
"\"免费吃鸡方块\"", '"免费吃鸡方块"',
"(RUR'U')R'FR2U'R'U'(RUR'F')", "(RUR'U')R'FR2U'R'U'(RUR'F')",
} }
elseif setting.lang==3 then elseif setting.lang==3 then
L={ L={
"ZS JL T O I", "ZS JL T O I",
"You can set orientation for each block",
"You can open saving directory from stat. page", "You can open saving directory from stat. page",
"You are Grand Master",
"wwwwww", "wwwwww",
"Who is diao", "Who is diao",
"What about 26 TSDs?", "What about 26 TSDs?",
@@ -101,7 +110,9 @@ elseif setting.lang==3 then
"O spin triple!", "O spin triple!",
"Nothing will happen when some special day come", "Nothing will happen when some special day come",
"Not animation,real loading!", "Not animation,real loading!",
"Naki so cute!",
"Miya:Nya!", "Miya:Nya!",
"Miya so cute!",
"Minesweeper is fun!", "Minesweeper is fun!",
"Minecraft is fun!", "Minecraft is fun!",
"LrL RlR LLr RRl RRR LLL FFF RfR RRf rFF", "LrL RlR LLr RRl RRR LLL FFF RfR RRf rFF",
@@ -121,7 +132,6 @@ elseif setting.lang==3 then
"DO NOT PRESS F10", "DO NOT PRESS F10",
"Do not play game in class!", "Do not play game in class!",
"Disappearing doesn't mean useless", "Disappearing doesn't mean useless",
"diaoyoumei so bully",
"diao so bully", "diao so bully",
"COOL!!", "COOL!!",
"CLASSIC SEXY RUSSIAN BLOCKS", "CLASSIC SEXY RUSSIAN BLOCKS",
@@ -145,7 +155,10 @@ elseif setting.lang==3 then
"11renPC!", "11renPC!",
"↑↑↓↓←→←→BABA", "↑↑↓↓←→←→BABA",
"\"Free block game with royale mode\"", "\"Free block game with royale mode\"",
"/osk/",
"/jezevec/",
"(RUR'U')R'FR2U'R'U'(RUR'F')", "(RUR'U')R'FR2U'R'U'(RUR'F')",
":pog:",
} }
elseif setting.lang==4 then elseif setting.lang==4 then
L={'!','@','#','$','%','^','&','*','(',')','-','=','_','+','[',']','{','}','\\','|',';',':','\'','"',',','<','.','>','/','?'} L={'!','@','#','$','%','^','&','*','(',')','-','=','_','+','[',']','{','}','\\','|',';',':','\'','"',',','<','.','>','/','?'}

View File

@@ -309,7 +309,7 @@ local function Pupdate_alive(P,dt)
if P.keyPressing[2]then if P.keyPressing[2]then
if arr>0 then if arr>0 then
if mov==das+arr or mov==das then if mov==das+arr or mov==das then
if P:ifoverlap(P.cur.bk,P.curX+1,P.curY)then if not P.cur or P:ifoverlap(P.cur.bk,P.curX+1,P.curY)then
mov=das+arr-1 mov=das+arr-1
else else
P.act.moveRight(P,true) P.act.moveRight(P,true)
@@ -334,7 +334,7 @@ local function Pupdate_alive(P,dt)
if P.keyPressing[1]then if P.keyPressing[1]then
if arr>0 then if arr>0 then
if mov==das+arr or mov==das then if mov==das+arr or mov==das then
if P:ifoverlap(P.cur.bk,P.curX-1,P.curY)then if not P.cur or P:ifoverlap(P.cur.bk,P.curX-1,P.curY)then
mov=das+arr-1 mov=das+arr-1
else else
P.act.moveLeft(P,true) P.act.moveLeft(P,true)
@@ -728,7 +728,7 @@ local function Pdraw_norm(P)
if P.gameEnv.bagLine then if P.gameEnv.bagLine then
local L=P.gameEnv.bagLen local L=P.gameEnv.bagLen
local C=-P.pieceCount%L--phase local C=-P.pieceCount%L--phase
gc.setColor(.5,.5,.5) gc.setColor(.8,.5,.5)
for i=C,N-1,L do for i=C,N-1,L do
local y=72*i+36 local y=72*i+36
gc.line(321+P.fieldOff.x,y,441,y) gc.line(321+P.fieldOff.x,y,441,y)
@@ -1018,15 +1018,14 @@ local function getNewStatTable()
piece=0,row=0,dig=0, piece=0,row=0,dig=0,
atk=0,digatk=0, atk=0,digatk=0,
send=0,recv=0,pend=0,off=0, send=0,recv=0,pend=0,off=0,
clear={},clear_B={},clear_S={0,0,0,0,0}, clear={},clears={},spin={},spins={},
spin={},spin_B={},spin_S={0,0,0,0,0},
pc=0,hpc=0,b2b=0,b3b=0, pc=0,hpc=0,b2b=0,b3b=0,
} }
for i=1,25 do for i=1,25 do
T.clear[i]={0,0,0,0,0} T.clear[i]={0,0,0,0,0}
T.spin[i]={0,0,0,0,0} T.spin[i]={0,0,0,0,0}
T.clear_B[i]=0 T.clears[i]=0
T.spin_B[i]=0 T.spins[i]=0
end end
return T return T
end end
@@ -1811,12 +1810,10 @@ function player.drop(P)--Place piece
local n=P.cur.name local n=P.cur.name
if dospin then if dospin then
_=STAT.spin[n] _[cc+1]=_[cc+1]+1--spin[1~25][0~4] _=STAT.spin[n] _[cc+1]=_[cc+1]+1--spin[1~25][0~4]
_=STAT.spin_S _[cc+1]=_[cc+1]+1--spin[0~4] _=STAT.spins _[cc+1]=_[cc+1]+1--spin[0~4]
_=STAT.spin_B _[n]=_[n]+1--spin[1~25]
elseif cc>0 then elseif cc>0 then
_=STAT.clear[n] _[cc]=_[cc]+1--clear[1~25][1~5] _=STAT.clear[n] _[cc]=_[cc]+1--clear[1~25][1~5]
_=STAT.clear_S _[cc]=_[cc]+1--clear[1~5] _=STAT.clears _[cc]=_[cc]+1--clear[1~5]
_=STAT.clear_B _[n]=_[n]+1--clear[1~25]
end end
--Update stat --Update stat

View File

@@ -1,3 +1,4 @@
local gc=love.graphics
local Tick={} local Tick={}
function Tick.finish(P) function Tick.finish(P)
P.endCounter=P.endCounter+1 P.endCounter=P.endCounter+1
@@ -69,4 +70,14 @@ function Tick.autoPause(data)
return true return true
end end
end end
function Tick.autoResize(data)
data[1]=data[1]+1
if data[1]==62 then
local w,h=gc.getWidth(),gc.getHeight()
if w<h then
love.resize(w,h)
end
return true
end
end
return Tick return Tick

View File

@@ -1,23 +1,22 @@
local S=[=[ local S=[=[
"Patron"(time ordered,may not accurate): "Patron"(time ordered,may not accurate):
[rmb100+]: [rmb100+]:
那没事了(T6300) 加油啊,钉钉动了的大哥哥(T3228) 那没事了(T6300) 加油啊,钉钉动了的大哥哥(T3228)
弥佑瑶 Alan 弥佑瑶 Alan 幽灵3383
幽灵3383 靏鸖龘龘 靏鸖龘龘 込余 saki
込余 saki
[rmb10+]: [rmb10+]:
八零哥 蕴空之灵 gggf127 dtg 八零哥 蕴空之灵 gggf127 dtg
ThTsOd Fireboos 金巧 10元 ThTsOd Fireboos 金巧 10元
立斐 Deep_Sea 时雪 yyangdid 立斐 Deep_Sea 时雪 yyangdid
sfqr 心痕 Sasoric 夏小亚 sfqr 心痕 Sasoric 夏小亚 仁参
仁参 乐↗乐↘ 喜欢c4w的ztcjoin 面包 乐↗乐↘ 喜欢c4w的ztcjoin 面包 蠢熏
蠢熏 潘一栗 Lied 星街书婉 潘一栗 Lied 星街书婉 祝西 829
祝西 829 e m*12 我永远爱白银诺艾尔(鹏 e m*12 我永远爱白银诺艾尔(鹏 PCX
PCX kagura77 呆喂 GlowingEmbers kagura77 呆喂 GlowingEmbers 轩辕辚
轩辕辚 HimuroAki TCV100 tech有养成系统了@7065 HimuroAki TCV100 tech有养成系统了@7065
HAGE KANOBU 闪电和拐棍 葡萄味的曼妥思 世界沃德 HAGE KANOBU 闪电和拐棍 葡萄味的曼妥思
蓝绿 天生的魔法师 琳雨空 T8779.易缄 吃水榴莲 世界沃德 蓝绿 天生的魔法师 琳雨空
T8779.易缄 吃水榴莲 诗情画意 星姐阿夸双推Man暗炎
Thanks!!! Thanks!!!
Future outlook: Future outlook:
@@ -72,6 +71,12 @@ Future outlook:
network game network game
new AI: task-Z new AI: task-Z
0.9.1: Bug fixed
code:
render background to canvas first, not redering each frame
fixed:
error when moving [nothing] when arr>0
error when complete master-advanced
0.9.0: Custom Sequence Update 0.9.0: Custom Sequence Update
new: new:
custom sequence custom sequence
@@ -88,14 +93,17 @@ Future outlook:
easier to get S in infinite mode, c4w, PC easier to get S in infinite mode, c4w, PC
harder to unlock sprint-400/1000 harder to unlock sprint-400/1000
harder to get high rank of sprint-1000 harder to get high rank of sprint-1000
harder drought-lunatic
code: code:
file sorted file sorted
task system rewrited, now perfect (maybe) task system rewrited, now perfect (maybe)
remove scissors/blendMode setting in drawing players remove scissors/blendMode setting in drawing players
fixed: fixed:
screen orientation sometimes error after wake up the phone
hard move won't deactive "spin" hard move won't deactive "spin"
do not clear dead enemies' field do not clear dead enemies' field
show ghost's center when ghost is off show ghost's center when ghost is off
error when get a PC in drought-lunatic
0.8.24: Bug Fixed 0.8.24: Bug Fixed
new: new: