Commit 2e09a438 authored by Nguyễn Quang Sáng's avatar Nguyễn Quang Sáng

06/10/23 commit

parent 4b85df29
{ {
"ver": "2.3.7", "ver": "2.3.7",
"uuid": "05bd40d3-f0d9-49e6-a807-1a18c072d5f8", "uuid": "b971e505-a4fb-4bd1-951a-b0adb49418f3",
"importer": "texture", "importer": "texture",
"type": "sprite", "type": "sprite",
"wrapMode": "clamp", "wrapMode": "clamp",
...@@ -14,9 +14,9 @@ ...@@ -14,9 +14,9 @@
"subMetas": { "subMetas": {
"board": { "board": {
"ver": "1.0.6", "ver": "1.0.6",
"uuid": "72614e26-8584-481b-be35-1a58541bca6e", "uuid": "56deaa84-0d07-4862-bf7a-464463fe0b20",
"importer": "sprite-frame", "importer": "sprite-frame",
"rawTextureUuid": "05bd40d3-f0d9-49e6-a807-1a18c072d5f8", "rawTextureUuid": "b971e505-a4fb-4bd1-951a-b0adb49418f3",
"trimType": "auto", "trimType": "auto",
"trimThreshold": 1, "trimThreshold": 1,
"rotated": false, "rotated": false,
...@@ -28,8 +28,8 @@ ...@@ -28,8 +28,8 @@
"height": 232, "height": 232,
"rawWidth": 629, "rawWidth": 629,
"rawHeight": 232, "rawHeight": 232,
"borderTop": 60, "borderTop": 50,
"borderBottom": 60, "borderBottom": 54,
"borderLeft": 0, "borderLeft": 0,
"borderRight": 0, "borderRight": 0,
"subMetas": {} "subMetas": {}
......
{ {
"ver": "2.3.7", "ver": "2.3.7",
"uuid": "6ef10c61-7948-4a75-bcdc-d78b4d4a3739", "uuid": "22d327b7-97f5-454a-abeb-449c8f236e08",
"importer": "texture", "importer": "texture",
"type": "sprite", "type": "sprite",
"wrapMode": "clamp", "wrapMode": "clamp",
...@@ -8,15 +8,15 @@ ...@@ -8,15 +8,15 @@
"premultiplyAlpha": false, "premultiplyAlpha": false,
"genMipmaps": false, "genMipmaps": false,
"packable": true, "packable": true,
"width": 100, "width": 688,
"height": 1180, "height": 127,
"platformSettings": {}, "platformSettings": {},
"subMetas": { "subMetas": {
"background": { "cover": {
"ver": "1.0.6", "ver": "1.0.6",
"uuid": "dc2bc766-5d14-4d73-bf9c-0fd9128ded4b", "uuid": "bc1ff98b-19b9-47d3-9d2e-e210fd915684",
"importer": "sprite-frame", "importer": "sprite-frame",
"rawTextureUuid": "6ef10c61-7948-4a75-bcdc-d78b4d4a3739", "rawTextureUuid": "22d327b7-97f5-454a-abeb-449c8f236e08",
"trimType": "auto", "trimType": "auto",
"trimThreshold": 1, "trimThreshold": 1,
"rotated": false, "rotated": false,
...@@ -24,10 +24,10 @@ ...@@ -24,10 +24,10 @@
"offsetY": 0, "offsetY": 0,
"trimX": 0, "trimX": 0,
"trimY": 0, "trimY": 0,
"width": 125, "width": 688,
"height": 125, "height": 127,
"rawWidth": 125, "rawWidth": 688,
"rawHeight": 125, "rawHeight": 127,
"borderTop": 0, "borderTop": 0,
"borderBottom": 0, "borderBottom": 0,
"borderLeft": 0, "borderLeft": 0,
......
{
"ver": "2.3.7",
"uuid": "df371361-80fe-4eb1-97e3-2f914c6d1f10",
"importer": "texture",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 604,
"height": 105,
"platformSettings": {},
"subMetas": {
"startBar": {
"ver": "1.0.6",
"uuid": "693b3bd4-5606-4e95-b740-c3df1e66624e",
"importer": "sprite-frame",
"rawTextureUuid": "df371361-80fe-4eb1-97e3-2f914c6d1f10",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 604,
"height": 105,
"rawWidth": 604,
"rawHeight": 105,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
This diff is collapsed.
...@@ -277,14 +277,14 @@ export default class GameController extends cc.Component { ...@@ -277,14 +277,14 @@ export default class GameController extends cc.Component {
newValue newValue
); );
this.mergeMotion( this.mergeAction(
cellToMerge, cellToMerge,
this.currentBlock.getComponent(Block).value, this.currentBlock.getComponent(Block).value,
index index
); );
} }
mergeMotion(cellToMerge: cc.Node, value: number, index: number) { mergeAction(cellToMerge: cc.Node, value: number, index: number) {
let hasCheckedEmptyCell = false; let hasCheckedEmptyCell = false;
for (let i = 0; i < this.cachedBlocksToMerge.length; i++) { for (let i = 0; i < this.cachedBlocksToMerge.length; i++) {
...@@ -307,7 +307,8 @@ export default class GameController extends cc.Component { ...@@ -307,7 +307,8 @@ export default class GameController extends cc.Component {
.call(() => { .call(() => {
nodeClone.destroy(); nodeClone.destroy();
nodeClone.parent.removeAllChildren(); nodeClone.parent.removeAllChildren();
this.currentBlock.getComponent(Block).setSpriteBlock(index);
cellToMerge.children[0].getComponent(Block).setSpriteBlock(index);
this.cachedBlocksToMerge.length = 0; this.cachedBlocksToMerge.length = 0;
if (!hasCheckedEmptyCell) { if (!hasCheckedEmptyCell) {
...@@ -321,70 +322,58 @@ export default class GameController extends cc.Component { ...@@ -321,70 +322,58 @@ export default class GameController extends cc.Component {
checkEmptyCell() { checkEmptyCell() {
const data = this.blocksData.blockData; const data = this.blocksData.blockData;
const numRows = data.length; const cells = this.board.children;
const numCols = data[0].length; let fallingDown = false;
let newRow = 0;
let newCol = 0; for (let row = 0; row < data.length; row++) {
for (let col = 0; col < data[row].length; col++) {
// detected empty cell const value = data[row][col];
for (let col = 0; col < numCols; col++) {
for (let row = numRows - 2; row >= 0; row--) {
if (data[row][col] !== 0) {
let currentRow = row;
while (currentRow + 1 < numRows) {
if (data[currentRow + 1][col] == 0) {
data[currentRow + 1][col] = data[currentRow][col];
data[currentRow][col] = 0;
currentRow++;
newRow = currentRow;
newCol = col;
return this.checkMergeability(newRow, newCol);
} else {
break;
}
}
}
}
}
// no empty cell detected if (value == 0) {
if (newRow == 0 && newCol == 0) { for (let i = row - 1; i >= 0; i--) {
return this.checkMergeability(this.currentBlockRow, this.currentBlockCol); if (data[i][col] !== 0) {
fallingDown = true;
break;
} }
} }
// updateBoardChildren() { if (fallingDown) {
// const data = this.blocksData.blockData; let cellMoveIndex = row * 5 + col - 5;
// const childrens = this.board.children;
// for (let row = 0; row < 6; row++) {
// for (let col = 0; col < 5; col++) {
// const index = row * 5 + col;
// const cell = childrens[index];
// const value = data[row][col];
// cell.removeAllChildren(); for (let j = cellMoveIndex; j >= 0; j -= 5) {
if (cells[j].children.length > 0) {
const cellMerge = cells[j + 5];
const cellMove = cells[j];
const nodeToMove = cellMove.children[0];
const newRow = Math.floor(j / 5) + 1;
const newCol = j % 5;
// if (value !== 0) { const globalPos = cellMerge.convertToWorldSpaceAR(cc.Vec2.ZERO);
// const newValueNode = this.createValueNode(value); const localPos = cellMove.convertToNodeSpaceAR(globalPos);
// cell.addChild(newValueNode);
// if (cell.children.length > 1) cell.children.shift();
// }
// }
// }
// }
// createValueNode(value: number) { cc.tween(nodeToMove)
// const newNode = new cc.Node(); .to(0.3, { position: cc.v3(localPos.x, localPos.y) })
.call(() => {
nodeToMove.removeFromParent();
cellMerge.removeAllChildren();
cellMerge.addChild(nodeToMove);
nodeToMove.setPosition(cc.Vec2.ZERO);
// newNode.addComponent(cc.Sprite).spriteFrame = data[newRow][newCol] = data[newRow - 1][newCol];
// this.blockPrefab.data.getComponent(Block).listSpriteBlocks[ data[newRow - 1][newCol] = 0;
// Math.log(value) / Math.log(2) - 1 console.log(data);
// ];
// return newNode; this.checkMergeability(row, col);
// } })
.start();
}
}
}
}
}
}
if (!fallingDown) {
this.checkMergeability(this.currentBlockRow, this.currentBlockCol);
}
}
} }
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