Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
918d17ad9a |
9
conf.lua
9
conf.lua
@@ -1,5 +1,5 @@
|
|||||||
math.randomseed(os.time())
|
math.randomseed(os.time())
|
||||||
gameVersion="Alpha V0.7.34"
|
gameVersion="Alpha V0.7.35"
|
||||||
function love.conf(t)
|
function love.conf(t)
|
||||||
t.identity="Techmino"--Save directory name
|
t.identity="Techmino"--Save directory name
|
||||||
t.version="11.1"
|
t.version="11.1"
|
||||||
@@ -10,12 +10,7 @@ function love.conf(t)
|
|||||||
t.audio.mixwithsystem=true--Switch on to keep sysBGM
|
t.audio.mixwithsystem=true--Switch on to keep sysBGM
|
||||||
|
|
||||||
local W=t.window
|
local W=t.window
|
||||||
if math.random()>.26 then
|
W.title="Techmino "..gameVersion
|
||||||
W.title="Techmino "..gameVersion
|
|
||||||
else
|
|
||||||
math.randomseed(tonumber(os.date("%Y%j")))
|
|
||||||
W.title="Your lucky number today:"..math.random(100,626)
|
|
||||||
end
|
|
||||||
W.icon="/image/icon.png"
|
W.icon="/image/icon.png"
|
||||||
W.width,W.height=1280,720
|
W.width,W.height=1280,720
|
||||||
W.minwidth,W.minheight=640,360
|
W.minwidth,W.minheight=640,360
|
||||||
|
|||||||
@@ -141,10 +141,11 @@ return{
|
|||||||
"有疑问?先看设置有没有你想要的",
|
"有疑问?先看设置有没有你想要的",
|
||||||
"有建议的话可以把信息反馈给作者~",
|
"有建议的话可以把信息反馈给作者~",
|
||||||
"不要按F8",
|
"不要按F8",
|
||||||
"秘密代码:626",
|
"秘密数字:626",
|
||||||
"CLASSIC SEXY RUSSIAN BLOCKS",
|
"CLASSIC SEXY RUSSIAN BLOCKS",
|
||||||
"戴上耳机获得最佳体验",
|
"戴上耳机以获得最佳体验",
|
||||||
"LrL,RlR LLr,RRl RRR/LLL F!!",--ZSLJTTI
|
"LrL,RlR LLr,RRl RRR/LLL F!!",--ZSLJTTI
|
||||||
|
"(第一次才准)今日幸运数字:"..math.random(100,626),
|
||||||
},
|
},
|
||||||
stat={
|
stat={
|
||||||
"游戏运行次数:",
|
"游戏运行次数:",
|
||||||
@@ -298,7 +299,7 @@ return{
|
|||||||
bgm="音乐",
|
bgm="音乐",
|
||||||
vib="震动",
|
vib="震动",
|
||||||
voc="语音",
|
voc="语音",
|
||||||
stereo="双声道",
|
stereo="立体声",
|
||||||
back=BK,
|
back=BK,
|
||||||
},
|
},
|
||||||
setting_key={
|
setting_key={
|
||||||
|
|||||||
@@ -141,10 +141,11 @@ return{
|
|||||||
"有疑问?先看设置有没有你想要的",
|
"有疑问?先看设置有没有你想要的",
|
||||||
"有建议的话可以把信息反馈给作者~",
|
"有建议的话可以把信息反馈给作者~",
|
||||||
"不要按F8",
|
"不要按F8",
|
||||||
"秘密代码:626",
|
"秘密数字:626",
|
||||||
"CLASSIC SEXY RUSSIAN BLOCKS",
|
"CLASSIC SEXY RUSSIAN BLOCKS",
|
||||||
"戴上耳机获得最佳体验",
|
"戴上耳机以获得最佳体验",
|
||||||
"LrL,RlR LLr,RRl RRR/LLL F!!",--ZSLJTTI
|
"LrL,RlR LLr,RRl RRR/LLL F!!",--ZSLJTTI
|
||||||
|
"(第一次才准)今日幸运数字:"..math.random(100,626),
|
||||||
},
|
},
|
||||||
stat={
|
stat={
|
||||||
"游戏运行次数:",
|
"游戏运行次数:",
|
||||||
@@ -299,7 +300,7 @@ return{
|
|||||||
bgm="音乐",
|
bgm="音乐",
|
||||||
vib="震动",
|
vib="震动",
|
||||||
voc="语音",
|
voc="语音",
|
||||||
stereo="双声道",
|
stereo="立体声",
|
||||||
back=BK,
|
back=BK,
|
||||||
},
|
},
|
||||||
setting_key={
|
setting_key={
|
||||||
|
|||||||
@@ -139,11 +139,12 @@ return{
|
|||||||
"Find out what's in the setting!",
|
"Find out what's in the setting!",
|
||||||
"Any suggestions to author!",
|
"Any suggestions to author!",
|
||||||
"DO NOT PRESS F8",
|
"DO NOT PRESS F8",
|
||||||
"Secret code:626",
|
"Secret num:626",
|
||||||
"Techmino=Technique+Tetromino",
|
"Techmino=Technique+Tetromino",
|
||||||
"CLASSIC SEXY RUSSIAN BLOCKS",
|
"CLASSIC SEXY RUSSIAN BLOCKS",
|
||||||
"Headphones for better experience",
|
"Headphones for better experience",
|
||||||
"LrL,RlR LLr,RRl RRR/LLL F!!",--ZSLJTTI
|
"LrL,RlR LLr,RRl RRR/LLL F!!",--ZSLJTTI
|
||||||
|
"(first effective)Your luck number today:"..math.random(100,626),
|
||||||
},
|
},
|
||||||
stat={
|
stat={
|
||||||
"Games run:",
|
"Games run:",
|
||||||
|
|||||||
63
player.lua
63
player.lua
@@ -1649,6 +1649,33 @@ function player:drop()--Place piece
|
|||||||
dospin=dospin+2
|
dospin=dospin+2
|
||||||
end--Immobile
|
end--Immobile
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--极简检测(遮挡)
|
||||||
|
local finesse
|
||||||
|
if self.curY>18 then
|
||||||
|
finesse=true--高处防误判直接最简
|
||||||
|
else
|
||||||
|
local y0=self.curY
|
||||||
|
local x,c=self.curX,self.c
|
||||||
|
|
||||||
|
local B=self.cur.bk
|
||||||
|
for x=1,c do
|
||||||
|
local y
|
||||||
|
for i=#B,1,-1 do
|
||||||
|
if B[i][x]then y=i;goto L2 end
|
||||||
|
end
|
||||||
|
goto L1
|
||||||
|
::L2::
|
||||||
|
if y then
|
||||||
|
x=self.curX+x-1
|
||||||
|
for y=y0+y,#self.field do
|
||||||
|
if solid(self,x,y)then finesse=true;goto L1 end--有遮挡视为最简
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
::L1::
|
||||||
|
end
|
||||||
|
|
||||||
self:lock()
|
self:lock()
|
||||||
local CHN=getFreeVoiceChannel()
|
local CHN=getFreeVoiceChannel()
|
||||||
local cc,send,exblock=checkrow(self,self.curY,self.r),0,0--Currect clear&send&sendTime
|
local cc,send,exblock=checkrow(self,self.curY,self.r),0,0--Currect clear&send&sendTime
|
||||||
@@ -1674,27 +1701,8 @@ function player:drop()--Place piece
|
|||||||
dospin=false
|
dospin=false
|
||||||
end
|
end
|
||||||
|
|
||||||
--极简检测
|
--极简检测(操作)
|
||||||
if self.curY>18 then goto 通过测试 end--高处易误判
|
if not finesse then
|
||||||
do
|
|
||||||
local y0=self.curY
|
|
||||||
local x,c=self.curX,self.c
|
|
||||||
local B=self.cur.bk
|
|
||||||
for x=1,c do
|
|
||||||
local y
|
|
||||||
for i=#B,1,-1 do
|
|
||||||
if B[i][x]then y=i;goto 继续 end
|
|
||||||
end
|
|
||||||
goto 操作判断法
|
|
||||||
::继续::
|
|
||||||
if y then
|
|
||||||
x=self.curX+x-1
|
|
||||||
for y=y0+y,#self.field do
|
|
||||||
if solid(self,x,y)then goto 通过测试 end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end--遮挡暂时都算最简
|
|
||||||
::操作判断法::
|
|
||||||
if dospin then self.ctrlCount=self.ctrlCount-2 end--对无遮挡spin宽松两步
|
if dospin then self.ctrlCount=self.ctrlCount-2 end--对无遮挡spin宽松两步
|
||||||
local id=self.cur.id
|
local id=self.cur.id
|
||||||
local dir=self.dir+1
|
local dir=self.dir+1
|
||||||
@@ -1705,15 +1713,14 @@ function player:drop()--Place piece
|
|||||||
end--SZI的逆态视为顺态
|
end--SZI的逆态视为顺态
|
||||||
local R,I=self.ctrlCount,finesseCtrlPar[id][dir][self.curX]--Real key/Ideal key
|
local R,I=self.ctrlCount,finesseCtrlPar[id][dir][self.curX]--Real key/Ideal key
|
||||||
local d=R-I
|
local d=R-I
|
||||||
if d<=0 then
|
if d>0 then
|
||||||
goto 通过测试
|
if I==0 then I=1 end
|
||||||
|
local rate=R/I
|
||||||
|
if rate>2.5 then rate=2.5 end
|
||||||
|
self:fineError(rate)
|
||||||
|
--非最简
|
||||||
end
|
end
|
||||||
if I==0 then I=1 end
|
|
||||||
local rate=R/I
|
|
||||||
if rate>2.5 then rate=2.5 end
|
|
||||||
self:fineError(rate)
|
|
||||||
end
|
end
|
||||||
::通过测试::
|
|
||||||
|
|
||||||
if cc>0 then
|
if cc>0 then
|
||||||
self.combo=self.combo+1
|
self.combo=self.combo+1
|
||||||
|
|||||||
@@ -132,8 +132,8 @@ local swap={
|
|||||||
gc.setColor(0,0,0,t)
|
gc.setColor(0,0,0,t)
|
||||||
gc.rectangle("fill",0,0,1280,720)
|
gc.rectangle("fill",0,0,1280,720)
|
||||||
end},
|
end},
|
||||||
slowFade={120,40,function(t)
|
slowFade={180,90,function(t)
|
||||||
local t=t>40 and 1.5-t/80 or t/40
|
local t=t>90 and 2-t/90 or t/90
|
||||||
gc.setColor(0,0,0,t)
|
gc.setColor(0,0,0,t)
|
||||||
gc.rectangle("fill",0,0,1280,720)
|
gc.rectangle("fill",0,0,1280,720)
|
||||||
end},
|
end},
|
||||||
|
|||||||
@@ -161,6 +161,7 @@ function SFX(s,v,pos)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
S:setVolume((v or 1)*setting.sfx*.1)
|
S:setVolume((v or 1)*setting.sfx*.1)
|
||||||
|
print((v or 1)*setting.sfx*.1)
|
||||||
S:play()
|
S:play()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ Patron(rmb10+):
|
|||||||
[D*a]?
|
[D*a]?
|
||||||
|
|
||||||
Future outlook:
|
Future outlook:
|
||||||
Normal Things:
|
Normal:
|
||||||
powerinfo switch
|
powerinfo switch
|
||||||
splashing block
|
splashing block
|
||||||
ajustable next count
|
ajustable next count
|
||||||
@@ -18,13 +18,15 @@ Future outlook:
|
|||||||
game recording
|
game recording
|
||||||
new AI:task-Z
|
new AI:task-Z
|
||||||
auto GUI in any screen size
|
auto GUI in any screen size
|
||||||
|
Hard:
|
||||||
Technical things:
|
|
||||||
Encrypt source code(compile to byte code)
|
Encrypt source code(compile to byte code)
|
||||||
infinite 1v1
|
infinite 1v1
|
||||||
square mode
|
square mode
|
||||||
more FXs & 3d features & animations
|
more FXs & 3d features & animations
|
||||||
|
0.7.35:
|
||||||
|
bug fixed
|
||||||
|
0.7.34:
|
||||||
|
shaking FX more natural
|
||||||
0.7.33+:
|
0.7.33+:
|
||||||
MORE POWERFUL 9-stack AI
|
MORE POWERFUL 9-stack AI
|
||||||
add stereo-setting slider
|
add stereo-setting slider
|
||||||
|
|||||||
Reference in New Issue
Block a user