自定义游戏不能带ai开拼图模式

补充文本
This commit is contained in:
MrZ_26
2023-10-21 04:42:01 +08:00
parent 045deb6954
commit 86c673ee51
12 changed files with 54 additions and 58 deletions

View File

@@ -67,11 +67,12 @@ return {
page="Page ",
ai_puzzle="AI is incompatible with puzzle game mode",
ai_mission="AI is incompatible with custom missions.",
ai_badPiece="AI is incompatible with custom sequences that contain non-tetrominoes.",
cc_fixed="CC is incompatible with fixed sequences.",
cc_swap="CC is incompatible when the hold mode is set to Swap.",
cc_solid="CC is incompatible with filled line in the field.",
ai_prebag="AI is incompatible with custom sequences that contain non-tetrominoes.",
ai_mission="AI is incompatible with custom missions.",
switchSpawnSFX="Please turn on the block spawn SFX!",
needRestart="Restart to apply all changes.",

View File

@@ -66,11 +66,12 @@ return {
page="Página:",
-- ai_puzzle="AI is incompatible with puzzle game mode",
ai_mission="La IA no es compatible con misiones personalizadas.",
ai_badPiece="La IA no es compatible con piezas que no sean Tetrominos.",
cc_fixed="CC no es compatible con piezas prefijadas",
cc_swap="CC no es compatible con Swap Hold",
-- cc_solid="CC is incompatible with filled line in the field.",
ai_prebag="La IA no es compatible con piezas que no sean Tetrominos.",
ai_mission="La IA no es compatible con misiones personalizadas.",
switchSpawnSFX="Habilita los sonidos de aparición de las piezas ;)",
needRestart="Reinicia para aplicar los cambios.",

View File

@@ -67,11 +67,12 @@ return {
page="Page:",
-- ai_puzzle="AI is incompatible with puzzle game mode",
ai_mission="L'IA est incompatible avec les missions personnalisées.",
-- ai_badPiece="The AI is incompatible with custom sequences which have nontetromino.",'IA est incompatible avec les séquences personnalisées.",
cc_fixed="CC est incompatible avec les séquences fixes",
cc_swap="CC est incompatible avec le mode de maintien du swap",
-- cc_solid="CC is incompatible with filled line in the field.",
-- ai_prebag="The AI is incompatible with custom sequences which have nontetromino.",'IA est incompatible avec les séquences personnalisées.",
ai_mission="L'IA est incompatible avec les missions personnalisées.",
switchSpawnSFX="Activez les effets sonores d'apparition des pièces pour jouer.",
needRestart="Redémarrez pour appliquer toutes les modifications.",

View File

@@ -68,11 +68,12 @@ return {
page="Halaman: ",
-- ai_puzzle="AI is incompatible with puzzle game mode",
ai_mission="AI tidak cocok dengan misi terubah.",
ai_badPiece="AI tidak cocok dengan urutan terubah yang memiliki non-tetromino.",
cc_fixed="CC tidak cocok dengan urutan tetap.",
cc_swap="CC tidak cocok dengan mode simpan tukar.",
-- cc_solid="CC is incompatible with filled line in the field.",
ai_prebag="AI tidak cocok dengan urutan terubah yang memiliki non-tetromino.",
ai_mission="AI tidak cocok dengan misi terubah.",
switchSpawnSFX="Nyalakan efek suara munculan blok!",
needRestart="Ulangi untuk menerapkan perubahan.",

View File

@@ -68,11 +68,12 @@ return {
page="ページ:",
-- ai_puzzle="AI is incompatible with puzzle game mode",
ai_mission="AIはカスタムミッションに非対応です!",
ai_badPiece="AIは通常のテトロミ以外やミ順指定に非対応です!",
cc_fixed="CCはミ順の指定に非対応です!",
cc_swap="CCはホールドモード、Swapに非対応です!",
-- cc_solid="CC is incompatible with filled line in the field.",
ai_prebag="AIは通常のテトロミ以外やミ順指定に非対応です!",
ai_mission="AIはカスタムミッションに非対応です!",
switchSpawnSFX="ブロック出現時の効果音をONにしてください!",
needRestart="すべての変更を適用する為にリスタートしてください!",

View File

@@ -57,11 +57,12 @@ return {
page="Página:",
-- ai_puzzle="AI is incompatible with puzzle game mode",
ai_mission="A inteligência é incompatível com missões costumizadas.",
-- ai_badPiece="The AI is incompatible with custom sequences which have nontetromino.", inteligência é incompatível com sequências fixas.",
-- cc_fixed="CC is incompatible with fixed sequences",
-- cc_swap="CC is incompatible with swap holdmode",
-- cc_solid="CC is incompatible with filled line in the field.",
-- ai_prebag="The AI is incompatible with custom sequences which have nontetromino.", inteligência é incompatível com sequências fixas.",
ai_mission="A inteligência é incompatível com missões costumizadas.",
switchSpawnSFX="Switch on spawn SFX to play",
needRestart="Funciona após reiniciar",

View File

@@ -57,11 +57,12 @@ return {
page=":",
ai_puzzle="X!!!",
ai_mission="X!!!",
ai_badPiece="X!!!",
cc_fixed="CC X!!!",
cc_swap="CC X!!!",
cc_solid="CC X!!!",
ai_prebag="X!!!",
ai_mission="X!!!",
needRestart="!!*#R#*!!",
loadError_errorMode="'$1' ↑x!: no load mode '$2'",

View File

@@ -72,11 +72,12 @@ return {
page="Trang ",
-- ai_puzzle="AI is incompatible with puzzle game mode",
ai_mission="AI không tương thích với nhiệm vụ tuỳ chọn.",
ai_badPiece="AI không tương thích với trình xáo gạch chứa gạch không phải là tetromino.",
cc_fixed="CC không tương thích với trình xáo gạch cố định",
cc_swap="CC không tương thích với chế độ Hold là Chuyển",
-- cc_solid="CC is incompatible with filled line in the field.",
ai_prebag="AI không tương thích với trình xáo gạch chứa gạch không phải là tetromino.",
ai_mission="AI không tương thích với nhiệm vụ tuỳ chọn.",
switchSpawnSFX="Vui lòng bật Spawn SFX để chơi!",
needRestart="Khởi động lại để áp dụng mọi thay đổi.",

View File

@@ -67,11 +67,12 @@ return {
page="页面:",
ai_puzzle="不能同时开启AI和拼图模式",
ai_mission="不能同时开启AI和自定义任务",
ai_badPiece="不能同时开启AI和含有非四连块的自定义序列",
cc_fixed="不能同时开启CC和固定序列",
cc_swap="不能同时开启CC和swap的暂存模式",
cc_solid="开启CC时不能存在预先填满的行",
ai_prebag="不能同时开启AI和含有非四连块的自定义序列",
ai_mission="不能同时开启AI和自定义任务",
switchSpawnSFX="请开启方块生成音效",
needRestart="重新开始以生效",

View File

@@ -66,11 +66,12 @@ return {
page="Page=",
cc_fixed=" if (AI==CC and Sequence==Fixed) then Error(); end",
cc_swap=" if (AI==CC and Hold.Mode==Swap) then Error(); end",
cc_solid=" if (AI==CC and filledLine in Field) then Error(); end",
ai_prebag=" if (AI==true and Ctm.Seq~=Tetromino) then Error(); end",
ai_mission=" if (AI==true and Ctm.Mission~=true) then Error(); end",
ai_puzzle="assert(AI==true and Ctm.Mission~=true)",
ai_mission="assert(AI==true and Ctm.Mission~=true)",
ai_badPiece="assert(AI==true and Ctm.Seq~=Tetromino)",
cc_fixed="assert(AI==CC and Sequence==Fixed)",
cc_swap="assert(AI==CC and Hold.Mode==Swap)",
cc_solid="assert(AI==CC and filledLine in Field)",
switchSpawnSFX="SpawnSFX=false",
needRestart="NeedRestart=true",
@@ -101,7 +102,7 @@ return {
noScore="NoScore=true",
modeLocked="Locked=true",
unlockHint=" if (PreviousMode<=B) then Unlock();",
unlockHint="if (PreviousMode<=B) then Unlock();",
highScore="HighScore",
newRecord="NewRecord=true",

View File

@@ -67,11 +67,12 @@ return {
page="頁面:",
ai_puzzle="不能同時開啟AI和拼圖模式",
ai_mission="不能同時開啟AI和自定義任務",
ai_badPiece="不能同時開啟AI和含有非四連方塊的自定義序列",
cc_fixed="不能同時開啟CC和固定序列",
cc_swap="不能同時開啟CC和swap的暫存模式",
cc_solid="開啟CC時不能存在預先填滿的行",
ai_prebag="不能同時開啟AI和含有非四連方塊的自定義序列",
ai_mission="不能同時開啟AI和自定義任務",
switchSpawnSFX="請開啟方塊生成音效",
needRestart="重新啟動以應用所有更改",

View File

@@ -95,6 +95,20 @@ end
local function _play(mode)
if CUSTOMGAME_LOCAL.customenv.opponent~="X" then
if mode=='puzzle' then
MES.new('error',text.ai_puzzle)
return
end
if #CUSTOMGAME_LOCAL.mission>0 then
MES.new('error',text.ai_mission)
return
end
for i=1,#CUSTOMGAME_LOCAL.bag do
if CUSTOMGAME_LOCAL.bag[i]>7 then
MES.new('error',text.ai_badPiece)
return
end
end
if CUSTOMGAME_LOCAL.customenv.opponent:sub(1,2)=='CC' then
if CUSTOMGAME_LOCAL.customenv.sequence=='fixed' then
MES.new('error',text.cc_fixed)
@@ -104,43 +118,14 @@ local function _play(mode)
MES.new('error',text.cc_swap)
return
end
local hasSolidLine=false
for _,F in next,CUSTOMGAME_LOCAL.field do
local solidLineInThisField=false
for y=1,#F do
local solidLine=true
for x=1,10 do
if F[y][x]==0 then
solidLine=false
break
end
end
if solidLine then
solidLineInThisField=true
break
if not TABLE.find(F[y],0) then
MES.new('error',text.cc_solid)
return
end
end
if solidLineInThisField then
hasSolidLine=true
break
end
end
if hasSolidLine then
MES.new('error',text.cc_solid)
return
end
end
if #CUSTOMGAME_LOCAL.bag>0 then
for _=1,#CUSTOMGAME_LOCAL.bag do
if CUSTOMGAME_LOCAL.bag[_]>7 then
MES.new('error',text.ai_prebag)
return
end
end
end
if #CUSTOMGAME_LOCAL.mission>0 then
MES.new('error',text.ai_mission)
return
end
end
saveFile(CUSTOMGAME_LOCAL.customenv,'conf/customEnv')