Compare commits
11 Commits
pre0.17.2-
...
pre0.17.2-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7687fb2c12 | ||
|
|
1fb741d7c2 | ||
|
|
157f8cc7d5 | ||
|
|
846d477e9d | ||
|
|
452cdf6ab0 | ||
|
|
e9396c43c9 | ||
|
|
dd726e75e8 | ||
|
|
a66bb9013a | ||
|
|
ea0448af5a | ||
|
|
44735cd6cd | ||
|
|
3956d1d7bc |
@@ -1,11 +1,11 @@
|
|||||||
--Customizable grey background
|
--Customizable grey background
|
||||||
local gc=love.graphics
|
local gc=love.graphics
|
||||||
local back={}
|
local back={}
|
||||||
local brightness=.26
|
local r,g,b=.26,.26,.26
|
||||||
function back.draw()
|
function back.draw()
|
||||||
gc.clear(brightness,brightness,brightness)
|
gc.clear(r,g,b)
|
||||||
end
|
end
|
||||||
function back.event(b)
|
function back.event(_r,_g,_b)
|
||||||
brightness=b
|
r,g,b=_r,_g,_b
|
||||||
end
|
end
|
||||||
return back
|
return back
|
||||||
@@ -49,7 +49,7 @@ local botMeta={__index=_undefMethod}
|
|||||||
|
|
||||||
local BOT={}
|
local BOT={}
|
||||||
|
|
||||||
local AISpeed={60,50,40,30,20,14,10,6,4,3}
|
local AISpeed={60,50,42,34,27,21,16,12,9,6}
|
||||||
--[[
|
--[[
|
||||||
arg={
|
arg={
|
||||||
next: number of nexts
|
next: number of nexts
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
local gc_setColor=love.graphics.setColor
|
||||||
return{
|
return{
|
||||||
das=16,arr=6,
|
das=16,arr=6,
|
||||||
sddas=2,sdarr=2,
|
sddas=2,sdarr=2,
|
||||||
@@ -15,16 +16,28 @@ return{
|
|||||||
keyCancel={5,6},
|
keyCancel={5,6},
|
||||||
mesDisp=function(P)
|
mesDisp=function(P)
|
||||||
setFont(75)
|
setFont(75)
|
||||||
local r=P.modeData.target*.1
|
local r=P.modeData.target/10
|
||||||
mStr(r<11 and 19 or r<22 and r+8 or("%02x"):format(r*10-220),63,210)
|
mStr(r<11 and 19 or r<22 and r+9 or("%02x"):format(r*10-220),63,210)
|
||||||
mText(drawableText.speedLV,63,290)
|
mText(TEXTOBJ.speedLV,63,290)
|
||||||
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
|
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
|
||||||
|
if P.modeData.drought>7 then
|
||||||
|
if P.modeData.drought<=14 then
|
||||||
|
gc_setColor(1,1,1,P.modeData.drought/7-1)
|
||||||
|
else
|
||||||
|
local gb=P.modeData.drought<=21 and 2-P.modeData.drought/14 or .5
|
||||||
|
gc_setColor(1,gb,gb)
|
||||||
|
end
|
||||||
|
setFont(50)
|
||||||
|
mStr(P.modeData.drought,63,130)
|
||||||
|
mDraw(MODES.drought_l.icon,63,200,nil,.5)
|
||||||
|
end
|
||||||
end,
|
end,
|
||||||
task=function(P)
|
task=function(P)
|
||||||
P.modeData.target=10
|
P.modeData.target=10
|
||||||
end,
|
end,
|
||||||
dropPiece=function(P)
|
hook_drop=function(P)
|
||||||
local D=P.modeData
|
local D=P.modeData
|
||||||
|
D.drought=P.lastPiece.id==7 and 0 or D.drought+1
|
||||||
if P.stat.row>=D.target then
|
if P.stat.row>=D.target then
|
||||||
D.target=D.target+10
|
D.target=D.target+10
|
||||||
if D.target==200 then
|
if D.target==200 then
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ local regretDelay=-1
|
|||||||
local int_grade=0
|
local int_grade=0
|
||||||
local grade_points=0
|
local grade_points=0
|
||||||
local int_grade_boosts={0,1,2,3,4,5,5,6,6,7,7,7,8,8,8,9,9,9,10,11,12,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26}
|
local int_grade_boosts={0,1,2,3,4,5,5,6,6,7,7,7,8,8,8,9,9,9,10,11,12,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26}
|
||||||
|
local coolList={false,false,false,false,false,false,false,false,false}
|
||||||
|
local regretList={false,false,false,false,false,false,false,false,false,false}
|
||||||
local gradeList={
|
local gradeList={
|
||||||
"9","8","7","6","5","4","3","2","1",
|
"9","8","7","6","5","4","3","2","1",
|
||||||
"S1","S2","S3","S4","S5","S6","S7","S8","S9",
|
"S1","S2","S3","S4","S5","S6","S7","S8","S9",
|
||||||
@@ -74,7 +76,7 @@ end
|
|||||||
local function getGrade()
|
local function getGrade()
|
||||||
if int_grade==nil then int_grade=0 end
|
if int_grade==nil then int_grade=0 end
|
||||||
if rollGrades==nil then rollGrades=0 end
|
if rollGrades==nil then rollGrades=0 end
|
||||||
return gradeList[math.min(math.floor(int_grade_boosts[math.min(int_grade+1,#int_grade_boosts)]+rollGrades+cools+1-regrets),#gradeList)]
|
return gradeList[math.max(math.min(math.floor(int_grade_boosts[math.min(int_grade+1,#int_grade_boosts)]+rollGrades+cools+1-regrets),#gradeList),1)]
|
||||||
end
|
end
|
||||||
local function addGrade(row, cmb, lvl) -- IGS = internal grade system
|
local function addGrade(row, cmb, lvl) -- IGS = internal grade system
|
||||||
if row<1 then return end
|
if row<1 then return end
|
||||||
@@ -112,7 +114,6 @@ return{
|
|||||||
das=16,arr=1,
|
das=16,arr=1,
|
||||||
minsdarr=1,
|
minsdarr=1,
|
||||||
ihs=true,irs=true,ims=false,
|
ihs=true,irs=true,ims=false,
|
||||||
RS='SRS_plus',
|
|
||||||
mesDisp=function(P)
|
mesDisp=function(P)
|
||||||
gc.setColor(1,1,1,1)
|
gc.setColor(1,1,1,1)
|
||||||
setFont(45)
|
setFont(45)
|
||||||
@@ -139,6 +140,16 @@ return{
|
|||||||
setFont(20)
|
setFont(20)
|
||||||
mStr(grade_points,63,208)
|
mStr(grade_points,63,208)
|
||||||
setFont(45)
|
setFont(45)
|
||||||
|
if coolList[math.ceil(P.modeData.pt/100+0.01)] then
|
||||||
|
gc.setColor(0,1,0,1)
|
||||||
|
elseif P.stat.frame-prevSectTime > cool_time[math.ceil(P.modeData.pt/100+0.01)] then
|
||||||
|
gc.setColor(0.7,0.7,0.7,1)
|
||||||
|
end
|
||||||
|
if coolList[math.ceil(P.modeData.pt/100+0.01)] and regretList[math.ceil(P.modeData.pt/100+0.01)] then
|
||||||
|
gc.setColor(1,1,0,1)
|
||||||
|
elseif regretList[math.ceil(P.modeData.pt/100+0.01)] then
|
||||||
|
gc.setColor(1,0,0,1)
|
||||||
|
end
|
||||||
PLY.draw.drawProgress(P.modeData.pt,P.modeData.target)
|
PLY.draw.drawProgress(P.modeData.pt,P.modeData.target)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
@@ -175,6 +186,7 @@ return{
|
|||||||
if D.pt%100>70 and not prevDrop70 then
|
if D.pt%100>70 and not prevDrop70 then
|
||||||
if P.stat.frame-prevSectTime < cool_time[math.ceil(D.pt/100)] then
|
if P.stat.frame-prevSectTime < cool_time[math.ceil(D.pt/100)] then
|
||||||
cools=cools+1
|
cools=cools+1
|
||||||
|
coolList[math.ceil(D.pt/100)]=true
|
||||||
P:_showText("COOL!",0,-120,80,'fly',.8)
|
P:_showText("COOL!",0,-120,80,'fly',.8)
|
||||||
nextSpeedUp=true
|
nextSpeedUp=true
|
||||||
end
|
end
|
||||||
@@ -247,12 +259,17 @@ return{
|
|||||||
isInRollTrans=false
|
isInRollTrans=false
|
||||||
prevDrop70=false
|
prevDrop70=false
|
||||||
nextSpeedUp=false
|
nextSpeedUp=false
|
||||||
|
coolList={false,false,false,false,false,false,false,false,false}
|
||||||
|
regretList={false,false,false,false,false,false,false,false,false,false}
|
||||||
local decayRate={125,80,80,50,45,45,45,40,40,40,40,40,30,30,30,20,20,20,20,20,15,15,15,15,15,15,15,15,15,15,10,10,10,9,9,9,8,8,8,7,7,7,6}
|
local decayRate={125,80,80,50,45,45,45,40,40,40,40,40,30,30,30,20,20,20,20,20,15,15,15,15,15,15,15,15,15,15,10,10,10,9,9,9,8,8,8,7,7,7,6}
|
||||||
local decayTimer=0
|
local decayTimer=0
|
||||||
while true do
|
while true do
|
||||||
YIELD()
|
YIELD()
|
||||||
P.modeData.grade=getGrade()
|
P.modeData.grade=getGrade()
|
||||||
P.modeData.gradePts=math.min(math.floor(int_grade_boosts[math.min(int_grade+1,#int_grade_boosts)]+rollGrades+cools+1-regrets),#gradeList)
|
P.modeData.gradePts=math.max(math.min(math.floor(int_grade_boosts[math.min(int_grade+1,#int_grade_boosts)]+rollGrades+cools+1-regrets),#gradeList),1)
|
||||||
|
if P.stat.frame-prevSectTime > reg_time[math.ceil(P.modeData.pt/100+0.01)] then
|
||||||
|
regretList[math.ceil(P.modeData.pt/100)]=true
|
||||||
|
end
|
||||||
if regretDelay>-1 then
|
if regretDelay>-1 then
|
||||||
regretDelay=regretDelay-1
|
regretDelay=regretDelay-1
|
||||||
if regretDelay==-1 then P:_showText("REGRET!!",0,-120,80,'beat',.8) end
|
if regretDelay==-1 then P:_showText("REGRET!!",0,-120,80,'beat',.8) end
|
||||||
@@ -287,8 +304,11 @@ return{
|
|||||||
decayTimer=0
|
decayTimer=0
|
||||||
grade_points=grade_points-1
|
grade_points=grade_points-1
|
||||||
end
|
end
|
||||||
elseif isInRoll and P.stat.frame>=prevSectTime+3600 then
|
elseif isInRoll and P.stat.frame>=prevSectTime+3599 then
|
||||||
rollGrades=rollGrades+(cools>8 and 1.6 or 0.5)
|
rollGrades=rollGrades+(cools>8 and 1.6 or 0.5)
|
||||||
|
P.modeData.grade=getGrade()
|
||||||
|
P.modeData.gradePts=math.min(math.floor(int_grade_boosts[math.min(int_grade+1,#int_grade_boosts)]+rollGrades+cools+1-regrets),#gradeList)
|
||||||
|
YIELD()
|
||||||
P:win('finish')
|
P:win('finish')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -165,8 +165,8 @@ do--function applySettings()
|
|||||||
BG.set()
|
BG.set()
|
||||||
elseif SETTING.bg=='off'then
|
elseif SETTING.bg=='off'then
|
||||||
BG.unlock()
|
BG.unlock()
|
||||||
BG.set('gray')
|
BG.set('fixColor')
|
||||||
BG.send(SETTING.bgAlpha)
|
BG.send(SETTING.bgAlpha,SETTING.bgAlpha,SETTING.bgAlpha)
|
||||||
BG.lock()
|
BG.lock()
|
||||||
elseif SETTING.bg=='custom'then
|
elseif SETTING.bg=='custom'then
|
||||||
if love.filesystem.getInfo('conf/customBG')then
|
if love.filesystem.getInfo('conf/customBG')then
|
||||||
@@ -184,8 +184,8 @@ do--function applySettings()
|
|||||||
else--Switch off when custom BG not found
|
else--Switch off when custom BG not found
|
||||||
SETTING.bg='off'
|
SETTING.bg='off'
|
||||||
BG.unlock()
|
BG.unlock()
|
||||||
BG.set('gray')
|
BG.set('fixColor')
|
||||||
BG.send(SETTING.bgAlpha)
|
BG.send(SETTING.bgAlpha,SETTING.bgAlpha,SETTING.bgAlpha)
|
||||||
BG.lock()
|
BG.lock()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -327,7 +327,7 @@ EVENTSETS={
|
|||||||
'backfire_120','backfire_60','backfire_30','backfire_0',
|
'backfire_120','backfire_60','backfire_30','backfire_0',
|
||||||
'checkAttack_100',
|
'checkAttack_100',
|
||||||
'checkLine_10','checkLine_20','checkLine_40','checkLine_100','checkLine_200','checkLine_400','checkLine_1000',
|
'checkLine_10','checkLine_20','checkLine_40','checkLine_100','checkLine_200','checkLine_400','checkLine_1000',
|
||||||
'classic_e','classic_h','classic_u',
|
'classic_e','classic_h','classic_l','classic_u',
|
||||||
'defender_n','defender_l',
|
'defender_n','defender_l',
|
||||||
'dig_10l','dig_40l','dig_100l','dig_400l',
|
'dig_10l','dig_40l','dig_100l','dig_400l',
|
||||||
'dig_h','dig_u',
|
'dig_h','dig_u',
|
||||||
|
|||||||
23
parts/modes/classic_l.lua
Normal file
23
parts/modes/classic_l.lua
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
return{
|
||||||
|
env={
|
||||||
|
center=0,ghost=0,
|
||||||
|
smooth=false,
|
||||||
|
face={0,0,2,2,2,0,0},
|
||||||
|
eventSet='classic_l',
|
||||||
|
bg='rgb',bgm='1980s',
|
||||||
|
},
|
||||||
|
slowMark=true,
|
||||||
|
score=function(P)return{P.stat.score,P.stat.row}end,
|
||||||
|
scoreDisp=function(D)return D[1].." "..D[2].." Lines"end,
|
||||||
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
|
getRank=function(P)
|
||||||
|
local L=P.stat.row
|
||||||
|
return
|
||||||
|
L>=200 and 5 or
|
||||||
|
L>=140 and 4 or
|
||||||
|
L>=100 and 3 or
|
||||||
|
L>=60 and 2 or
|
||||||
|
L>=30 and 1 or
|
||||||
|
L>=1 and 0
|
||||||
|
end,
|
||||||
|
}
|
||||||
@@ -12,7 +12,7 @@ local function b2(i)
|
|||||||
s=(i%2)..s
|
s=(i%2)..s
|
||||||
i=int(i/2)
|
i=int(i/2)
|
||||||
end
|
end
|
||||||
return s
|
return '0b'..s
|
||||||
end
|
end
|
||||||
local function b8(i)
|
local function b8(i)
|
||||||
if i==0 then return 0 end
|
if i==0 then return 0 end
|
||||||
@@ -21,7 +21,7 @@ local function b8(i)
|
|||||||
s=(i%8)..s
|
s=(i%8)..s
|
||||||
i=int(i/8)
|
i=int(i/8)
|
||||||
end
|
end
|
||||||
return s
|
return '0o'..s
|
||||||
end
|
end
|
||||||
local function b16(i)
|
local function b16(i)
|
||||||
if i==0 then return 0 end
|
if i==0 then return 0 end
|
||||||
@@ -30,7 +30,7 @@ local function b16(i)
|
|||||||
s=char((i%16<10 and 48 or 55)+i%16)..s
|
s=char((i%16<10 and 48 or 55)+i%16)..s
|
||||||
i=int(i/16)
|
i=int(i/16)
|
||||||
end
|
end
|
||||||
return s
|
return '0x'..s
|
||||||
end
|
end
|
||||||
|
|
||||||
local levels={
|
local levels={
|
||||||
@@ -208,7 +208,7 @@ function scene.draw()
|
|||||||
FONT.set(35)
|
FONT.set(35)
|
||||||
GC.mStr("["..level.."]",640,30)
|
GC.mStr("["..level.."]",640,30)
|
||||||
|
|
||||||
FONT.set(100)
|
FONT.set(80)
|
||||||
if type(question)=='table'then gc.setColor(1,1,1)end
|
if type(question)=='table'then gc.setColor(1,1,1)end
|
||||||
GC.mStr(question,640,60)
|
GC.mStr(question,640,60)
|
||||||
|
|
||||||
|
|||||||
@@ -199,7 +199,8 @@ local scene={}
|
|||||||
|
|
||||||
function scene.sceneInit()
|
function scene.sceneInit()
|
||||||
reset()
|
reset()
|
||||||
BG.set('gray')
|
BG.set('fixColor')
|
||||||
|
BG.send(.26,.26,.26)
|
||||||
BGM.play(bgm)
|
BGM.play(bgm)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -7,13 +7,7 @@ local gc_print=gc.print
|
|||||||
local max,min=math.max,math.min
|
local max,min=math.max,math.min
|
||||||
local ins,rem=table.insert,table.remove
|
local ins,rem=table.insert,table.remove
|
||||||
|
|
||||||
local colorName={
|
|
||||||
m={'一','二','三','四','五','六','七','八','九'},
|
|
||||||
p={'①','②','③','④','⑤','⑥','⑦','⑧','⑨'},
|
|
||||||
s={'1','2','3','4','5','6','7','8','9'},
|
|
||||||
}
|
|
||||||
local deck0={}
|
local deck0={}
|
||||||
local cardText={}
|
|
||||||
for i=1,9 do
|
for i=1,9 do
|
||||||
for _=1,4 do
|
for _=1,4 do
|
||||||
ins(deck0,'m'..i)
|
ins(deck0,'m'..i)
|
||||||
@@ -21,9 +15,6 @@ for i=1,9 do
|
|||||||
ins(deck0,'s'..i)
|
ins(deck0,'s'..i)
|
||||||
if i<=7 then ins(deck0,'z'..i)end
|
if i<=7 then ins(deck0,'z'..i)end
|
||||||
end
|
end
|
||||||
cardText['m'..i]={COLOR.lF,colorName.m[i]}
|
|
||||||
cardText['p'..i]={COLOR.lB,colorName.p[i]}
|
|
||||||
cardText['s'..i]={COLOR.lG,colorName.s[i]}
|
|
||||||
end
|
end
|
||||||
-- deck0[TABLE.find(deck0,'m5')]='m0'
|
-- deck0[TABLE.find(deck0,'m5')]='m0'
|
||||||
-- deck0[TABLE.find(deck0,'p5')]='p0'
|
-- deck0[TABLE.find(deck0,'p5')]='p0'
|
||||||
@@ -32,13 +23,42 @@ end
|
|||||||
-- cardText['5p+']={COLOR.R,'⑤'}
|
-- cardText['5p+']={COLOR.R,'⑤'}
|
||||||
-- cardText['5s+']={COLOR.R,'5'}
|
-- cardText['5s+']={COLOR.R,'5'}
|
||||||
|
|
||||||
cardText['z1']={COLOR.Z,'東'}
|
local cardText={
|
||||||
cardText['z2']={COLOR.Z,'南'}
|
m1={COLOR.D,CHAR.mahjong.m1Base,COLOR.R,CHAR.mahjong.mComb},
|
||||||
cardText['z3']={COLOR.Z,'西'}
|
m2={COLOR.D,CHAR.mahjong.m2Base,COLOR.R,CHAR.mahjong.mComb},
|
||||||
cardText['z4']={COLOR.Z,'北'}
|
m3={COLOR.D,CHAR.mahjong.m3Base,COLOR.R,CHAR.mahjong.mComb},
|
||||||
cardText['z5']={COLOR.Z,' '}
|
m4={COLOR.D,CHAR.mahjong.m4Base,COLOR.R,CHAR.mahjong.mComb},
|
||||||
cardText['z6']={COLOR.G,'發'}
|
m5={COLOR.D,CHAR.mahjong.m5Base,COLOR.R,CHAR.mahjong.mComb},
|
||||||
cardText['z7']={COLOR.R,'中'}
|
m6={COLOR.D,CHAR.mahjong.m6Base,COLOR.R,CHAR.mahjong.mComb},
|
||||||
|
m7={COLOR.D,CHAR.mahjong.m7Base,COLOR.R,CHAR.mahjong.mComb},
|
||||||
|
m8={COLOR.D,CHAR.mahjong.m8Base,COLOR.R,CHAR.mahjong.mComb},
|
||||||
|
m9={COLOR.D,CHAR.mahjong.m9Base,COLOR.R,CHAR.mahjong.mComb},
|
||||||
|
p1={COLOR.D,CHAR.mahjong.p1},
|
||||||
|
p2={COLOR.D,CHAR.mahjong.p2Base,COLOR.D,CHAR.mahjong.p2Comb},
|
||||||
|
p3={COLOR.D,CHAR.mahjong.p3Base,COLOR.R,CHAR.mahjong.p3Comb1,COLOR.D,CHAR.mahjong.p3Comb2},
|
||||||
|
p4={COLOR.D,CHAR.mahjong.p4Base,COLOR.D,CHAR.mahjong.p4Comb},
|
||||||
|
p5={COLOR.D,CHAR.mahjong.p5Base,COLOR.D,CHAR.mahjong.p5Comb1,COLOR.R,CHAR.mahjong.p5Comb2},
|
||||||
|
p6={COLOR.D,CHAR.mahjong.p6Base,COLOR.R,CHAR.mahjong.p6Comb},
|
||||||
|
p7={COLOR.D,CHAR.mahjong.p7Base,COLOR.R,CHAR.mahjong.p7Comb},
|
||||||
|
p8={COLOR.D,CHAR.mahjong.p8},
|
||||||
|
p9={COLOR.D,CHAR.mahjong.p9Base,COLOR.R,CHAR.mahjong.p9Comb1,COLOR.D,CHAR.mahjong.p9Comb2},
|
||||||
|
s1={COLOR.G,CHAR.mahjong.s1Base,COLOR.R,CHAR.mahjong.s1Comb},
|
||||||
|
s2={COLOR.G,CHAR.mahjong.s2},
|
||||||
|
s3={COLOR.G,CHAR.mahjong.s3},
|
||||||
|
s4={COLOR.G,CHAR.mahjong.s4},
|
||||||
|
s5={COLOR.G,CHAR.mahjong.s5Base,COLOR.R,CHAR.mahjong.s5Comb},
|
||||||
|
s6={COLOR.G,CHAR.mahjong.s6},
|
||||||
|
s7={COLOR.G,CHAR.mahjong.s7Base,COLOR.R,CHAR.mahjong.s7Comb},
|
||||||
|
s8={COLOR.G,CHAR.mahjong.s8},
|
||||||
|
s9={COLOR.G,CHAR.mahjong.s9Base,COLOR.R,CHAR.mahjong.s9Comb},
|
||||||
|
z1={COLOR.D,CHAR.mahjong.ton},
|
||||||
|
z2={COLOR.D,CHAR.mahjong.nan},
|
||||||
|
z3={COLOR.D,CHAR.mahjong.sha},
|
||||||
|
z4={COLOR.D,CHAR.mahjong.pe},
|
||||||
|
z5={COLOR.D,CHAR.mahjong.haku},
|
||||||
|
z6={COLOR.G,CHAR.mahjong.hatsu},
|
||||||
|
z7={COLOR.R,CHAR.mahjong.chun},
|
||||||
|
}for _,v in next,cardText do ins(v,COLOR.D)ins(v,CHAR.mahjong.frameComb) end
|
||||||
|
|
||||||
local deck,hand,pool
|
local deck,hand,pool
|
||||||
local selected
|
local selected
|
||||||
@@ -48,13 +68,13 @@ local function _getPoolCardArea(i)
|
|||||||
local col=i-row*10
|
local col=i-row*10
|
||||||
return
|
return
|
||||||
240+70*col,45+95*row,
|
240+70*col,45+95*row,
|
||||||
65,90
|
60,84
|
||||||
end
|
end
|
||||||
|
|
||||||
local function _getHandCardArea(i)
|
local function _getHandCardArea(i)
|
||||||
return
|
return
|
||||||
20+70*i+(i==14 and 30 or 0),480,
|
20+70*i+(i==14 and 30 or 0),480,
|
||||||
65,90
|
60,84
|
||||||
end
|
end
|
||||||
|
|
||||||
local function _newGame()
|
local function _newGame()
|
||||||
@@ -67,7 +87,7 @@ end
|
|||||||
|
|
||||||
local function _checkWin()
|
local function _checkWin()
|
||||||
if #hand==14 then
|
if #hand==14 then
|
||||||
--???
|
MES.new('info',"Coming soon!")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -86,6 +106,8 @@ end
|
|||||||
local scene={}
|
local scene={}
|
||||||
|
|
||||||
function scene.sceneInit()
|
function scene.sceneInit()
|
||||||
|
BG.set('fixColor')
|
||||||
|
BG.send(.26,.62,.26)
|
||||||
_newGame()
|
_newGame()
|
||||||
selected=false
|
selected=false
|
||||||
end
|
end
|
||||||
@@ -132,42 +154,44 @@ end
|
|||||||
|
|
||||||
function scene.draw()
|
function scene.draw()
|
||||||
setFont(35)
|
setFont(35)
|
||||||
gc_setColor(COLOR.Z)
|
gc_setColor(COLOR.D)
|
||||||
gc_print('余: '..#deck,1060,30)
|
gc_print('余 '..#deck,1060,30)
|
||||||
|
|
||||||
gc_setLineWidth(4)
|
gc_setLineWidth(4)
|
||||||
setFont(50)
|
setFont(85)
|
||||||
for i=1,#hand do
|
for i=1,#hand do
|
||||||
local c=hand[i]
|
local c=hand[i]
|
||||||
local x,y,w,h=_getHandCardArea(i)
|
local x,y,w,h=_getHandCardArea(i)
|
||||||
if i==selected then
|
if i==selected then
|
||||||
gc_translate(0,-10)
|
gc_translate(0,-10)
|
||||||
gc_setColor(1,1,1,.4)
|
|
||||||
gc_rectangle('fill',x,y,w,h,5)
|
|
||||||
end
|
end
|
||||||
gc_setColor(COLOR.Z)
|
gc_setColor(COLOR.Z)
|
||||||
gc_rectangle('line',x,y,w,h,5)
|
gc_rectangle('fill',x,y,w,h,12)
|
||||||
|
if i==selected then
|
||||||
|
gc_setColor(1,1,1,.4)
|
||||||
|
gc_rectangle('fill',x,y,w,h,12)
|
||||||
|
end
|
||||||
gc_setColor(1,1,1)
|
gc_setColor(1,1,1)
|
||||||
mStr(cardText[c],x+w/2,y+10)
|
mStr(cardText[c],x+w/2,y-17)
|
||||||
if i==selected then gc_translate(0,10)end
|
if i==selected then gc_translate(0,10)end
|
||||||
end
|
end
|
||||||
for i=1,#pool do
|
for i=1,#pool do
|
||||||
local c=pool[i]
|
local c=pool[i]
|
||||||
local x,y,w,h=_getPoolCardArea(i)
|
local x,y,w,h=_getPoolCardArea(i)
|
||||||
if selected and hand[selected]==c then
|
|
||||||
gc_setColor(1,1,1,.4)
|
|
||||||
gc_rectangle('fill',x,y,w,h,5)
|
|
||||||
end
|
|
||||||
gc_setColor(COLOR.Z)
|
gc_setColor(COLOR.Z)
|
||||||
gc_rectangle('line',x,y,w,h,5)
|
gc_rectangle('fill',x,y,w,h,12)
|
||||||
|
if selected and hand[selected]==c then
|
||||||
|
gc_setColor(1,.2,.2,.3)
|
||||||
|
gc_rectangle('fill',x,y,w,h,12)
|
||||||
|
end
|
||||||
gc_setColor(1,1,1)
|
gc_setColor(1,1,1)
|
||||||
mStr(cardText[c],x+w/2,y+10)
|
mStr(cardText[c],x+w/2,y-17)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
scene.widgetList={
|
scene.widgetList={
|
||||||
WIDGET.newButton{name='reset',x=160, y=100,w=180,h=100,color='lG',font=50,fText=CHAR.icon.retry_spin,code=pressKey'r'},
|
WIDGET.newButton{name='reset',x=160, y=100,w=180,h=100,color='lR',font=50,fText=CHAR.icon.retry_spin,code=pressKey'r'},
|
||||||
WIDGET.newKey{name="hu", x=1150,y=370,w=140,h=80,font=50,sound=false,fText='自摸',code=pressKey'return'},
|
WIDGET.newKey{name="hu", x=1150,y=370,w=140,h=80,font=45,sound=false,fText='自摸',code=pressKey'return'},
|
||||||
WIDGET.newButton{name="back", x=1140,y=640,w=170,h=80,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
|
WIDGET.newButton{name="back", x=1140,y=640,w=170,h=80,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
|
||||||
}
|
}
|
||||||
return scene
|
return scene
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ function scene.sceneInit()
|
|||||||
lastKey=nil
|
lastKey=nil
|
||||||
speed=0
|
speed=0
|
||||||
keyTime={}for i=1,40 do keyTime[i]=-1e99 end
|
keyTime={}for i=1,40 do keyTime[i]=-1e99 end
|
||||||
BG.set('gray')
|
BG.set('fixColor')
|
||||||
|
BG.send(.26,.26,.26)
|
||||||
BGM.play('push')
|
BGM.play('push')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,16 @@ return[=[
|
|||||||
未来计划:
|
未来计划:
|
||||||
R E M A K E
|
R E M A K E
|
||||||
|
|
||||||
g0.17.2: 0.17.2
|
0.17.2: 0.17.2
|
||||||
新增:
|
新增:
|
||||||
改动:
|
改动:
|
||||||
|
大幅下调高难机器人速度
|
||||||
|
master_g模式不再限定旋转系统
|
||||||
完善当前的攻击系统,进入稳定状态
|
完善当前的攻击系统,进入稳定状态
|
||||||
更新说明书的攻击系统章节
|
更新说明书的攻击系统章节
|
||||||
|
麻将小程序更像麻将
|
||||||
|
算数小程序微调
|
||||||
|
加回classic_l模式
|
||||||
代码:
|
代码:
|
||||||
完善字体并换用OTF
|
完善字体并换用OTF
|
||||||
修复:
|
修复:
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
# Techmino
|
# Techmino
|
||||||
|
|
||||||

|

|
||||||
|
[](https://aur.archlinux.org/packages/techmino-client)
|
||||||
|
|
||||||
|
|
||||||
[](https://github.com/26F-Studio/Techmino/actions/workflows/dev.yml) [](https://github.com/26F-Studio/Techmino/actions/workflows/test.yml) [](https://github.com/26F-Studio/Techmino/actions/workflows/release.yml)
|
[](https://github.com/26F-Studio/Techmino/actions/workflows/dev.yml) [](https://github.com/26F-Studio/Techmino/actions/workflows/test.yml) [](https://github.com/26F-Studio/Techmino/actions/workflows/release.yml)
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
return{
|
return{
|
||||||
["apkCode"]=431,
|
["apkCode"]=432,
|
||||||
["code"]=1702,
|
["code"]=1702,
|
||||||
["string"]="V0.17.2",
|
["string"]="V0.17.2",
|
||||||
["room"]="ver A-6",
|
["room"]="ver A-6",
|
||||||
|
|||||||
Reference in New Issue
Block a user