所有皮肤颜色细节大改,新增配色
This commit is contained in:
@@ -353,7 +353,7 @@ return{
|
||||
title="Custom Game",
|
||||
subTitle="Field",
|
||||
|
||||
b12="[ ]",
|
||||
b17="[ ]",
|
||||
any="Erase",
|
||||
space="×",
|
||||
copy="Copy",
|
||||
|
||||
@@ -353,7 +353,7 @@ return{
|
||||
title="!@#$%^&*",
|
||||
subTitle="!@#$%^&* [##]",
|
||||
|
||||
b12="[ ]",
|
||||
b17="[ ]",
|
||||
any="_",
|
||||
space="×",
|
||||
copy="→__",
|
||||
|
||||
@@ -306,7 +306,7 @@ return{
|
||||
title="自定义游戏",
|
||||
subTitle="场地",
|
||||
|
||||
b12="[ ]",
|
||||
b17="[ ]",
|
||||
any="不定",
|
||||
space="×",
|
||||
copy="复制",
|
||||
|
||||
@@ -355,7 +355,7 @@ return{
|
||||
title="自定义游戏",
|
||||
subTitle="场地",
|
||||
|
||||
b12="[ ]",
|
||||
b17="[ ]",
|
||||
any="不定",
|
||||
space="×",
|
||||
copy="复制",
|
||||
|
||||
@@ -291,7 +291,7 @@ return{
|
||||
title="自定义游戏",
|
||||
subTitle="场地",
|
||||
|
||||
b12="[ ]",
|
||||
b17="[ ]",
|
||||
any="不定",
|
||||
space="×",
|
||||
copy="复制",
|
||||
|
||||
@@ -60,8 +60,8 @@ end
|
||||
function color.rainbow(phase)
|
||||
return
|
||||
sin(phase)*.4+.6,
|
||||
sin(phase+6.28/3)*.4+.6,
|
||||
sin(phase-6.28/3)*.4+.6
|
||||
sin(phase+2.0944)*.4+.6,
|
||||
sin(phase-2.0944)*.4+.6
|
||||
end
|
||||
|
||||
return color
|
||||
@@ -328,7 +328,7 @@ local Widgets={
|
||||
|
||||
newButton({name="skinR", x=200,y=640,w=220,h=80,color="lPurple",font=35,
|
||||
code=function()
|
||||
SETTING.skin={1,5,8,2,10,3,7,1,5,5,1,8,2,10,3,7,10,7,8,2,8,2,1,5,3}
|
||||
SETTING.skin={1,7,11,3,14,4,9,1,7,1,7,11,3,14,4,9,14,9,11,3,11,3,1,7,4}
|
||||
SFX.play("rotate")
|
||||
end}),
|
||||
newButton({name="faceR", x=480,y=640,w=220,h=80,color="lRed",font=35,
|
||||
@@ -495,35 +495,43 @@ local Widgets={
|
||||
newText({name="title", x=1020,y=5,font=70,align="R"}),
|
||||
newText({name="subTitle", x=1030,y=50,font=35,align="L",color="grey"}),
|
||||
|
||||
newButton({name="b1", x=500+65*1, y=200, w=58, color="red", code=setPen(1)}),--B1
|
||||
newButton({name="b2", x=500+65*2, y=200, w=58, color="orange", code=setPen(2)}),--B2
|
||||
newButton({name="b3", x=500+65*3, y=200, w=58, color="yellow", code=setPen(3)}),--B3
|
||||
newButton({name="b4", x=500+65*4, y=200, w=58, color="grass", code=setPen(4)}),--B4
|
||||
newButton({name="b5", x=500+65*5, y=200, w=58, color="green", code=setPen(5)}),--B5
|
||||
newButton({name="b6", x=500+65*6, y=200, w=58, color="water", code=setPen(6)}),--B6
|
||||
newButton({name="b7", x=500+65*7, y=200, w=58, color="cyan", code=setPen(7)}),--B7
|
||||
newButton({name="b8", x=500+65*8, y=200, w=58, color="blue", code=setPen(8)}),--B8
|
||||
newButton({name="b9", x=500+65*9, y=200, w=58, color="purple", code=setPen(9)}),--B9
|
||||
newButton({name="b10", x=500+65*10,y=200, w=58, color="magenta",code=setPen(10)}),--B10
|
||||
newButton({name="b11", x=500+65*11,y=200, w=58, color="pink", code=setPen(11)}),--B11
|
||||
newButton({name="b1", x=580, y=130,w=75,color={color.rainbow( 1.471)},code=setPen(1)}),--B1
|
||||
newButton({name="b2", x=660, y=130,w=75,color={color.rainbow( 1.078)},code=setPen(2)}),--B2
|
||||
newButton({name="b3", x=740, y=130,w=75,color={color.rainbow( 0.685)},code=setPen(3)}),--B3
|
||||
newButton({name="b4", x=820, y=130,w=75,color={color.rainbow( 0.293)},code=setPen(4)}),--B4
|
||||
newButton({name="b5", x=900, y=130,w=75,color={color.rainbow(-0.100)},code=setPen(5)}),--B5
|
||||
newButton({name="b6", x=980, y=130,w=75,color={color.rainbow(-0.493)},code=setPen(6)}),--B6
|
||||
newButton({name="b7", x=1060, y=130,w=75,color={color.rainbow(-0.885)},code=setPen(7)}),--B7
|
||||
newButton({name="b8", x=1140, y=130,w=75,color={color.rainbow(-1.278)},code=setPen(8)}),--B8
|
||||
|
||||
newButton({name="b12", x=500+65*1, y=270, w=58, color="dGrey", code=setPen(12)}),--Bone
|
||||
newButton({name="b13", x=500+65*2, y=270, w=58, color="grey", code=setPen(13)}),--GB1
|
||||
newButton({name="b14", x=500+65*3, y=270, w=58, color="lGrey", code=setPen(14)}),--GB2
|
||||
newButton({name="b15", x=500+65*4, y=270, w=58, color="dPurple",code=setPen(15)}),--GB3
|
||||
newButton({name="b16", x=500+65*5, y=270, w=58, color="dRed", code=setPen(16)}),--GB4
|
||||
newButton({name="b17", x=500+65*6, y=270, w=58, color="dGreen", code=setPen(17)}),--GB5
|
||||
newButton({name="b9", x=580, y=210,w=75,color={color.rainbow(-1.671)},code=setPen(9)}),--B9
|
||||
newButton({name="b10", x=660, y=210,w=75,color={color.rainbow(-2.063)},code=setPen(10)}),--B10
|
||||
newButton({name="b11", x=740, y=210,w=75,color={color.rainbow(-2.456)},code=setPen(11)}),--B11
|
||||
newButton({name="b12", x=820, y=210,w=75,color={color.rainbow(-2.849)},code=setPen(12)}),--B12
|
||||
newButton({name="b13", x=900, y=210,w=75,color={color.rainbow(-3.242)},code=setPen(13)}),--B13
|
||||
newButton({name="b14", x=980, y=210,w=75,color={color.rainbow(-3.634)},code=setPen(14)}),--B14
|
||||
newButton({name="b15", x=1060, y=210,w=75,color={color.rainbow(-4.027)},code=setPen(15)}),--B15
|
||||
newButton({name="b16", x=1140, y=210,w=75,color={color.rainbow(-4.412)},code=setPen(16)}),--B16
|
||||
|
||||
newButton({name="any", x=600, y=380, w=120, color="lGrey", font=40,code=setPen(0)}),
|
||||
newButton({name="space", x=730, y=380, w=120, color="grey", font=65,code=setPen(-1)}),
|
||||
newButton({name="copy", x=920, y=380, w=120, color="lRed", font=35,code=pressKey("cC")}),
|
||||
newButton({name="paste", x=1060, y=380, w=120, color="lBlue", font=35,code=pressKey("cV")}),
|
||||
newButton({name="clear", x=1200, y=380, w=120, color="white", font=40,code=pressKey("delete")}),
|
||||
newButton({name="pushLine", x=1060, y=520, w=120, color="lYellow",font=20,code=pressKey("k")}),
|
||||
newButton({name="delLine", x=1200, y=520, w=120, color="lYellow",font=20,code=pressKey("l")}),
|
||||
newSwitch({name="demo", x=755, y=640, disp=STPval("demo"),code=STPrev("demo")}),
|
||||
newButton({name="b17", x=580, y=290,w=75,color="dGrey", code=setPen(17)}),--BONE
|
||||
newButton({name="b18", x=660, y=290,w=75,color="black", code=setPen(18)}),--HIDE
|
||||
newButton({name="b19", x=740, y=290,w=75,color="lYellow", code=setPen(19)}),--BOMB
|
||||
newButton({name="b20", x=820, y=290,w=75,color="grey", code=setPen(20)}),--GB1
|
||||
newButton({name="b21", x=900, y=290,w=75,color="lGrey", code=setPen(21)}),--GB2
|
||||
newButton({name="b22", x=980, y=290,w=75,color="dPurple", code=setPen(22)}),--GB3
|
||||
newButton({name="b23", x=1060, y=290,w=75,color="dRed", code=setPen(23)}),--GB4
|
||||
newButton({name="b24", x=1140, y=290,w=75,color="dGreen", code=setPen(24)}),--GB5
|
||||
|
||||
newButton({name="back", x=1140, y=640, w=170,h=80, font=40,code=BACK}),
|
||||
newButton({name="any", x=600, y=400, w=120, color="lGrey", font=40,code=setPen(0)}),
|
||||
newButton({name="space", x=730, y=400, w=120, color="grey", font=65,code=setPen(-1)}),
|
||||
newButton({name="copy", x=905, y=400, w=120, color="lRed", font=35,code=pressKey("cC")}),
|
||||
newButton({name="paste", x=1035, y=400, w=120, color="lBlue", font=35,code=pressKey("cV")}),
|
||||
newButton({name="clear", x=1165, y=400, w=120, color="white", font=40,code=pressKey("delete")}),
|
||||
newButton({name="pushLine", x=1035, y=530, w=120, color="lYellow",font=20,code=pressKey("k")}),
|
||||
newButton({name="delLine", x=1165, y=530, w=120, color="lYellow",font=20,code=pressKey("l")}),
|
||||
newSwitch({name="demo", x=755, y=640, disp=STPval("demo"),code=STPrev("demo")}),
|
||||
|
||||
newButton({name="back", x=1140, y=640, w=170,h=80,font=40,code=BACK}),
|
||||
},
|
||||
custom_sequence={
|
||||
newText({name="title", x=520,y=5,font=70,align="R"}),
|
||||
|
||||
1
main.lua
1
main.lua
@@ -211,6 +211,7 @@ do
|
||||
if S.finesseRate<.5*S.piece then
|
||||
S.finesseRate=10*S.finesseRate
|
||||
end
|
||||
SETTING.skin={1,7,11,3,14,4,9,1,7,1,7,11,3,14,4,9,14,9,11,3,11,3,1,7,4}
|
||||
FILE.saveData()
|
||||
FILE.saveSetting()
|
||||
end
|
||||
|
||||
@@ -13,7 +13,7 @@ SETTING={
|
||||
appLock=false,
|
||||
lang=1,
|
||||
skinSet=1,
|
||||
skin={1,5,8,2,10,3,7,1,5,1,5,8,2,10,3,7,10,7,8,2,8,2,1,5,3},
|
||||
skin={1,7,11,3,14,4,9,1,7,1,7,11,3,14,4,9,14,9,11,3,11,3,1,7,4},
|
||||
face={},
|
||||
|
||||
--Graphic
|
||||
|
||||
@@ -189,7 +189,7 @@ function pasteBoard(str)
|
||||
end
|
||||
|
||||
__=_%32-1--Block id
|
||||
if __>17 then return end--Illegal blockid
|
||||
if __>26 then return end--Illegal blockid
|
||||
_=int(_/32)--Mode id
|
||||
|
||||
FIELD[fY][fX]=__
|
||||
|
||||
@@ -1579,7 +1579,7 @@ function player.garbageRelease(P)
|
||||
while true do
|
||||
local A=P.atkBuffer[n]
|
||||
if A and A.countdown<=0 and not A.sent then
|
||||
P:garbageRise(12+A.lv,A.amount,A.pos)
|
||||
P:garbageRise(19+A.lv,A.amount,A.pos)
|
||||
P.atkBuffer.sum=P.atkBuffer.sum-A.amount
|
||||
A.sent,A.time=true,0
|
||||
P.stat.pend=P.stat.pend+A.amount
|
||||
@@ -1936,7 +1936,7 @@ end
|
||||
|
||||
function player.getNext(P,n)
|
||||
local E=P.gameEnv
|
||||
ins(P.next,{bk=blocks[n][E.face[n]],id=n,color=E.bone and 12 or E.skin[n],name=n})
|
||||
ins(P.next,{bk=blocks[n][E.face[n]],id=n,color=E.bone and 17 or E.skin[n],name=n})
|
||||
end
|
||||
function player.popNext(P)--Pop next queue to hand
|
||||
P.holded=false
|
||||
@@ -2016,14 +2016,14 @@ do--player.drop(P)--Place piece
|
||||
local b2bATK={3,5,8,12,18}
|
||||
local clearSCR={80,200,400}
|
||||
local spinSCR={--[blockName][row]
|
||||
{200,750,1300},--Z
|
||||
{200,750,1300},--S
|
||||
{220,700,1300},--L
|
||||
{220,700,1300},--J
|
||||
{250,800,1400},--T
|
||||
{260,900,1700,4000},--O
|
||||
{300,1200,1700,4000},--I
|
||||
{220,800,2000,3000,8000},--Else
|
||||
{200,750,1300,2000},--Z
|
||||
{200,750,1300,2000},--S
|
||||
{220,700,1300,2000},--L
|
||||
{220,700,1300,2000},--J
|
||||
{250,800,1400,2000},--T
|
||||
{260,900,1700,4000,6000},--O
|
||||
{300,1200,1700,4000,6000},--I
|
||||
{220,800,2000,3000,8000,26000},--Else
|
||||
}
|
||||
--B2BMUL:1.2/2.0
|
||||
--Techrash:1K;MUL:1.3/1.8
|
||||
@@ -2100,7 +2100,21 @@ do--player.drop(P)--Place piece
|
||||
--Clear list of cleared-rows
|
||||
if P.clearedRow[1]then P.clearedRow={}end
|
||||
|
||||
--Check rows to be cleared
|
||||
--Check bomb garbage
|
||||
if CY>1 then
|
||||
local L=P.field[CY-1]
|
||||
local l=CB.bk[1]
|
||||
for i=1,P.c do
|
||||
if l[i]and L[CX+i-1]==19 then
|
||||
cc=1--cc=cc+1
|
||||
P.clearingRow[1]=CY-1--P.clearingRow[cc]=CY-1
|
||||
P.clearedRow[1]=CY-1--P.clearedRow[cc]=CY-1
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--Check rows filled
|
||||
for i=0,P.r-1 do
|
||||
local h=CY+i
|
||||
if P:ckfull(h)then
|
||||
|
||||
@@ -1444,7 +1444,7 @@ do--setting_game
|
||||
|
||||
function Pnt.setting_game()
|
||||
gc.setColor(1,1,1)
|
||||
gc.draw(blockSkin[int(Timer()*2)%11+1],590,540,Timer()%6.28319,2,nil,15,15)
|
||||
gc.draw(blockSkin[int(Timer()*2)%16+1],590,540,Timer()%6.28319,2,nil,15,15)
|
||||
end
|
||||
end
|
||||
do--setting_video
|
||||
@@ -1721,8 +1721,9 @@ do--setting_skin
|
||||
end end
|
||||
gc.circle("fill",-10+140*N,340,sin(Timer()*10)+5)
|
||||
end
|
||||
for i=1,6 do
|
||||
gc.draw(blockSkin[11+i],570+60*i,610,nil,2)
|
||||
gc.draw(blockSkin[17],930,610,nil,2)
|
||||
for i=1,5 do
|
||||
gc.draw(blockSkin[19+i],570+60*i,610,nil,2)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -2201,7 +2202,7 @@ do--custom_field
|
||||
elseif key=="j"then
|
||||
sceneTemp.demo=not sceneTemp.demo
|
||||
elseif key=="k"then
|
||||
ins(FIELD,1,{14,14,14,14,14,14,14,14,14,14})
|
||||
ins(FIELD,1,{21,21,21,21,21,21,21,21,21,21})
|
||||
FIELD[21]=nil
|
||||
SFX.play("blip")
|
||||
elseif key=="l"then
|
||||
@@ -2278,27 +2279,31 @@ do--custom_field
|
||||
if pen>0 then
|
||||
gc.setLineWidth(13)
|
||||
gc.setColor(SKIN.libColor[pen])
|
||||
gc.rectangle("line",565,460,70,70)
|
||||
gc.rectangle("line",565,500,70,70)
|
||||
elseif pen==-1 then
|
||||
gc.setLineWidth(5)
|
||||
gc.setColor(.9,.9,.9)
|
||||
gc.line(575,470,625,520)
|
||||
gc.line(575,520,625,470)
|
||||
gc.line(575,510,625,560)
|
||||
gc.line(575,560,625,510)
|
||||
end
|
||||
|
||||
--Confirm reset
|
||||
if S.sure>0 then
|
||||
gc.setColor(1,1,1,S.sure*.02)
|
||||
gc.draw(drawableText.question,1180,290)
|
||||
gc.draw(drawableText.question,1180,340)
|
||||
end
|
||||
|
||||
--Block name
|
||||
setFont(40)
|
||||
setFont(55)
|
||||
gc.setColor(1,1,1)
|
||||
local _
|
||||
for i=1,7 do
|
||||
_=SETTING.skin[i]
|
||||
gc.setColor(SKIN.libColor[_])
|
||||
mStr(text.block[i],500+65*_,115)
|
||||
if _<=8 then
|
||||
mStr(text.block[i],500+80*_,90)
|
||||
else
|
||||
mStr(text.block[i],500+80*(_-8),170)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -33,18 +33,25 @@ local SKIN={}
|
||||
SKIN.lib={}
|
||||
SKIN.libMini={}
|
||||
SKIN.libColor={
|
||||
color.red,
|
||||
color.orange,
|
||||
color.yellow,
|
||||
color.grass,
|
||||
color.green,
|
||||
color.water,
|
||||
color.cyan,
|
||||
color.blue,
|
||||
color.purple,
|
||||
color.magenta,
|
||||
color.pink,
|
||||
{color.rainbow( 1.471)},
|
||||
{color.rainbow( 1.078)},
|
||||
{color.rainbow( 0.685)},
|
||||
{color.rainbow( 0.293)},
|
||||
{color.rainbow(-0.100)},
|
||||
{color.rainbow(-0.493)},
|
||||
{color.rainbow(-0.885)},
|
||||
{color.rainbow(-1.278)},
|
||||
{color.rainbow(-1.671)},
|
||||
{color.rainbow(-2.063)},
|
||||
{color.rainbow(-2.456)},
|
||||
{color.rainbow(-2.849)},
|
||||
{color.rainbow(-3.242)},
|
||||
{color.rainbow(-3.634)},
|
||||
{color.rainbow(-4.027)},
|
||||
{color.rainbow(-4.412)},
|
||||
color.dGrey,
|
||||
color.black,
|
||||
color.lYellow,
|
||||
color.grey,
|
||||
color.lGrey,
|
||||
color.dPurple,
|
||||
@@ -59,7 +66,7 @@ function SKIN.loadOne(_)
|
||||
gc.origin()
|
||||
gc.setDefaultFilter("nearest","nearest")
|
||||
gc.setColor(1,1,1)
|
||||
SKIN.lib[_],SKIN.libMini[_]={},{}--30/6
|
||||
SKIN.lib[_],SKIN.libMini[_]={},{}
|
||||
local N="/image/skin/"..list[_]..".png"
|
||||
local I
|
||||
if love.filesystem.getInfo(N)then
|
||||
@@ -68,19 +75,14 @@ function SKIN.loadOne(_)
|
||||
I=gc.newImage("/image/skin/"..list[1]..".png")
|
||||
LOG.print("No skin file: "..list[_],"warn")
|
||||
end
|
||||
for j=1,11 do
|
||||
SKIN.lib[_][j]=C(30,30)
|
||||
gc.draw(I,30-30*j,0)
|
||||
for i=0,2 do
|
||||
for j=1,8 do
|
||||
SKIN.lib[_][8*i+j]=C(30,30)
|
||||
gc.draw(I,30-30*j,-30*i)
|
||||
|
||||
SKIN.libMini[_][j]=C(6,6)
|
||||
gc.draw(I,6-6*j,0,nil,.2)
|
||||
end
|
||||
for j=1,6 do
|
||||
SKIN.lib[_][11+j]=C(30,30)
|
||||
gc.draw(I,30-30*j,-30)
|
||||
|
||||
SKIN.libMini[_][11+j]=C(6,6)
|
||||
gc.draw(I,6-6*j,-6,nil,.2)
|
||||
SKIN.libMini[_][j]=C(6,6)
|
||||
gc.draw(I,6-6*j,-6*i,nil,.2)
|
||||
end
|
||||
end
|
||||
I:release()
|
||||
gc.setCanvas()
|
||||
@@ -107,11 +109,11 @@ function SKIN.nextSet()--Next skin_set
|
||||
end
|
||||
function SKIN.prev(i)--Prev skin for [i]
|
||||
local _=SETTING.skin
|
||||
_[i]=(_[i]-2)%11+1
|
||||
_[i]=(_[i]-2)%16+1
|
||||
end
|
||||
function SKIN.next(i)--Next skin for [i]
|
||||
local _=SETTING.skin
|
||||
_[i]=_[i]%11+1
|
||||
_[i]=_[i]%16+1
|
||||
end
|
||||
function SKIN.rotate(i)--Change direction of [i]
|
||||
SETTING.face[i]=(SETTING.face[i]+1)%4
|
||||
|
||||
Reference in New Issue
Block a user