Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
527352ce15 |
BIN
BGM/distortion.ogg
Normal file
BIN
BGM/distortion.ogg
Normal file
Binary file not shown.
2
conf.lua
2
conf.lua
@@ -1,4 +1,4 @@
|
||||
gameVersion="Alpha V0.8.9"
|
||||
gameVersion="Alpha V0.8.10"
|
||||
function love.conf(t)
|
||||
t.identity="Techmino"--SaveDir name
|
||||
t.version="11.1"
|
||||
|
||||
@@ -91,7 +91,7 @@ return{
|
||||
highScore="最佳成绩",
|
||||
newRecord="打破纪录",
|
||||
invalidGame="成绩无效",
|
||||
errorMsg="Techmino遇到了问题,需要重新启动.\n我们已收集了一些错误信息,你可以向作者进行反馈.",
|
||||
errorMsg="Techmino遇到了问题,需要重新启动.\n我们已收集了一些错误信息,你可以向作者进行反馈.(回车/双击重启)",
|
||||
|
||||
actName=actName,
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ return{
|
||||
highScore="最佳成绩",
|
||||
newRecord="打破纪录",
|
||||
invalidGame="成绩无效",
|
||||
errorMsg="Techmino遇到了问题,需要重新启动.\n我们已收集了一些错误信息,你可以向作者进行反馈.",
|
||||
errorMsg="Techmino遇到了问题,需要重新启动.\n我们已收集了一些错误信息,你可以向作者进行反馈.(回车/双击重启)",
|
||||
|
||||
actName=actName,
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ return{
|
||||
highScore="Highscore",
|
||||
newRecord="New Rocord",
|
||||
invalidGame="Invalid Game",
|
||||
errorMsg="Techmino ran into a problem and needs to restart.\nWe collected some error info,and you can send them to author.",
|
||||
errorMsg="Techmino ran into a problem and needs to restart.\nWe collected some error info,and you can send them to author.(enter/DblClick to restart)",
|
||||
|
||||
actName=actName,
|
||||
|
||||
|
||||
7
list.lua
7
list.lua
@@ -91,7 +91,8 @@ bgm={
|
||||
"rockblock",
|
||||
"8-bit happiness",
|
||||
"shining terminal",
|
||||
"chlorine",
|
||||
"oxygen",
|
||||
"distortion",
|
||||
"end",
|
||||
}
|
||||
voiceBank={}--{{srcs1},{srcs2},...}
|
||||
@@ -146,10 +147,12 @@ musicID={
|
||||
"secret7th",
|
||||
"secret8th",
|
||||
"shining terminal",
|
||||
"oxygen",
|
||||
"distortion",
|
||||
"rockblock",
|
||||
"8-bit happiness",
|
||||
"cruelty",
|
||||
"final",
|
||||
"8-bit happiness",
|
||||
"end",
|
||||
}
|
||||
customID={
|
||||
|
||||
21
main.lua
21
main.lua
@@ -1145,14 +1145,19 @@ function love.errorhandler(msg)
|
||||
local CAP
|
||||
local function _(_)CAP=gc.newImage(_)end
|
||||
gc.captureScreenshot(_)
|
||||
local egg=rnd()>.026
|
||||
local T=true
|
||||
return function()
|
||||
PUMP()
|
||||
for e,a,b in POLL()do
|
||||
for e,a,_,_,_,b in POLL()do
|
||||
if e=="quit"or a=="escape"then
|
||||
destroyPlayers()
|
||||
return 1
|
||||
elseif a=="return"or a=="start"then
|
||||
elseif
|
||||
a=="return"or
|
||||
a=="start"or
|
||||
e=="mousepressed"and b==2
|
||||
then
|
||||
destroyPlayers()
|
||||
return"restart"
|
||||
elseif e=="resize"then
|
||||
@@ -1166,7 +1171,11 @@ function love.errorhandler(msg)
|
||||
T=false
|
||||
else
|
||||
gc.discard()
|
||||
gc.clear(.3,.5,.9)
|
||||
if egg then
|
||||
gc.clear(.3,.5,.9)
|
||||
else
|
||||
gc.clear(.62,.3,.926)
|
||||
end
|
||||
gc.setColor(1,1,1)
|
||||
gc.push("transform")
|
||||
gc.replaceTransform(xOy)
|
||||
@@ -1176,10 +1185,10 @@ function love.errorhandler(msg)
|
||||
setFont(38)
|
||||
gc.printf(text.errorMsg,100,200,1280-100)
|
||||
setFont(20)
|
||||
gc.print(err[1],626,360)
|
||||
gc.print("TRACEBACK",626,410)
|
||||
gc.printf(err[1],626,360,1260-626)
|
||||
gc.print("TRACEBACK",626,426)
|
||||
for i=4,#err-2 do
|
||||
gc.print(err[i],626,355+20*i)
|
||||
gc.print(err[i],626,370+20*i)
|
||||
end
|
||||
gc.pop()
|
||||
end
|
||||
|
||||
@@ -38,7 +38,7 @@ return{
|
||||
drop=5,lock=30,
|
||||
dropPiece=check_c4w,
|
||||
freshLimit=15,ospin=false,
|
||||
bg="rgb",bgm="chlorine",
|
||||
bg="rgb",bgm="oxygen",
|
||||
},
|
||||
pauseLimit=true,
|
||||
load=function()
|
||||
|
||||
@@ -36,7 +36,7 @@ return{
|
||||
drop=30,lock=60,oncehold=false,
|
||||
dropPiece=check_c4w,
|
||||
freshLimit=15,ospin=false,
|
||||
bg="rgb",bgm="chlorine",
|
||||
bg="rgb",bgm="oxygen",
|
||||
},
|
||||
pauseLimit=true,
|
||||
load=function()
|
||||
|
||||
@@ -40,7 +40,6 @@ return{
|
||||
target=10,dropPiece=check_LVup,
|
||||
bg="rgb",bgm="rockblock",
|
||||
},
|
||||
pauseLimit=true,
|
||||
slowMark=true,
|
||||
load=function()
|
||||
newPlayer(1,340,15)
|
||||
|
||||
@@ -75,7 +75,7 @@ return{
|
||||
return a[1]>b[1]or(a[1]==b[1]and(a[2]<b[2]or a[2]==b[2]and a[3]<b[3]))
|
||||
end,
|
||||
getRank=function(P)
|
||||
local L=P.stat.techrash
|
||||
local L=P.stat.clear_4
|
||||
local S=P.modeData.point
|
||||
if S==500 then
|
||||
return
|
||||
|
||||
@@ -79,7 +79,7 @@ return{
|
||||
return a[1]>b[1]or(a[1]==b[1]and(a[2]<b[2]or a[2]==b[2]and a[3]<b[3]))
|
||||
end,
|
||||
getRank=function(P)
|
||||
local L=P.stat.techrash
|
||||
local L=P.stat.clear_4
|
||||
local S=P.modeData.point
|
||||
if S==500 then
|
||||
return
|
||||
|
||||
@@ -57,7 +57,7 @@ return{
|
||||
mindas=5,minarr=1,
|
||||
freshLimit=15,
|
||||
easyFresh=false,bone=true,
|
||||
bg="none",bgm="shining terminal",
|
||||
bg="none",bgm="distortion",
|
||||
},
|
||||
slowMark=true,
|
||||
load=function()
|
||||
|
||||
@@ -88,7 +88,7 @@ return{
|
||||
freshLimit=15,
|
||||
dropPiece=newPC,
|
||||
ospin=false,
|
||||
bg="rgb",bgm="chlorine",
|
||||
bg="rgb",bgm="oxygen",
|
||||
},
|
||||
pauseLimit=true,
|
||||
load=function()
|
||||
|
||||
@@ -71,7 +71,7 @@ return{
|
||||
sequence="none",
|
||||
dropPiece=newPC,
|
||||
ospin=false,
|
||||
bg="rgb",bgm="chlorine",
|
||||
bg="rgb",bgm="oxygen",
|
||||
},
|
||||
pauseLimit=true,
|
||||
load=function()
|
||||
|
||||
@@ -15,7 +15,7 @@ return{
|
||||
"在两分钟内尽可能拿到最多的分数",
|
||||
"Score attack in 120s",
|
||||
},
|
||||
color=color.grey,
|
||||
color=color.lightGrey,
|
||||
env={
|
||||
drop=1e99,lock=1e99,
|
||||
task=function(P)
|
||||
@@ -34,7 +34,7 @@ return{
|
||||
gc.setColor(1,0,0)
|
||||
gc.arc("fill",-40,100,50,0,1)
|
||||
end,
|
||||
score=function(P)return{P.score}end,
|
||||
score=function(P)return{P.stat.score}end,
|
||||
scoreDisp=function(D)return tostring(D[1])end,
|
||||
comp=function(a,b)return a[1]>b[1]end,
|
||||
getRank=function(P)
|
||||
|
||||
36
paint.lua
36
paint.lua
@@ -82,22 +82,19 @@ end
|
||||
function Pnt.BG.grey()
|
||||
gc.clear(.3,.3,.3)
|
||||
end
|
||||
function Pnt.BG.lightGrey()
|
||||
gc.clear(.5,.5,.5)
|
||||
end
|
||||
function Pnt.BG.glow()
|
||||
local t=((sin(Timer()*.5)+sin(Timer()*.7)+sin(Timer()*.9+1)+sin(Timer()*1.5)+sin(Timer()*2+3))+5)*.05
|
||||
local t=(sin(Timer()*.5)+sin(Timer()*.7)+sin(Timer()*.9+1)+sin(Timer()*1.5)+sin(Timer()*2+10))*.1
|
||||
gc.clear(t,t,t)
|
||||
end
|
||||
function Pnt.BG.rgb()
|
||||
gc.clear(
|
||||
sin(Timer()*1.2)*.15+.5,
|
||||
sin(Timer()*1.5)*.15+.5,
|
||||
sin(Timer()*1.9)*.15+.5
|
||||
sin(Timer()*1.2)*.15+.2,
|
||||
sin(Timer()*1.5)*.15+.2,
|
||||
sin(Timer()*1.9)*.15+.2
|
||||
)
|
||||
end
|
||||
function Pnt.BG.strap()
|
||||
gc.setColor(1,1,1)
|
||||
gc.setColor(.5,.5,.5)
|
||||
local x=Timer()%16*-64
|
||||
::L::
|
||||
gc.draw(background2,x,0,nil,8,scr.h)
|
||||
@@ -106,24 +103,24 @@ function Pnt.BG.strap()
|
||||
end
|
||||
function Pnt.BG.flink()
|
||||
local t=.13-Timer()%3%1.7
|
||||
if t<.25 then gc.clear(t,t,t)
|
||||
if t<.2 then gc.clear(t,t,t)
|
||||
else gc.clear(0,0,0)
|
||||
end
|
||||
end
|
||||
function Pnt.BG.game1()
|
||||
gc.setColor(1,1,1)
|
||||
gc.setColor(.5,.5,.5)
|
||||
gc.draw(background1,scr.w*.5,scr.h*.5,Timer()*.15,scr.rad*.0625,nil,16,16)
|
||||
end--Rainbow
|
||||
function Pnt.BG.game2()
|
||||
gc.setColor(1,.5,.5)
|
||||
gc.setColor(.5,.26,.26)
|
||||
gc.draw(background1,scr.w*.5,scr.h*.5,Timer()*.15,scr.rad*.0625,nil,16,16)
|
||||
end--Red rainbow
|
||||
function Pnt.BG.game3()
|
||||
gc.setColor(.6,.6,1)
|
||||
gc.setColor(.4,.4,.8)
|
||||
gc.draw(background1,scr.w*.5,scr.h*.5,Timer()*.15,scr.rad*.0625,nil,16,16)
|
||||
end--Blue rainbow
|
||||
function Pnt.BG.game4()
|
||||
gc.setColor(.1,.5,.5)
|
||||
gc.setColor(.05,.4,.4)
|
||||
local x=Timer()%8*-128
|
||||
::L::
|
||||
gc.draw(background2,x,0,nil,8,scr.h)
|
||||
@@ -132,17 +129,17 @@ function Pnt.BG.game4()
|
||||
end--Fast strap
|
||||
function Pnt.BG.game5()
|
||||
local t=2.5-Timer()%20%6%2.5
|
||||
if t<.5 then gc.clear(t,t,t)
|
||||
if t<.3 then gc.clear(t,t,t)
|
||||
else gc.clear(0,0,0)
|
||||
end
|
||||
end--Lightning
|
||||
local scs={1,2,1,2,1,2,1,2,1,2,1.5,1.5,.5,2.5}
|
||||
function Pnt.BG.game6()
|
||||
local t=1.2-Timer()%10%3%1.2
|
||||
if t<.5 then gc.clear(t,t,t)
|
||||
if t<.3 then gc.clear(t,t,t)
|
||||
else gc.clear(0,0,0)
|
||||
end
|
||||
gc.setColor(.3,.3,.3)
|
||||
gc.setColor(.1,.1,.1)
|
||||
local r=7-int(Timer()*.5)%7
|
||||
gc.draw(miniBlock[r],640,360,Timer()%3.1416*6,400,400,scs[2*r]-.5,#blocks[r][0]-scs[2*r-1]+.5)
|
||||
end--Fast lightning&spining tetromino
|
||||
@@ -150,11 +147,10 @@ local matrixT={}for i=1,20 do matrixT[i]={}for j=1,20 do matrixT[i][j]=love.math
|
||||
function Pnt.BG.matrix()
|
||||
gc.scale(scr.k)
|
||||
gc.clear(.15,.15,.15)
|
||||
local _=ceil(scr.y/80)
|
||||
for i=1,ceil(scr.x/80)do
|
||||
local _=ceil(scr.h/80)
|
||||
for i=1,ceil(scr.w/80)do
|
||||
for j=1,_ do
|
||||
local t=sin(matrixT[i][j]*Timer())*.2+.2
|
||||
gc.setColor(1,1,1,t)
|
||||
gc.setColor(1,1,1,sin(matrixT[i][j]*Timer())*.1+.1)
|
||||
gc.rectangle("fill",80*i,80*j,-80,-80)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -818,8 +818,8 @@ function player.update(P,dt)
|
||||
local O=P.fieldOff
|
||||
O.vx,O.vy=O.vx*.8-abs(O.x)^1.2*(O.x>0 and .1 or -.1),O.vy*.8-abs(O.y)^1.2*(O.y>0 and .1 or -.1)
|
||||
O.x,O.y=O.x+O.vx,O.y+O.vy
|
||||
if abs(O.x)<1 then O.x=0 end
|
||||
if abs(O.y)<1 then O.y=0 end
|
||||
if abs(O.x)<.3 then O.x=0 end
|
||||
if abs(O.y)<.3 then O.y=0 end
|
||||
end--field shaking
|
||||
updateText(P.bonus)
|
||||
for i=#P.atkBuffer,1,-1 do
|
||||
|
||||
@@ -47,7 +47,7 @@ local sceneInit={
|
||||
end
|
||||
end,
|
||||
mode=function()
|
||||
curBG="grey"
|
||||
curBG="none"
|
||||
BGM("blank")
|
||||
destroyPlayers()
|
||||
local cam=mapCam
|
||||
@@ -160,7 +160,7 @@ local sceneInit={
|
||||
}
|
||||
end,
|
||||
history=function()
|
||||
curBG="lightGrey"
|
||||
curBG="strap"
|
||||
sceneTemp={require("updateLog"),1}--scroll pos
|
||||
end,
|
||||
quit=function()
|
||||
|
||||
@@ -29,11 +29,18 @@ Future outlook:
|
||||
new AI:task-Z
|
||||
more FXs & 3d features & animations
|
||||
Encrypt source code(compile to byte code)
|
||||
0.8.10:
|
||||
new BGM:Distortion
|
||||
all background darker
|
||||
better error page
|
||||
bug fixed:error when finish master/ultra mode
|
||||
bug fixed:shakeFX no effect when below 3
|
||||
0.8.9:
|
||||
invalid game when pause too much
|
||||
quick play re-added
|
||||
new BGM:Oxygen
|
||||
space background little changed
|
||||
bugs fixed
|
||||
bug fixed:touch/press release with no press(don't know why)
|
||||
0.8.8+:
|
||||
fixed many fatal bugs
|
||||
0.8.8:
|
||||
|
||||
Reference in New Issue
Block a user