更新提前判输游戏逻辑

This commit is contained in:
COMPUTER\EDY 2025-12-17 15:57:05 +08:00
parent d378dbf8ed
commit 40799f73b2
2 changed files with 24 additions and 10 deletions

View File

@ -765,12 +765,15 @@ export default class Block extends cc.Component {
this.node.removeFromParent(); this.node.removeFromParent();
setTimeout(() => { setTimeout(() => {
if (MapConroler._instance.blockNum != 0 && (MapConroler._instance.openWall.length > 0 || if (MapConroler._instance.blockNum != 0 && (MapConroler._instance.openWall.length > 0 ||
MapConroler._instance.revolving_state != 0) MapConroler._instance.revolving_state != 0 || MapConroler._instance.longAndShortWall.length > 0)
&& !MapConroler._instance.gameOver && !MapConroler._instance.gameWin) { && !MapConroler._instance.gameOver && !MapConroler._instance.gameWin) {
let gameover = MapConroler._instance.predict_End(colorTemp); let gameover = MapConroler._instance.predict_End(colorTemp);
if (gameover == false) { if (gameover == false) {
if (MapConroler._instance.revolving_state == 0) if (MapConroler._instance.revolving_state == 0)
MapConroler._instance.failLevel("lock"); MapConroler._instance.failLevel("lock");
else if (MapConroler._instance.longAndShortWall.length > 0) {
console.log("长墙和短墙无法通过");
}
else else
MapConroler._instance.failLevel("rotate"); MapConroler._instance.failLevel("rotate");
} }
@ -1060,12 +1063,15 @@ export default class Block extends cc.Component {
MapConroler._instance.checkColor(colorTemp, true); MapConroler._instance.checkColor(colorTemp, true);
setTimeout(() => { setTimeout(() => {
if (MapConroler._instance.blockNum != 0 && (MapConroler._instance.openWall.length > 0 || if (MapConroler._instance.blockNum != 0 && (MapConroler._instance.openWall.length > 0 ||
MapConroler._instance.revolving_state != 0) MapConroler._instance.revolving_state != 0 || MapConroler._instance.longAndShortWall.length > 0)
&& !MapConroler._instance.gameOver && !MapConroler._instance.gameWin) { && !MapConroler._instance.gameOver && !MapConroler._instance.gameWin) {
let gameover = MapConroler._instance.predict_End(colorTemp); let gameover = MapConroler._instance.predict_End(colorTemp);
if (gameover == false) { if (gameover == false) {
if (MapConroler._instance.revolving_state == 0) if (MapConroler._instance.revolving_state == 0)
MapConroler._instance.failLevel("lock"); MapConroler._instance.failLevel("lock");
else if (MapConroler._instance.longAndShortWall.length > 0) {
console.log("长墙和短墙无法通过");
}
else else
MapConroler._instance.failLevel("rotate"); MapConroler._instance.failLevel("rotate");
} }
@ -1213,12 +1219,15 @@ export default class Block extends cc.Component {
MapConroler._instance.checkColor(colorTemp, true); MapConroler._instance.checkColor(colorTemp, true);
setTimeout(() => { setTimeout(() => {
if (MapConroler._instance.blockNum != 0 && (MapConroler._instance.openWall.length > 0 || if (MapConroler._instance.blockNum != 0 && (MapConroler._instance.openWall.length > 0 ||
MapConroler._instance.revolving_state != 0) MapConroler._instance.revolving_state != 0 || MapConroler._instance.longAndShortWall.length > 0)
&& !MapConroler._instance.gameOver && !MapConroler._instance.gameWin) { && !MapConroler._instance.gameOver && !MapConroler._instance.gameWin) {
let gameover = MapConroler._instance.predict_End(colorTemp); let gameover = MapConroler._instance.predict_End(colorTemp);
if (gameover == false) { if (gameover == false) {
if (MapConroler._instance.revolving_state == 0) if (MapConroler._instance.revolving_state == 0)
MapConroler._instance.failLevel("lock"); MapConroler._instance.failLevel("lock");
else if (MapConroler._instance.longAndShortWall.length > 0) {
console.log("长墙和短墙无法通过");
}
else else
MapConroler._instance.failLevel("rotate"); MapConroler._instance.failLevel("rotate");
} }

View File

@ -184,7 +184,7 @@ export default class MapConroler extends cc.Component {
questionArray: any[]; questionArray: any[];
onLoad() { onLoad() {
alert("最新版11点");
MiniGameSdk.API.setNewCloudlevel(); MiniGameSdk.API.setNewCloudlevel();
cc.fx.GameConfig.GM_INFO.review = 0; cc.fx.GameConfig.GM_INFO.review = 0;
cc.fx.GameConfig.GM_INFO.reviewBoom = 0; cc.fx.GameConfig.GM_INFO.reviewBoom = 0;
@ -4114,12 +4114,14 @@ export default class MapConroler extends cc.Component {
let shu = block.getComponent("Block").shu; let shu = block.getComponent("Block").shu;
let direction = wall.node.parent.name; let direction = wall.node.parent.name;
if (direction == "left" || direction == "right") { if (direction == "left" || direction == "right") {
if (wall.wall_Info.length >= shu) { if (wall.length >= shu) {
console.log("竖方向长短不够");
jg = true; jg = true;
} }
} }
else { else {
if (wall.wall_Info.length >= heng) { if (wall.length >= heng) {
console.log("横方向长短不够");
jg = true; jg = true;
} }
} }
@ -4129,12 +4131,14 @@ export default class MapConroler extends cc.Component {
return jg; return jg;
} }
//判断方块是否是可移动类型,或者可消除类型 //判断方块是否是可移动类型,或者可消除类型
blockCanMove(block) { blockCanMove(block) {
if (block.getComponent("Block").type == 10 || block.getComponent("Block").type == 3 if (block.getComponent("Block").type == 10 || block.getComponent("Block").type == 3
|| block.getComponent("Block").type == 4) { || block.getComponent("Block").type == 4) {
return false; return false;
} }
//开关方块不能通过
// if (block.getComponent("Block").type == 10 || block.getComponent("Block").type == 3 // if (block.getComponent("Block").type == 10 || block.getComponent("Block").type == 3
// || block.getComponent("Block").type == 4 || block.getComponent("Block").type == 16) { // || block.getComponent("Block").type == 4 || block.getComponent("Block").type == 16) {
// return false; // return false;
@ -4157,12 +4161,10 @@ export default class MapConroler extends cc.Component {
return true; return true;
} }
//有变色门,且无开关门 //有变色门,且无开关门
if (this.changeColor == true && this.openWall.length == 0) { if (this.changeColor == true && this.openWall.length == 0 && this.longAndShortWall.length == 0) {
alert("11111111");
return true; return true;
} }
if (this.blocks.length == 0) { if (this.blocks.length == 0) {
alert("2222222");
return true; return true;
} }
let result = false; let result = false;
@ -4209,8 +4211,11 @@ export default class MapConroler extends cc.Component {
console.log("冻结门,不可通行"); console.log("冻结门,不可通行");
continue; continue;
} }
// else if (this.wall_Pass[j].longAndShort) {
// console.log("长短门,判断是否可通行");
// }
else { else {
// console.log("普通门,判断是否可通行"); console.log("普通门,判断是否可通行");
result = this.blockCanPass(this.blocks[i], this.wall_Pass[j]); result = this.blockCanPass(this.blocks[i], this.wall_Pass[j]);
if (result == true) if (result == true)
return result; return result;