Commit 55ea3cbc authored by wjf's avatar wjf

Merge branch 'master' of gitlab2.dui88.com:MrKwon/game2048

parents 85a1fbf4 b171662d
import { PropPanel } from './../../panels/PropPanel';
import { QuitPanel } from './../../panels/QuitPanel'; import { QuitPanel } from './../../panels/QuitPanel';
import { PropOutPanel } from './../../panels/PropOutPanel'; import { PropOutPanel } from './../../panels/PropOutPanel';
import { showWaiting, hideWaiting } from './../../../module/ctrls/waitingCtrl'; import { showWaiting, hideWaiting } from './../../../module/ctrls/waitingCtrl';
...@@ -452,8 +453,8 @@ export class PlayScene extends Scene { ...@@ -452,8 +453,8 @@ export class PlayScene extends Scene {
getTools() getTools()
if (!this.isGameWin()) // if (!this.isGameWin())
this.isGameOver() this.isGameOver()
}, PropType.exchange) }, PropType.exchange)
} else if (this.exchangeTargetPool.length = 1) { } else if (this.exchangeTargetPool.length = 1) {
for (let x = 0; x < 4; x++) { for (let x = 0; x < 4; x++) {
...@@ -685,8 +686,8 @@ export class PlayScene extends Scene { ...@@ -685,8 +686,8 @@ export class PlayScene extends Scene {
this.removeChild(this.doFilterBtn) this.removeChild(this.doFilterBtn)
this.filtering = false this.filtering = false
this.removeAnis() this.removeAnis()
if (!this.isGameWin()) // if (!this.isGameWin())
this.isGameOver() this.isGameOver()
}, 300); }, 300);
}, PropType.net) }, PropType.net)
}, this) }, this)
...@@ -817,8 +818,8 @@ export class PlayScene extends Scene { ...@@ -817,8 +818,8 @@ export class PlayScene extends Scene {
await this.moveAni(beforeArr) await this.moveAni(beforeArr)
this.renderBoard() this.renderBoard()
this.generateOneElement() this.generateOneElement()
if (!this.isGameWin()) // if (!this.isGameWin())
this.isGameOver() this.isGameOver()
} }
} }
if (this.offsetX < 0) { if (this.offsetX < 0) {
...@@ -828,8 +829,8 @@ export class PlayScene extends Scene { ...@@ -828,8 +829,8 @@ export class PlayScene extends Scene {
await this.moveAni(beforeArr) await this.moveAni(beforeArr)
this.renderBoard() this.renderBoard()
this.generateOneElement() this.generateOneElement()
if (!this.isGameWin()) // if (!this.isGameWin())
this.isGameOver() this.isGameOver()
} }
} }
} else { } else {
...@@ -841,8 +842,8 @@ export class PlayScene extends Scene { ...@@ -841,8 +842,8 @@ export class PlayScene extends Scene {
await this.moveAni(beforeArr) await this.moveAni(beforeArr)
this.renderBoard() this.renderBoard()
this.generateOneElement() this.generateOneElement()
if (!this.isGameWin()) // if (!this.isGameWin())
this.isGameOver() this.isGameOver()
} }
} }
if (this.offsetY < 0) { if (this.offsetY < 0) {
...@@ -852,8 +853,8 @@ export class PlayScene extends Scene { ...@@ -852,8 +853,8 @@ export class PlayScene extends Scene {
await this.moveAni(beforeArr) await this.moveAni(beforeArr)
this.renderBoard() this.renderBoard()
this.generateOneElement() this.generateOneElement()
if (!this.isGameWin()) // if (!this.isGameWin())
this.isGameOver() this.isGameOver()
} }
} }
} }
...@@ -918,7 +919,7 @@ export class PlayScene extends Scene { ...@@ -918,7 +919,7 @@ export class PlayScene extends Scene {
// 随机生成基础元素 // 随机生成基础元素
generateOneElement() { generateOneElement() {
// 随机生成一个数字 2or4 // 随机生成一个数字 2or4
let randNumber = Math.random() < 0.9 ? 2 : 4 let randNumber = Math.random() < 0.9 ? 2 : 2048
// 随机生成位置 // 随机生成位置
let randNumberX = Math.floor(Math.random() * 4) let randNumberX = Math.floor(Math.random() * 4)
let randNumberY = Math.floor(Math.random() * 4) let randNumberY = Math.floor(Math.random() * 4)
...@@ -989,7 +990,7 @@ export class PlayScene extends Scene { ...@@ -989,7 +990,7 @@ export class PlayScene extends Scene {
gameover() { gameover() {
// 游戏结束 // 游戏结束
console.log("游戏结束"); console.log("游戏结束");
showPanel(PropPanel)
} }
isGameWin() { isGameWin() {
...@@ -1166,7 +1167,7 @@ export class PlayScene extends Scene { ...@@ -1166,7 +1167,7 @@ export class PlayScene extends Scene {
let addScore = 0 let addScore = 0
for (let i = 1; i < arr.length; i++) { for (let i = 1; i < arr.length; i++) {
if (arr[i] === 0) break if (arr[i] === 0) break
if (arr[i] === arr[i - 1]) { if (arr[i] === arr[i - 1] && arr[i - 1] < 2048) {
// fromIdx 要改成转换前的idx // fromIdx 要改成转换前的idx
// this.moveData[t].push({ "fromValue": arr[i - 1], "toValue": arr[i - 1] * 2, "fromIdx": i, "toIdx": i - 1 }) // this.moveData[t].push({ "fromValue": arr[i - 1], "toValue": arr[i - 1] * 2, "fromIdx": i, "toIdx": i - 1 })
...@@ -1269,7 +1270,7 @@ export class PlayScene extends Scene { ...@@ -1269,7 +1270,7 @@ export class PlayScene extends Scene {
beforeArr[x][y] = beforeArr[xb][y] beforeArr[x][y] = beforeArr[xb][y]
beforeArr[xb][y] = 0 beforeArr[xb][y] = 0
} else if (beforeArr[xb][y] === beforeArr[x][y] && noBlockBottom(x, xb, y, beforeArr)) { } else if (beforeArr[xb][y] === beforeArr[x][y] && noBlockBottom(x, xb, y, beforeArr) && beforeArr[x][y] < 2048) {
this.containerPool[xb][y].children[0].visible = false this.containerPool[xb][y].children[0].visible = false
let origin = new GameEle(beforeArr[xb][y]) let origin = new GameEle(beforeArr[xb][y])
this.addChild(origin) this.addChild(origin)
...@@ -1316,7 +1317,7 @@ export class PlayScene extends Scene { ...@@ -1316,7 +1317,7 @@ export class PlayScene extends Scene {
beforeArr[x][y] = beforeArr[x][yr] beforeArr[x][y] = beforeArr[x][yr]
beforeArr[x][yr] = 0 beforeArr[x][yr] = 0
} else if (beforeArr[x][yr] === beforeArr[x][y] && noBlockRight(x, y, yr, beforeArr)) { } else if (beforeArr[x][yr] === beforeArr[x][y] && noBlockRight(x, y, yr, beforeArr) && beforeArr[x][y] < 2048) {
this.containerPool[x][yr].children[0].visible = false this.containerPool[x][yr].children[0].visible = false
let origin = new GameEle(beforeArr[x][yr]) let origin = new GameEle(beforeArr[x][yr])
this.addChild(origin) this.addChild(origin)
...@@ -1363,7 +1364,7 @@ export class PlayScene extends Scene { ...@@ -1363,7 +1364,7 @@ export class PlayScene extends Scene {
beforeArr[x][y] = beforeArr[xt][y] beforeArr[x][y] = beforeArr[xt][y]
beforeArr[xt][y] = 0 beforeArr[xt][y] = 0
} else if (beforeArr[xt][y] === beforeArr[x][y] && noBlockTop(x, xt, y, beforeArr)) { } else if (beforeArr[xt][y] === beforeArr[x][y] && noBlockTop(x, xt, y, beforeArr) && beforeArr[x][y] < 2048) {
this.containerPool[xt][y].children[0].visible = false this.containerPool[xt][y].children[0].visible = false
let origin = new GameEle(beforeArr[xt][y]) let origin = new GameEle(beforeArr[xt][y])
this.addChild(origin) this.addChild(origin)
...@@ -1410,7 +1411,7 @@ export class PlayScene extends Scene { ...@@ -1410,7 +1411,7 @@ export class PlayScene extends Scene {
beforeArr[x][y] = beforeArr[x][yl] beforeArr[x][y] = beforeArr[x][yl]
beforeArr[x][yl] = 0 beforeArr[x][yl] = 0
} else if (beforeArr[x][yl] === beforeArr[x][y] && noBlockLeft(x, y, yl, beforeArr)) { } else if (beforeArr[x][yl] === beforeArr[x][y] && noBlockLeft(x, y, yl, beforeArr) && beforeArr[x][y] < 2048) {
this.containerPool[x][yl].children[0].visible = false this.containerPool[x][yl].children[0].visible = false
let origin = new GameEle(beforeArr[x][yl]) let origin = new GameEle(beforeArr[x][yl])
this.addChild(origin) this.addChild(origin)
...@@ -1448,7 +1449,7 @@ export class PlayScene extends Scene { ...@@ -1448,7 +1449,7 @@ export class PlayScene extends Scene {
for (let i = 0; i < arr.length; i++) { for (let i = 0; i < arr.length; i++) {
if (arr[i] === 0) { if (arr[i] === 0) {
hasZero = true hasZero = true
} else if (arr[i] !== 0 && hasZero || arr[i] === arr[i + 1]) { } else if (arr[i] !== 0 && hasZero || (arr[i] === arr[i + 1] && arr[i] < 2048)) {
return true return true
} else { } else {
continue continue
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment