Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
42d7b1be94 |
BIN
BGM/rockblock.ogg
Normal file
BIN
BGM/rockblock.ogg
Normal file
Binary file not shown.
2
conf.lua
2
conf.lua
@@ -9,7 +9,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
|
||||||
W.title="Techmino V0.7.9"
|
W.title="Techmino V0.7.10"
|
||||||
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
|
||||||
|
|||||||
Binary file not shown.
14
gamefunc.lua
14
gamefunc.lua
@@ -92,7 +92,7 @@ function createPlayer(id,x,y,size,AIspeed,data)
|
|||||||
P.atkMode,P.swappingAtkMode=1,20
|
P.atkMode,P.swappingAtkMode=1,20
|
||||||
P.atker,P.atking,P.lastRecv={}
|
P.atker,P.atking,P.lastRecv={}
|
||||||
--Royale-related
|
--Royale-related
|
||||||
|
|
||||||
P.gameEnv={}--Game setting vars,like dropDelay setting
|
P.gameEnv={}--Game setting vars,like dropDelay setting
|
||||||
for k,v in pairs(gameEnv0)do
|
for k,v in pairs(gameEnv0)do
|
||||||
if data and data[k]~=nil then
|
if data and data[k]~=nil then
|
||||||
@@ -161,7 +161,7 @@ function createPlayer(id,x,y,size,AIspeed,data)
|
|||||||
P.result=nil--string,"win"/"lose"
|
P.result=nil--string,"win"/"lose"
|
||||||
P.task={}
|
P.task={}
|
||||||
P.bonus={}
|
P.bonus={}
|
||||||
end
|
end
|
||||||
function showText(P,text,type,font,dy,spd,inf)
|
function showText(P,text,type,font,dy,spd,inf)
|
||||||
if not P.small then
|
if not P.small then
|
||||||
ins(P.bonus,{t=0,text=text,draw=FX[type],font=font,dy=dy or 0,speed=spd or 1,inf=inf})
|
ins(P.bonus,{t=0,text=text,draw=FX[type],font=font,dy=dy or 0,speed=spd or 1,inf=inf})
|
||||||
@@ -513,7 +513,7 @@ function spin(d,ifpre)
|
|||||||
end
|
end
|
||||||
function hold(ifpre)
|
function hold(ifpre)
|
||||||
if not P.holded and P.waiting<=0 and P.gameEnv.hold then
|
if not P.holded and P.waiting<=0 and P.gameEnv.hold then
|
||||||
P.hid,P.bid,P.bc=P.bid,P.hid,P.hid
|
P.hid,P.bid,P.bc,P.hc=P.bid,P.hid,P.hc,P.bc
|
||||||
P.hb,P.cb=blocks[P.hid][0],P.hb
|
P.hb,P.cb=blocks[P.hid][0],P.hb
|
||||||
|
|
||||||
if P.bid==0 then
|
if P.bid==0 then
|
||||||
@@ -604,11 +604,11 @@ function drop()
|
|||||||
elseif cc>0 then
|
elseif cc>0 then
|
||||||
if dospin then
|
if dospin then
|
||||||
if P.b2b>480 then
|
if P.b2b>480 then
|
||||||
showText(P,text.spin[P.bc]..text.clear[cc]..text.b3b,"spin",40)
|
showText(P,text.b3b..text.spin[P.bc]..text.clear[cc],"spin",40)
|
||||||
csend=b2bATK[cc]+1
|
csend=b2bATK[cc]+1
|
||||||
exblock=exblock+1
|
exblock=exblock+1
|
||||||
elseif P.b2b>=30 then
|
elseif P.b2b>=30 then
|
||||||
showText(P,text.spin[P.bc]..text.clear[cc]..text.b2b,"spin",40)
|
showText(P,text.b2b..text.spin[P.bc]..text.clear[cc],"spin",40)
|
||||||
csend=b2bATK[cc]
|
csend=b2bATK[cc]
|
||||||
else
|
else
|
||||||
showText(P,text.spin[P.bc]..text.clear[cc],"spin",50)
|
showText(P,text.spin[P.bc]..text.clear[cc],"spin",50)
|
||||||
@@ -616,7 +616,7 @@ function drop()
|
|||||||
end
|
end
|
||||||
sendTime=20+csend*20
|
sendTime=20+csend*20
|
||||||
if mini then
|
if mini then
|
||||||
showText(P,text.mini,"drive",40,10)
|
showText(P,text.mini,"appear",40,-60)
|
||||||
csend=ceil(csend*.5)
|
csend=ceil(csend*.5)
|
||||||
sendTime=sendTime+60
|
sendTime=sendTime+60
|
||||||
P.b2b=P.b2b+b2bPoint[cc]*.8
|
P.b2b=P.b2b+b2bPoint[cc]*.8
|
||||||
@@ -630,7 +630,7 @@ function drop()
|
|||||||
SFX(spin_n[cc])
|
SFX(spin_n[cc])
|
||||||
elseif #P.clearing<#P.field then
|
elseif #P.clearing<#P.field then
|
||||||
P.b2b=P.b2b-150-cc*50
|
P.b2b=P.b2b-150-cc*50
|
||||||
showText(P,text.clear[cc],"appear",25+cc*5)
|
showText(P,text.clear[cc],"appear",32+cc*3,0,(8-cc)*.3)
|
||||||
csend=cc-1
|
csend=cc-1
|
||||||
sendTime=20+csend*20
|
sendTime=20+csend*20
|
||||||
P.lastClear=cc
|
P.lastClear=cc
|
||||||
|
|||||||
@@ -4,15 +4,17 @@ return{
|
|||||||
end,
|
end,
|
||||||
cmb={nil,nil,"3连击","4连击","5连击","6连击","7连击","8连击","9连击","10连击!","11连击!","12连击!","13连击!","14连击!","15连击!","16连击!","17连击!","18连击!","19连击!","巨型连击"},
|
cmb={nil,nil,"3连击","4连击","5连击","6连击","7连击","8连击","9连击","10连击!","11连击!","12连击!","13连击!","14连击!","15连击!","16连击!","17连击!","18连击!","19连击!","巨型连击"},
|
||||||
techrash="四清",
|
techrash="四清",
|
||||||
techrashB2B="四清 B2B",
|
techrashB2B="满贯 四清",
|
||||||
techrashB3B="四清 B2B2B",
|
techrashB3B="大满贯 四清",
|
||||||
block={"Z","S","L","J","T","O","I"},
|
block={"Z","S","L","J","T","O","I"},
|
||||||
spin={"Z旋","S旋","L旋","J旋","T旋","O旋","I旋"},
|
spin={"Z型回旋","S型回旋","L型回旋","J型回旋","T型回旋","O型回旋","I型回旋"},
|
||||||
clear={"单消","双消","三清"},
|
clear={"单清","双清","三清"},
|
||||||
b2b="B2B",
|
b2b="满贯 ",
|
||||||
b3b="B2B2B",
|
b3b="大满贯 ",
|
||||||
mini="次级",
|
mini="次级",
|
||||||
PC="场地全清",
|
PC="场地全清",
|
||||||
|
hold="暂存",
|
||||||
|
next="下一个",
|
||||||
|
|
||||||
stage={"关卡 1","关卡 2","关卡 3","关卡 4","关卡 5",},
|
stage={"关卡 1","关卡 2","关卡 3","关卡 4","关卡 5",},
|
||||||
maxspeed="最高速度",
|
maxspeed="最高速度",
|
||||||
@@ -22,8 +24,35 @@ return{
|
|||||||
lose="失败",
|
lose="失败",
|
||||||
|
|
||||||
custom="自定义游戏",
|
custom="自定义游戏",
|
||||||
|
customOption={
|
||||||
|
drop="下落延迟:",
|
||||||
|
lock="锁定延迟:",
|
||||||
|
wait="放块延迟:",
|
||||||
|
fall="消行延迟:",
|
||||||
|
next="序列数量:",
|
||||||
|
hold="暂存:",
|
||||||
|
sequence="序列:",
|
||||||
|
visible="可见性:",
|
||||||
|
target="目标行数:",
|
||||||
|
freshLimit="锁延刷新次数:",
|
||||||
|
opponent="对手速度等级:",
|
||||||
|
},
|
||||||
|
customVal={
|
||||||
|
drop={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞","[20G]"},
|
||||||
|
lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞"},
|
||||||
|
wait=nil,
|
||||||
|
fall=nil,
|
||||||
|
next=nil,
|
||||||
|
hold={"开","关"},
|
||||||
|
sequence={"bag7","his4","随机"},
|
||||||
|
visible={"可见","半隐形","全隐形"},
|
||||||
|
target={10,20,40,100,200,500,1000,"∞"},
|
||||||
|
freshLimit={0,8,15,"∞"},
|
||||||
|
opponent={"无电脑",1,2,3,4,5,6,7,8,9,10,11},
|
||||||
|
},
|
||||||
softdropdas="软降DAS:",
|
softdropdas="软降DAS:",
|
||||||
softdroparr="软降ARR:",
|
softdroparr="软降ARR:",
|
||||||
|
snapLevelName={"任意摆放","10px吸附","20px吸附","40px吸附","60px吸附","80px吸附"},
|
||||||
keyboard="键盘",
|
keyboard="键盘",
|
||||||
joystick="手柄",
|
joystick="手柄",
|
||||||
setting2Help="方向键选择/翻页,回车修改,esc返回",
|
setting2Help="方向键选择/翻页,回车修改,esc返回",
|
||||||
@@ -32,12 +61,13 @@ return{
|
|||||||
actName={"左移:","右移:","顺时针旋转:","顺时针旋转:","180°旋转","硬降:","软降:","暂存:","切换攻击:","重新开始:","左瞬移:","右瞬移:","软降到底:"},
|
actName={"左移:","右移:","顺时针旋转:","顺时针旋转:","180°旋转","硬降:","软降:","暂存:","切换攻击:","重新开始:","左瞬移:","右瞬移:","软降到底:"},
|
||||||
modeName={
|
modeName={
|
||||||
[0]="自定义",
|
[0]="自定义",
|
||||||
"竞速","马拉松","禅","无尽","单挑","仅TSD","隐形","挖掘","生存","科研",
|
"竞速","马拉松","经典","禅","无尽","单挑","仅TSD","隐形","挖掘","生存","科研",
|
||||||
"全清训练","全清挑战","41人混战","99人混战","干旱","多人",
|
"全清训练","全清挑战","41人混战","99人混战","干旱","多人",
|
||||||
},
|
},
|
||||||
modeInfo={
|
modeInfo={
|
||||||
sprint="挑战世界纪录",
|
sprint="挑战世界纪录",
|
||||||
marathon="尝试坚持到最后",
|
marathon="尝试坚持到最后",
|
||||||
|
classic="高速经典",
|
||||||
zen="无重力消除200行",
|
zen="无重力消除200行",
|
||||||
infinite="科研沙盒",
|
infinite="科研沙盒",
|
||||||
solo="打败AI",
|
solo="打败AI",
|
||||||
@@ -81,7 +111,7 @@ return{
|
|||||||
help={
|
help={
|
||||||
"好像也没啥好帮助的吧?就当是关于了",
|
"好像也没啥好帮助的吧?就当是关于了",
|
||||||
"这只是一个方块游戏,请勿过度解读和随意联想",
|
"这只是一个方块游戏,请勿过度解读和随意联想",
|
||||||
"不过就当成TOP/C2/KOS/TGM3玩好了",
|
"不过就当成TOP/C2/KOS/TGM3/JS玩好了",
|
||||||
"游戏还在测试阶段,请 勿 外 传",
|
"游戏还在测试阶段,请 勿 外 传",
|
||||||
"",
|
"",
|
||||||
"使用LOVE2D引擎",
|
"使用LOVE2D引擎",
|
||||||
@@ -145,7 +175,7 @@ return{
|
|||||||
"返回",
|
"返回",
|
||||||
function()return setting.virtualkeySwitch and"隐藏虚拟按键"or"显示虚拟按键"end,
|
function()return setting.virtualkeySwitch and"隐藏虚拟按键"or"显示虚拟按键"end,
|
||||||
"默认组合",
|
"默认组合",
|
||||||
function()return snapLevelName[snapLevel]end,
|
function()return text.snapLevelName[snapLevel]end,
|
||||||
function()return percent0to5[setting.virtualkeyAlpha]end,
|
function()return percent0to5[setting.virtualkeyAlpha]end,
|
||||||
"图标",
|
"图标",
|
||||||
"大小",
|
"大小",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ return{
|
|||||||
b3b=" B2B2B",
|
b3b=" B2B2B",
|
||||||
mini="Mini",
|
mini="Mini",
|
||||||
PC="Perfect Clear",
|
PC="Perfect Clear",
|
||||||
|
hold="hold",
|
||||||
|
next="next",
|
||||||
|
|
||||||
stage={"STAGE 1","STAGE 2","STAGE 3","STAGE 4","STAGE 5",},
|
stage={"STAGE 1","STAGE 2","STAGE 3","STAGE 4","STAGE 5",},
|
||||||
maxspeed="Max speed",
|
maxspeed="Max speed",
|
||||||
@@ -22,8 +24,35 @@ return{
|
|||||||
lose="LOSE",
|
lose="LOSE",
|
||||||
|
|
||||||
custom="Custom Game",
|
custom="Custom Game",
|
||||||
|
customOption={
|
||||||
|
drop="Drop delay:",
|
||||||
|
lock="Lock delay:",
|
||||||
|
wait="Next piece delay:",
|
||||||
|
fall="Clear row delay:",
|
||||||
|
next="Next count:",
|
||||||
|
hold="Hold:",
|
||||||
|
sequence="Sequence:",
|
||||||
|
visible="Visible:",
|
||||||
|
target="Line limit:",
|
||||||
|
freshLimit="Lock fresh limit:",
|
||||||
|
opponent="Opponent speed:",
|
||||||
|
},
|
||||||
|
customVal={
|
||||||
|
drop={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞","[20G]"},
|
||||||
|
lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞"},
|
||||||
|
wait=nil,
|
||||||
|
fall=nil,
|
||||||
|
next=nil,
|
||||||
|
hold={"on","off"},
|
||||||
|
sequence={"bag7","his4","random"},
|
||||||
|
visible={"normal","time","invisible"},
|
||||||
|
target={10,20,40,100,200,500,1000,"∞"},
|
||||||
|
freshLimit={0,8,15,"∞"},
|
||||||
|
opponent={"No CPU",1,2,3,4,5,6,7,8,9,10,11},
|
||||||
|
},
|
||||||
softdropdas="softdropDAS:",
|
softdropdas="softdropDAS:",
|
||||||
softdroparr="softdropARR:",
|
softdroparr="softdropARR:",
|
||||||
|
snapLevelName={"Free pos","Snap-10","Snap-20","Snap-40","Snap-60","Snap-80"},
|
||||||
keyboard="Keyboard",
|
keyboard="Keyboard",
|
||||||
joystick="Joystick",
|
joystick="Joystick",
|
||||||
setting2Help="Arrowkey to select/change slot,Enter to change,Esc back",
|
setting2Help="Arrowkey to select/change slot,Enter to change,Esc back",
|
||||||
@@ -32,12 +61,13 @@ return{
|
|||||||
actName={"Move Left:","Move Right:","Rotate Right:","Rotate Left:","Rotate Flip:","Hard Drop:","Soft Drop:","Hold:","Swap:","Restart:","Instant Left:","Instant Right:","Ins Down:"},
|
actName={"Move Left:","Move Right:","Rotate Right:","Rotate Left:","Rotate Flip:","Hard Drop:","Soft Drop:","Hold:","Swap:","Restart:","Instant Left:","Instant Right:","Ins Down:"},
|
||||||
modeName={
|
modeName={
|
||||||
[0]="Custom",
|
[0]="Custom",
|
||||||
"Sprint","Marathon","Zen","Infinite","1v1","TSD-only","Blind","Dig","Survivor","Tech",
|
"Sprint","Marathon","Classic","Zen","Infinite","1v1","TSD-only","Blind","Dig","Survivor","Tech",
|
||||||
"PC Train","PC Challenge","Techmino41","Techmino99","Drought","Hotseat",
|
"PC Train","PC Challenge","Techmino41","Techmino99","Drought","Hotseat",
|
||||||
},
|
},
|
||||||
modeInfo={
|
modeInfo={
|
||||||
sprint="Speed run",
|
sprint="Speed run",
|
||||||
marathon="Survive and reach target",
|
marathon="Survive and reach target",
|
||||||
|
classic="Vintage car drag racing",
|
||||||
zen="Clear 200 Lines without gravity",
|
zen="Clear 200 Lines without gravity",
|
||||||
infinite="Infinite game,infinite happiness",
|
infinite="Infinite game,infinite happiness",
|
||||||
solo="Beat AI",
|
solo="Beat AI",
|
||||||
@@ -145,7 +175,7 @@ return{
|
|||||||
"Back",
|
"Back",
|
||||||
function()return setting.virtualkeySwitch and"Hide Virtual Key"or"Show Virtual Key"end,
|
function()return setting.virtualkeySwitch and"Hide Virtual Key"or"Show Virtual Key"end,
|
||||||
"Defaults",
|
"Defaults",
|
||||||
function()return snapLevelName[snapLevel]end,
|
function()return text.snapLevelName[snapLevel]end,
|
||||||
function()return percent0to5[setting.virtualkeyAlpha]end,
|
function()return percent0to5[setting.virtualkeyAlpha]end,
|
||||||
"Icon",
|
"Icon",
|
||||||
"Size",
|
"Size",
|
||||||
|
|||||||
72
list.lua
72
list.lua
@@ -128,6 +128,7 @@ bgm={
|
|||||||
"final",
|
"final",
|
||||||
"secret7th",
|
"secret7th",
|
||||||
"secret8th",
|
"secret8th",
|
||||||
|
"rockblock",
|
||||||
}
|
}
|
||||||
|
|
||||||
prevMenu={
|
prevMenu={
|
||||||
@@ -162,33 +163,7 @@ customID={
|
|||||||
"target",
|
"target",
|
||||||
"freshLimit",
|
"freshLimit",
|
||||||
"opponent",
|
"opponent",
|
||||||
}--Order
|
}
|
||||||
customOption={
|
|
||||||
drop="Drop delay:",
|
|
||||||
lock="Lock delay:",
|
|
||||||
wait="Next piece delay:",
|
|
||||||
fall="Clear row delay:",
|
|
||||||
next="Next count:",
|
|
||||||
hold="Hold:",
|
|
||||||
sequence="Sequence:",
|
|
||||||
visible="Visible:",
|
|
||||||
target="Line limit:",
|
|
||||||
freshLimit="Lock fresh limit:",
|
|
||||||
opponent="Opponent speed:",
|
|
||||||
}--Key str
|
|
||||||
customVal={
|
|
||||||
drop={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞","[20G]"},
|
|
||||||
lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞"},
|
|
||||||
wait=nil,
|
|
||||||
fall=nil,
|
|
||||||
next=nil,
|
|
||||||
hold={"on","off"},
|
|
||||||
sequence={"bag7","his4","random"},
|
|
||||||
visible={"normal","time","invisible"},
|
|
||||||
target={10,20,40,100,200,500,1000,"∞"},
|
|
||||||
freshLimit={0,8,15,"∞"},
|
|
||||||
opponent={"No CPU",1,2,3,4,5,6,7,8,9,10,11},
|
|
||||||
}--number-Val str
|
|
||||||
customRange={
|
customRange={
|
||||||
drop={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99,-1},
|
drop={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99,-1},
|
||||||
lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99},
|
lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99},
|
||||||
@@ -234,7 +209,6 @@ pc_fall={18,16,14,12,10,9,8,7,6}
|
|||||||
atkModeName={"Random","Badges","K.O.s","Counters"}
|
atkModeName={"Random","Badges","K.O.s","Counters"}
|
||||||
up0to4={[0]="000%UP","025%UP","050%UP","075%UP","100%UP",}
|
up0to4={[0]="000%UP","025%UP","050%UP","075%UP","100%UP",}
|
||||||
percent0to5={[0]="0%","20%","40%","60%","80%","100%",}
|
percent0to5={[0]="0%","20%","40%","60%","80%","100%",}
|
||||||
snapLevelName={"Free pos","Snap-10","Snap-20","Snap-40","Snap-60","Snap-80"}
|
|
||||||
|
|
||||||
defaultModeEnv={
|
defaultModeEnv={
|
||||||
sprint={
|
sprint={
|
||||||
@@ -332,6 +306,22 @@ defaultModeEnv={
|
|||||||
bgm="secret7th",
|
bgm="secret7th",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
classic={
|
||||||
|
{
|
||||||
|
das=15,arr=3,
|
||||||
|
sddas=2,sdarr=2,
|
||||||
|
ghost=false,center=false,
|
||||||
|
drop=1,lock=1,
|
||||||
|
wait=10,fall=25,
|
||||||
|
next=6,hold=false,
|
||||||
|
sequence="rnd",
|
||||||
|
freshLimit=0,
|
||||||
|
target=10,
|
||||||
|
reach=Event.classic_reach,
|
||||||
|
bg="rgb",
|
||||||
|
bgm="rockblock",
|
||||||
|
},
|
||||||
|
},
|
||||||
zen={
|
zen={
|
||||||
{
|
{
|
||||||
drop=1e99,
|
drop=1e99,
|
||||||
@@ -622,9 +612,15 @@ defaultModeEnv={
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
modeID={
|
||||||
|
[0]="custom",
|
||||||
|
"sprint","marathon","classic","zen","infinite","solo","tsd","blind","dig","survivor","tech",
|
||||||
|
"pctrain","pcchallenge","techmino41","techmino99","drought","hotseat",
|
||||||
|
}
|
||||||
modeLevel={
|
modeLevel={
|
||||||
sprint={"10L","20L","40L","100L","400L","1000L"},
|
sprint={"10L","20L","40L","100L","400L","1000L"},
|
||||||
marathon={"EASY","NORMAL","HARD","LUNATIC","ULTIMATE"},
|
marathon={"EASY","NORMAL","HARD","LUNATIC","ULTIMATE"},
|
||||||
|
classic={"CTWC"},
|
||||||
zen={"NORMAL"},
|
zen={"NORMAL"},
|
||||||
infinite={"NORMAL"},
|
infinite={"NORMAL"},
|
||||||
solo={"EASY","NORMAL","HARD","LUNATIC"},
|
solo={"EASY","NORMAL","HARD","LUNATIC"},
|
||||||
@@ -633,7 +629,7 @@ modeLevel={
|
|||||||
dig={"NORMAL","LUNATIC"},
|
dig={"NORMAL","LUNATIC"},
|
||||||
survivor={"EASY","NORMAL","HARD","LUNATIC"},
|
survivor={"EASY","NORMAL","HARD","LUNATIC"},
|
||||||
tech={"EASY","NORMAL","HARD","LUNATIC","ULTIMATE"},
|
tech={"EASY","NORMAL","HARD","LUNATIC","ULTIMATE"},
|
||||||
pctrain={"NORMAL","LUNATIC"},
|
pctrain={"NORMAL","EXTRA"},
|
||||||
pcchallenge={"NORMAL","HARD","LUNATIC"},
|
pcchallenge={"NORMAL","HARD","LUNATIC"},
|
||||||
techmino41={"EASY","NORMAL","HARD","LUNATIC","ULTIMATE"},
|
techmino41={"EASY","NORMAL","HARD","LUNATIC","ULTIMATE"},
|
||||||
techmino99={"EASY","NORMAL","HARD","LUNATIC","ULTIMATE"},
|
techmino99={"EASY","NORMAL","HARD","LUNATIC","ULTIMATE"},
|
||||||
@@ -647,11 +643,12 @@ modeLevelColor={
|
|||||||
HARD=color.purple,
|
HARD=color.purple,
|
||||||
LUNATIC=color.red,
|
LUNATIC=color.red,
|
||||||
EXTRA=color.lightPurple,
|
EXTRA=color.lightPurple,
|
||||||
|
ULTIMATE=color.lightYellow,
|
||||||
|
|
||||||
MESS=color.lightGrey,
|
MESS=color.lightGrey,
|
||||||
GM=color.blue,
|
GM=color.blue,
|
||||||
ULTIMATE=color.lightYellow,
|
|
||||||
DEATH=color.lightRed,
|
DEATH=color.lightRed,
|
||||||
|
CTWC=color.lightBlue,
|
||||||
["10L"]=color.cyan,
|
["10L"]=color.cyan,
|
||||||
["20L"]=color.lightBlue,
|
["20L"]=color.lightBlue,
|
||||||
["40L"]=color.green,
|
["40L"]=color.green,
|
||||||
@@ -659,11 +656,6 @@ modeLevelColor={
|
|||||||
["400L"]=color.red,
|
["400L"]=color.red,
|
||||||
["1000L"]=color.darkRed,
|
["1000L"]=color.darkRed,
|
||||||
}
|
}
|
||||||
modeID={
|
|
||||||
[0]="custom",
|
|
||||||
"sprint","marathon","zen","infinite","solo","tsd","blind","dig","survivor","tech",
|
|
||||||
"pctrain","pcchallenge","techmino41","techmino99","drought","hotseat",
|
|
||||||
}
|
|
||||||
|
|
||||||
freshMethod={
|
freshMethod={
|
||||||
bag7=function()
|
bag7=function()
|
||||||
@@ -944,16 +936,16 @@ Buttons={
|
|||||||
{x=850,y=370,w=340,h=60,rgb=color.white,code=function()
|
{x=850,y=370,w=340,h=60,rgb=color.white,code=function()
|
||||||
setting.frameMul=setting.frameMul+(setting.frameMul<50 and 5 or 10)
|
setting.frameMul=setting.frameMul+(setting.frameMul<50 and 5 or 10)
|
||||||
if setting.frameMul>100 then setting.frameMul=25 end
|
if setting.frameMul>100 then setting.frameMul=25 end
|
||||||
end,up=15,down=17},
|
end,up=15,down=17,left=19},
|
||||||
--11~16
|
--11~16
|
||||||
{x=850,y=440,w=340,h=60,rgb=color.green,code=function()gotoScene("setting2")end,up=16,down=18},
|
{x=850,y=440,w=340,h=60,rgb=color.green,code=function()gotoScene("setting2")end,up=16,down=18,left=19},
|
||||||
{x=850,y=510,w=340,h=60,rgb=color.yellow,code=function()gotoScene("setting3")end,up=17,down=20},
|
{x=850,y=510,w=340,h=60,rgb=color.yellow,code=function()gotoScene("setting3")end,up=17,down=20,left=19},
|
||||||
{x=280,y=510,w=200,h=60,rgb=color.red,code=function()
|
{x=280,y=510,w=200,h=60,rgb=color.red,code=function()
|
||||||
setting.lang=setting.lang%#langName+1
|
setting.lang=setting.lang%#langName+1
|
||||||
swapLanguage(setting.lang)
|
swapLanguage(setting.lang)
|
||||||
end,up=10,down=20,right=18},
|
end,up=7,down=20,right=18},
|
||||||
{x=640,y=620,w=300,h=70,rgb=color.white,code=back,up=19},
|
{x=640,y=620,w=300,h=70,rgb=color.white,code=back,up=19},
|
||||||
--17~19
|
--17~20
|
||||||
},
|
},
|
||||||
setting2={--Control setting
|
setting2={--Control setting
|
||||||
{x=840,y=630,w=180,h=60,rgb=color.white,code=back},
|
{x=840,y=630,w=180,h=60,rgb=color.white,code=back},
|
||||||
|
|||||||
37
main.lua
37
main.lua
@@ -39,7 +39,7 @@ function setFont(s)
|
|||||||
if Fonts[s]then
|
if Fonts[s]then
|
||||||
gc.setFont(Fonts[s])
|
gc.setFont(Fonts[s])
|
||||||
else
|
else
|
||||||
local t=gc.setNewFont("allph.ttf",s-5)
|
local t=gc.setNewFont("font.ttf",s-5)
|
||||||
Fonts[s]=t
|
Fonts[s]=t
|
||||||
gc.setFont(t)
|
gc.setFont(t)
|
||||||
end
|
end
|
||||||
@@ -83,6 +83,9 @@ loadmode={
|
|||||||
marathon=function()
|
marathon=function()
|
||||||
createPlayer(1,340,15)
|
createPlayer(1,340,15)
|
||||||
end,
|
end,
|
||||||
|
classic=function()
|
||||||
|
createPlayer(1,340,15)
|
||||||
|
end,
|
||||||
zen=function()
|
zen=function()
|
||||||
createPlayer(1,340,15)
|
createPlayer(1,340,15)
|
||||||
end,
|
end,
|
||||||
@@ -209,6 +212,23 @@ mesDisp={
|
|||||||
setFont(70)
|
setFont(70)
|
||||||
mStr(max(P.gameEnv.target-P.cstat.row,0),-75,260)
|
mStr(max(P.gameEnv.target-P.cstat.row,0),-75,260)
|
||||||
end,
|
end,
|
||||||
|
marathon=function()
|
||||||
|
setFont(50)
|
||||||
|
mStr(P.cstat.row,-75,320)
|
||||||
|
mStr(P.gameEnv.target,-75,370)
|
||||||
|
gc.rectangle("fill",-120,376,90,4)
|
||||||
|
end,
|
||||||
|
classic=function()
|
||||||
|
setFont(80)
|
||||||
|
local r=P.gameEnv.target*.1
|
||||||
|
mStr(r<11 and 19+r or r==11 and"00"or r==12 and"0a"or format("%x",r*10-110),-75,210)
|
||||||
|
setFont(20)
|
||||||
|
mStr("speed level",-75,290)
|
||||||
|
setFont(50)
|
||||||
|
mStr(P.cstat.row,-75,320)
|
||||||
|
mStr(P.gameEnv.target,-75,370)
|
||||||
|
gc.rectangle("fill",-120,376,90,4)
|
||||||
|
end,
|
||||||
zen=function()
|
zen=function()
|
||||||
setFont(75)
|
setFont(75)
|
||||||
mStr(max(200-P.cstat.row,0),-75,280)
|
mStr(max(200-P.cstat.row,0),-75,280)
|
||||||
@@ -221,12 +241,6 @@ mesDisp={
|
|||||||
mStr("Attack",-75,363)
|
mStr("Attack",-75,363)
|
||||||
mStr("Efficiency",-75,475)
|
mStr("Efficiency",-75,475)
|
||||||
end,
|
end,
|
||||||
marathon=function()
|
|
||||||
setFont(50)
|
|
||||||
mStr(P.cstat.row,-75,320)
|
|
||||||
mStr(P.gameEnv.target,-75,370)
|
|
||||||
gc.rectangle("fill",-120,376,90,4)
|
|
||||||
end,
|
|
||||||
tsd=function()
|
tsd=function()
|
||||||
setFont(35)
|
setFont(35)
|
||||||
mStr("TSD",-75,405)
|
mStr("TSD",-75,405)
|
||||||
@@ -470,11 +484,18 @@ Event={
|
|||||||
SFX("reach")
|
SFX("reach")
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
classic_reach=function()
|
||||||
|
P.gameEnv.target=P.gameEnv.target+10
|
||||||
|
if P.gameEnv.target==100 then
|
||||||
|
P.gameEnv.drop,P.gameEnv.lock=0,0
|
||||||
|
end
|
||||||
|
SFX("reach")
|
||||||
|
end,
|
||||||
tsd_reach=function()
|
tsd_reach=function()
|
||||||
if P.lastClear~=52 then
|
if P.lastClear~=52 then
|
||||||
Event.gameover.lose()
|
Event.gameover.lose()
|
||||||
else
|
else
|
||||||
P.gameEnv.target=P.gameEnv.target+2
|
P.gameEnv.target=P.gameEnv.target+20
|
||||||
P.cstat.event=P.cstat.event+1
|
P.cstat.event=P.cstat.event+1
|
||||||
if #P.field>11 and P.cstat.event%5~=1 then
|
if #P.field>11 and P.cstat.event%5~=1 then
|
||||||
ins(P.clearing,1)
|
ins(P.clearing,1)
|
||||||
|
|||||||
14
paint.lua
14
paint.lua
@@ -267,7 +267,7 @@ end
|
|||||||
function Pnt.main()
|
function Pnt.main()
|
||||||
gc.setColor(1,1,1)
|
gc.setColor(1,1,1)
|
||||||
setFont(30)
|
setFont(30)
|
||||||
gc.print("Alpha V0.7.9",370,140)
|
gc.print("Alpha V0.7.10",370,140)
|
||||||
gc.print(system,530,110)
|
gc.print(system,530,110)
|
||||||
gc.draw(titleImage,30,30)
|
gc.draw(titleImage,30,30)
|
||||||
end
|
end
|
||||||
@@ -300,9 +300,9 @@ function Pnt.custom()
|
|||||||
for i=1,#customID do
|
for i=1,#customID do
|
||||||
local k=customID[i]
|
local k=customID[i]
|
||||||
local y=90+40*i
|
local y=90+40*i
|
||||||
gc.print(customOption[k],50,y)
|
gc.printf(text.customOption[k],50,y,300,"right")
|
||||||
if customVal[k]then
|
if text.customVal[k]then
|
||||||
gc.print(customVal[k][customSel[k]],350,y)
|
gc.print(text.customVal[k][customSel[k]],350,y)
|
||||||
else
|
else
|
||||||
gc.print(customRange[k][customSel[k]],350,y)
|
gc.print(customRange[k][customSel[k]],350,y)
|
||||||
end
|
end
|
||||||
@@ -445,16 +445,16 @@ function Pnt.play()
|
|||||||
setFont(40)
|
setFont(40)
|
||||||
gc.setColor(1,1,1)
|
gc.setColor(1,1,1)
|
||||||
if P.gameEnv.hold then
|
if P.gameEnv.hold then
|
||||||
gc.print("Hold",-115,-10)
|
mStr(text.hold,-75,-10)
|
||||||
for i=1,#P.hb do
|
for i=1,#P.hb do
|
||||||
for j=1,#P.hb[1] do
|
for j=1,#P.hb[1] do
|
||||||
if P.hb[i][j]>0 then
|
if P.hb[i][j]>0 then
|
||||||
drawPixel(i+17.5-#P.hb*.5,j-2.5-#P.hb[1]*.5,P.holded and 13 or P.hid,1)
|
drawPixel(i+17.5-#P.hb*.5,j-2.5-#P.hb[1]*.5,P.holded and 13 or P.hc,1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end--Hold
|
end--Hold
|
||||||
gc.print("Next",336,-10)
|
gc.print(text.next,325,-10)
|
||||||
for N=1,P.gameEnv.next do
|
for N=1,P.gameEnv.next do
|
||||||
local b=P.nb[N]
|
local b=P.nb[N]
|
||||||
for i=1,#b do
|
for i=1,#b do
|
||||||
|
|||||||
Reference in New Issue
Block a user