更新提前判输游戏逻辑

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();
setTimeout(() => {
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) {
let gameover = MapConroler._instance.predict_End(colorTemp);
if (gameover == false) {
if (MapConroler._instance.revolving_state == 0)
MapConroler._instance.failLevel("lock");
else if (MapConroler._instance.longAndShortWall.length > 0) {
console.log("长墙和短墙无法通过");
}
else
MapConroler._instance.failLevel("rotate");
}
@ -1060,12 +1063,15 @@ export default class Block extends cc.Component {
MapConroler._instance.checkColor(colorTemp, true);
setTimeout(() => {
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) {
let gameover = MapConroler._instance.predict_End(colorTemp);
if (gameover == false) {
if (MapConroler._instance.revolving_state == 0)
MapConroler._instance.failLevel("lock");
else if (MapConroler._instance.longAndShortWall.length > 0) {
console.log("长墙和短墙无法通过");
}
else
MapConroler._instance.failLevel("rotate");
}
@ -1213,12 +1219,15 @@ export default class Block extends cc.Component {
MapConroler._instance.checkColor(colorTemp, true);
setTimeout(() => {
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) {
let gameover = MapConroler._instance.predict_End(colorTemp);
if (gameover == false) {
if (MapConroler._instance.revolving_state == 0)
MapConroler._instance.failLevel("lock");
else if (MapConroler._instance.longAndShortWall.length > 0) {
console.log("长墙和短墙无法通过");
}
else
MapConroler._instance.failLevel("rotate");
}

View File

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