Commit 630b55b0 authored by Nguyễn Quang Sáng's avatar Nguyễn Quang Sáng

04/10/23 commit

parent 58ede0d6
......@@ -84,22 +84,25 @@
"__id__": 55
},
{
"__id__": 87
"__id__": 72
},
{
"__id__": 8
},
{
"__id__": 41
},
{
"__id__": 84
}
],
"_active": true,
"_components": [
{
"__id__": 99
"__id__": 86
},
{
"__id__": 100
"__id__": 87
}
],
"_prefab": null,
......@@ -526,7 +529,7 @@
"ctor": "Float64Array",
"array": [
0,
-183.087,
-224.784,
0,
0,
0,
......@@ -2408,7 +2411,7 @@
"ctor": "Float64Array",
"array": [
0,
283.135,
241.438,
0,
0,
0,
......@@ -3053,24 +3056,6 @@
},
{
"__id__": 70
},
{
"__id__": 72
},
{
"__id__": 74
},
{
"__id__": 76
},
{
"__id__": 78
},
{
"__id__": 80
},
{
"__id__": 82
}
],
"_active": true,
......@@ -3123,100 +3108,6 @@
"groupIndex": 0,
"_id": "17p2XK/FJB9LjuqIXx8s7V"
},
{
"__type__": "cc.Node",
"_name": "BG",
"_objFlags": 0,
"_parent": {
"__id__": 55
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 57
}
],
"_prefab": null,
"_opacity": 200,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 640,
"height": 180
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
500,
0,
0,
0,
0,
1,
1,
1,
1
]
},
"_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "2eKGie6F1KGorSy3XPz6PL"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 56
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "f06e40bc-cc5a-4ced-a739-503a3d09363f"
},
"_type": 1,
"_sizeMode": 0,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "f69JF2OsFP2Z/9JMgelBeO"
},
{
"__type__": "cc.Node",
"_name": "ButtonPause",
......@@ -3228,7 +3119,7 @@
"_active": true,
"_components": [
{
"__id__": 59
"__id__": 57
}
],
"_prefab": null,
......@@ -3284,7 +3175,7 @@
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 58
"__id__": 56
},
"_enabled": true,
"_materials": [
......@@ -3322,7 +3213,7 @@
"_active": true,
"_components": [
{
"__id__": 61
"__id__": 59
}
],
"_prefab": null,
......@@ -3378,7 +3269,7 @@
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 60
"__id__": 58
},
"_enabled": true,
"_materials": [
......@@ -3416,7 +3307,7 @@
"_active": true,
"_components": [
{
"__id__": 63
"__id__": 61
}
],
"_prefab": null,
......@@ -3472,7 +3363,7 @@
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 62
"__id__": 60
},
"_enabled": true,
"_materials": [
......@@ -3510,7 +3401,7 @@
"_active": true,
"_components": [
{
"__id__": 65
"__id__": 63
}
],
"_prefab": null,
......@@ -3566,7 +3457,7 @@
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 64
"__id__": 62
},
"_enabled": true,
"_materials": [
......@@ -3605,7 +3496,7 @@
"_active": true,
"_components": [
{
"__id__": 67
"__id__": 65
}
],
"_prefab": null,
......@@ -3661,7 +3552,7 @@
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 66
"__id__": 64
},
"_enabled": true,
"_materials": [
......@@ -3699,7 +3590,7 @@
"_active": true,
"_components": [
{
"__id__": 69
"__id__": 67
}
],
"_prefab": null,
......@@ -3755,7 +3646,7 @@
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 68
"__id__": 66
},
"_enabled": true,
"_materials": [
......@@ -3794,7 +3685,7 @@
"_active": true,
"_components": [
{
"__id__": 71
"__id__": 69
}
],
"_prefab": null,
......@@ -3850,7 +3741,7 @@
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 70
"__id__": 68
},
"_enabled": true,
"_materials": [
......@@ -3879,7 +3770,7 @@
},
{
"__type__": "cc.Node",
"_name": "Coin",
"_name": "CoinLabel",
"_objFlags": 0,
"_parent": {
"__id__": 55
......@@ -3888,22 +3779,22 @@
"_active": true,
"_components": [
{
"__id__": 73
"__id__": 71
}
],
"_prefab": null,
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"r": 139,
"g": 148,
"b": 200,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 49,
"height": 50
"width": 34.25,
"height": 37.8
},
"_anchorPoint": {
"__type__": "cc.Vec2",
......@@ -3914,7 +3805,7 @@
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
127.432,
195.222,
482,
0,
0,
......@@ -3937,14 +3828,14 @@
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "4ctaJXeRBBKJ3KyTqTnKVB"
"_id": "f2qNuXKCdKkb5Qf2GU73aA"
},
{
"__type__": "cc.Sprite",
"__type__": "cc.Label",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 72
"__id__": 70
},
"_enabled": true,
"_materials": [
......@@ -3954,50 +3845,69 @@
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "720e0100-c499-4026-be6d-7c5f0b9c4661"
},
"_type": 0,
"_sizeMode": 1,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
"_string": "20",
"_N$string": "20",
"_fontSize": 30,
"_lineHeight": 30,
"_enableWrapText": true,
"_N$file": {
"__uuid__": "6f0d4d99-b207-4755-9233-a2544dc7a038"
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "6dLde2dhhIf4dyEU3Ya/7A"
"_isSystemFontUsed": false,
"_spacingX": 0,
"_batchAsBitmap": false,
"_styleFlags": 0,
"_underlineHeight": 0,
"_N$horizontalAlign": 0,
"_N$verticalAlign": 0,
"_N$fontFamily": "Arial",
"_N$overflow": 0,
"_N$cacheMode": 0,
"_id": "6cWiJoWiJIpo8mOSt5AQIK"
},
{
"__type__": "cc.Node",
"_name": "Plus",
"_name": "BGStartBar",
"_objFlags": 0,
"_parent": {
"__id__": 55
"__id__": 2
},
"_children": [],
"_children": [
{
"__id__": 73
},
{
"__id__": 75
},
{
"__id__": 77
},
{
"__id__": 79
},
{
"__id__": 81
}
],
"_active": true,
"_components": [
{
"__id__": 75
"__id__": 83
}
],
"_prefab": null,
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 0,
"r": 255,
"g": 255,
"b": 94,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 30,
"height": 30
"width": 550,
"height": 100
},
"_anchorPoint": {
"__type__": "cc.Vec2",
......@@ -4008,8 +3918,8 @@
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
141.355,
469.585,
0,
146.786,
0,
0,
0,
......@@ -4031,514 +3941,35 @@
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "49wfClXhxPM5Z8iY0S0RAW"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 74
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "a7b930b1-c853-41c8-99b7-7dc0ae10aa48"
},
"_type": 0,
"_sizeMode": 0,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "72T8tKz6RIw7+b6xPmKdCL"
"_id": "75rheVHKRPfq4fowOjQRpm"
},
{
"__type__": "cc.Node",
"_name": "CoinLabel",
"_name": "StartPoint",
"_objFlags": 0,
"_parent": {
"__id__": 55
"__id__": 72
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 77
"__id__": 74
}
],
"_prefab": null,
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 139,
"g": 148,
"b": 200,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 34.25,
"height": 37.8
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
195.222,
482,
0,
0,
0,
0,
1,
1,
1,
1
]
},
"_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "f2qNuXKCdKkb5Qf2GU73aA"
},
{
"__type__": "cc.Label",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 76
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_string": "20",
"_N$string": "20",
"_fontSize": 30,
"_lineHeight": 30,
"_enableWrapText": true,
"_N$file": {
"__uuid__": "6f0d4d99-b207-4755-9233-a2544dc7a038"
},
"_isSystemFontUsed": false,
"_spacingX": 0,
"_batchAsBitmap": false,
"_styleFlags": 0,
"_underlineHeight": 0,
"_N$horizontalAlign": 0,
"_N$verticalAlign": 0,
"_N$fontFamily": "Arial",
"_N$overflow": 0,
"_N$cacheMode": 0,
"_id": "6cWiJoWiJIpo8mOSt5AQIK"
},
{
"__type__": "cc.Node",
"_name": "ButtonShop",
"_objFlags": 0,
"_parent": {
"__id__": 55
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 79
}
],
"_prefab": null,
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 76,
"height": 76
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
263.326,
482,
0,
0,
0,
0,
1,
1,
1,
1
]
},
"_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "18W8vbnNFA+r8s2QhGACuj"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 78
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "170b0a6b-0a15-4579-9ac0-52ee45b163bc"
},
"_type": 0,
"_sizeMode": 1,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "4d6iiF2BtBnqFfVGd55qF8"
},
{
"__type__": "cc.Node",
"_name": "Cart",
"_objFlags": 0,
"_parent": {
"__id__": 55
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 81
}
],
"_prefab": null,
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 43,
"height": 40
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
263.326,
482,
0,
0,
0,
0,
1,
1,
1,
1
]
},
"_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "c3VYEZ24lOGI2BDIbwHoyn"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 80
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "e652632c-c6e6-4fd2-a278-4c209da80438"
},
"_type": 0,
"_sizeMode": 0,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "a7H69u6LJGyq2JuJCJSZL1"
},
{
"__type__": "cc.Node",
"_name": "Label",
"_objFlags": 0,
"_parent": {
"__id__": 55
},
"_children": [
{
"__id__": 83
},
{
"__id__": 85
}
],
"_active": true,
"_components": [],
"_prefab": null,
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 0,
"height": 0
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
0,
0,
0,
0,
0,
1,
1,
1,
1
]
},
"_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "95oS2nxNxOXY4u7oeZBt5p"
},
{
"__type__": "cc.Node",
"_name": "Score",
"_objFlags": 0,
"_parent": {
"__id__": 82
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 84
}
],
"_prefab": null,
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 139,
"g": 148,
"b": 200,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 54.01,
"height": 18.9
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
-124.882,
525.812,
0,
0,
0,
0,
1,
1,
1,
1
]
},
"_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "d62LqWlB1LNIevtQdUQrIf"
},
{
"__type__": "cc.Label",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 83
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_string": "SCORE",
"_N$string": "SCORE",
"_fontSize": 15,
"_lineHeight": 15,
"_enableWrapText": true,
"_N$file": {
"__uuid__": "9bde507c-0766-4844-ae73-02962a0559d3"
},
"_isSystemFontUsed": false,
"_spacingX": 0,
"_batchAsBitmap": false,
"_styleFlags": 0,
"_underlineHeight": 0,
"_N$horizontalAlign": 0,
"_N$verticalAlign": 0,
"_N$fontFamily": "Arial",
"_N$overflow": 0,
"_N$cacheMode": 0,
"_id": "ebZwIW0fNB94HKWm1cgV7T"
},
{
"__type__": "cc.Node",
"_name": "Highest",
"_objFlags": 0,
"_parent": {
"__id__": 82
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 86
}
],
"_prefab": null,
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 139,
"g": 148,
"b": 200,
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 68.46,
"height": 18.9
"width": 50,
"height": 38
},
"_anchorPoint": {
"__type__": "cc.Vec2",
......@@ -4549,8 +3980,8 @@
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
19.877,
525.812,
0,
0,
0,
0,
0,
......@@ -4572,14 +4003,14 @@
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "f9JwvPasxN74U+iWnfc9wn"
"_id": "7aYzhPbphHs6vCbVlfcv6/"
},
{
"__type__": "cc.Label",
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 85
"__id__": 73
},
"_enabled": true,
"_materials": [
......@@ -4589,116 +4020,35 @@
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_string": "HIGHEST",
"_N$string": "HIGHEST",
"_fontSize": 15,
"_lineHeight": 15,
"_enableWrapText": true,
"_N$file": {
"__uuid__": "9bde507c-0766-4844-ae73-02962a0559d3"
},
"_isSystemFontUsed": false,
"_spacingX": 0,
"_batchAsBitmap": false,
"_styleFlags": 0,
"_underlineHeight": 0,
"_N$horizontalAlign": 0,
"_N$verticalAlign": 0,
"_N$fontFamily": "Arial",
"_N$overflow": 0,
"_N$cacheMode": 0,
"_id": "7fG5vqOOdDZL6hrawB9UK4"
},
{
"__type__": "cc.Node",
"_name": "BGStartBar",
"_objFlags": 0,
"_parent": {
"__id__": 2
},
"_children": [
{
"__id__": 88
},
{
"__id__": 90
},
{
"__id__": 92
},
{
"__id__": 94
},
{
"__id__": 96
}
],
"_active": true,
"_components": [
{
"__id__": 98
}
],
"_prefab": null,
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 550,
"height": 100
"_spriteFrame": {
"__uuid__": "198639e5-9950-4d01-b8c5-732441df6eab"
},
"_anchorPoint": {
"_type": 0,
"_sizeMode": 0,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
188.483,
0,
0,
0,
0,
1,
1,
1,
1
]
},
"_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
"y": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "75rheVHKRPfq4fowOjQRpm"
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "90PlneBCZP3ryp74WYDNXc"
},
{
"__type__": "cc.Node",
"_name": "StartPoint",
"_objFlags": 0,
"_parent": {
"__id__": 87
"__id__": 72
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 89
"__id__": 76
}
],
"_prefab": null,
......@@ -4724,7 +4074,7 @@
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
-101.164,
0,
0,
0,
......@@ -4747,14 +4097,14 @@
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "7aYzhPbphHs6vCbVlfcv6/"
"_id": "e8qRdmjY5LEpdJLoA3yLei"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 88
"__id__": 75
},
"_enabled": true,
"_materials": [
......@@ -4779,20 +4129,20 @@
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "90PlneBCZP3ryp74WYDNXc"
"_id": "2a2MnjpRVILpGetjUs/ZmN"
},
{
"__type__": "cc.Node",
"_name": "StartPoint",
"_objFlags": 0,
"_parent": {
"__id__": 87
"__id__": 72
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 91
"__id__": 78
}
],
"_prefab": null,
......@@ -4818,7 +4168,7 @@
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
-101.164,
-209.478,
0,
0,
0,
......@@ -4841,14 +4191,14 @@
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "e8qRdmjY5LEpdJLoA3yLei"
"_id": "04tLuyTNpI3pfWuRyF81um"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 90
"__id__": 77
},
"_enabled": true,
"_materials": [
......@@ -4873,20 +4223,20 @@
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "2a2MnjpRVILpGetjUs/ZmN"
"_id": "6dLjpfb+xIWJ5pakXgu/A+"
},
{
"__type__": "cc.Node",
"_name": "StartPoint",
"_objFlags": 0,
"_parent": {
"__id__": 87
"__id__": 72
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 93
"__id__": 80
}
],
"_prefab": null,
......@@ -4912,7 +4262,7 @@
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
-209.478,
107.554,
0,
0,
0,
......@@ -4935,14 +4285,14 @@
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "04tLuyTNpI3pfWuRyF81um"
"_id": "b4BMgDOlVMuKpwmqzvlREp"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 92
"__id__": 79
},
"_enabled": true,
"_materials": [
......@@ -4967,20 +4317,20 @@
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "6dLjpfb+xIWJ5pakXgu/A+"
"_id": "abgCRCkoNInLPvEijBx9Gg"
},
{
"__type__": "cc.Node",
"_name": "StartPoint",
"_objFlags": 0,
"_parent": {
"__id__": 87
"__id__": 72
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 95
"__id__": 82
}
],
"_prefab": null,
......@@ -5006,7 +4356,7 @@
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
107.554,
213.589,
0,
0,
0,
......@@ -5029,14 +4379,14 @@
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "b4BMgDOlVMuKpwmqzvlREp"
"_id": "7erdK6yYBBwoEYQILaxax4"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 94
"__id__": 81
},
"_enabled": true,
"_materials": [
......@@ -5061,35 +4411,67 @@
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "abgCRCkoNInLPvEijBx9Gg"
"_id": "63naLwjBBDN4xWnUAgXvmI"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 72
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "72614e26-8584-481b-be35-1a58541bca6e"
},
"_type": 1,
"_sizeMode": 0,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "ffT/lwHsxIW6+GwJhXeFXP"
},
{
"__type__": "cc.Node",
"_name": "StartPoint",
"_name": "Cover",
"_objFlags": 0,
"_parent": {
"__id__": 87
"__id__": 2
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 97
"__id__": 85
}
],
"_prefab": null,
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"r": 48,
"g": 54,
"b": 77,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 50,
"height": 38
"width": 550,
"height": 106
},
"_anchorPoint": {
"__type__": "cc.Vec2",
......@@ -5100,8 +4482,8 @@
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
213.589,
0,
241.438,
0,
0,
0,
......@@ -5123,14 +4505,14 @@
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "7erdK6yYBBwoEYQILaxax4"
"_id": "ddj4q73t1KLqyxHuQe7axp"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 96
"__id__": 84
},
"_enabled": true,
"_materials": [
......@@ -5141,7 +4523,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "198639e5-9950-4d01-b8c5-732441df6eab"
"__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91"
},
"_type": 0,
"_sizeMode": 0,
......@@ -5155,39 +4537,7 @@
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "63naLwjBBDN4xWnUAgXvmI"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 87
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "72614e26-8584-481b-be35-1a58541bca6e"
},
"_type": 1,
"_sizeMode": 0,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "ffT/lwHsxIW6+GwJhXeFXP"
"_id": "59KccFhWlDjr/WchgSfqAb"
},
{
"__type__": "cc.Canvas",
......
......@@ -22,12 +22,13 @@ export default class GameController extends cc.Component {
cellTarget: cc.Node = null;
spawnColumn: number = Utils.random(0, 4);
cachedBlocksToMerge: Array<cc.Node> = null;
currentBlockRow: number = 0;
currentBlockCol: number = 0;
protected onLoad(): void {
GameController.instance = this;
this.spawnBlock(0);
this.regEvents();
this.spawnBlock(this.blocksData.generateNumber());
}
regEvents() {
......@@ -40,6 +41,16 @@ export default class GameController extends cc.Component {
});
}
offEvents() {
let childrens = this.board.children;
childrens.forEach((child) => {
child.off(cc.Node.EventType.TOUCH_START, this.onTouchDown, this);
child.off(cc.Node.EventType.TOUCH_MOVE, this.onTouchMove, this);
child.off(cc.Node.EventType.TOUCH_CANCEL, this.onTouchEnd, this);
child.off(cc.Node.EventType.TOUCH_END, this.onTouchEnd, this);
});
}
spawnBlock(index: number) {
if (this.blocksData.blockData.length > 0) {
const hasNonZero = this.blocksData.blockData[0].some((e) => e !== 0);
......@@ -50,6 +61,8 @@ export default class GameController extends cc.Component {
this.currentBlock.getComponent(Block).setSpriteBlock(index);
this.currentBlock.getComponent(Block).isPlace = false;
this.spawnBlockPos = this.currentBlock.parent.getPosition();
this.regEvents();
}
onTouchDown(event: cc.Event.EventTouch) {
......@@ -94,6 +107,8 @@ export default class GameController extends cc.Component {
this.spawnColumn = this.dropColumn;
this.currentBlock.getComponent(Block).currentBlockColumn = this.dropColumn;
this.onDropBlock(this.dropColumn);
this.offEvents();
}
onDropBlock(col: number) {
......@@ -130,9 +145,8 @@ export default class GameController extends cc.Component {
}
}
}
checkMergeability(row: number, col: number) {
console.log(this.board.children);
console.log(this.blocksData.blockData);
const mergedValue = this.currentBlock.getComponent(Block).value;
const neighbors = [
......@@ -182,7 +196,7 @@ export default class GameController extends cc.Component {
this.currentBlock.getComponent(Block).isPlace = true;
this.touched = false;
this.spawnBlock(0);
this.spawnBlock(this.blocksData.generateNumber());
}
}
......@@ -225,15 +239,14 @@ export default class GameController extends cc.Component {
}
this.cachedBlocksToMerge = blocksToMerge;
this.mergeBlock(nodeIndex);
}
mergeBlock(nodeIndex: number) {
let blocksToMergeCount = this.cachedBlocksToMerge.length + 1;
const cellToMerge = this.board.children[nodeIndex];
const newRow = Math.floor(nodeIndex / 5);
const newCol = nodeIndex % 5;
this.currentBlockRow = Math.floor(nodeIndex / 5);
this.currentBlockCol = nodeIndex % 5;
let newValue = 0;
if (blocksToMergeCount <= 2 || blocksToMergeCount > 3) {
......@@ -257,7 +270,12 @@ export default class GameController extends cc.Component {
cellToMerge.removeAllChildren();
cellToMerge.addChild(this.currentBlock);
this.blocksData.setBlockValue(newRow, newCol, newValue);
this.blocksData.setBlockValue(
this.currentBlockRow,
this.currentBlockCol,
newValue
);
this.mergeMotion(
cellToMerge,
this.currentBlock.getComponent(Block).value,
......@@ -266,6 +284,8 @@ export default class GameController extends cc.Component {
}
mergeMotion(cellToMerge: cc.Node, value: number, index: number) {
let hasCheckedEmptyCell = false;
for (let i = 0; i < this.cachedBlocksToMerge.length; i++) {
const block = this.cachedBlocksToMerge[i];
......@@ -275,6 +295,7 @@ export default class GameController extends cc.Component {
this.blockPrefab.data.getComponent(Block).listSpriteBlocks[
Math.log(value) / Math.log(2) - 1
];
block.parent.addChild(nodeClone);
const globalPos = cellToMerge.convertToWorldSpaceAR(cc.Vec2.ZERO);
......@@ -284,9 +305,14 @@ export default class GameController extends cc.Component {
.to(0.3, { position: new cc.Vec3(localPos.x, localPos.y, 0) })
.call(() => {
nodeClone.destroy();
nodeClone.parent.removeAllChildren();
cellToMerge.children[0].getComponent(Block).setSpriteBlock(index);
this.cachedBlocksToMerge.length = 0;
if (!hasCheckedEmptyCell) {
this.checkEmptyCell();
hasCheckedEmptyCell = true;
}
})
.start();
}
......@@ -298,11 +324,8 @@ export default class GameController extends cc.Component {
const numCols = data[0].length;
let newRow = 0;
let newCol = 0;
let currentRow = 0;
let currentCol = 0;
// detected empty cell
for (let col = 0; col < numCols; col++) {
for (let row = numRows - 2; row >= 0; row--) {
if (data[row][col] !== 0) {
......@@ -327,43 +350,8 @@ export default class GameController extends cc.Component {
}
// no empty cell detected
if (newRow == 0 && newCol == 0) {
let maxAdjacentValueCount = 0;
for (let col = 0; col < numCols; col++) {
for (let row = 0; row < numRows; row++) {
const currentValue = data[row][col];
if (currentValue !== 0) {
let adjacentValueCount = 0;
if (col > 0 && data[row][col - 1] == currentValue) {
adjacentValueCount++;
}
if (col < numCols - 1 && data[row][col + 1] == currentValue) {
adjacentValueCount++;
}
if (row < numRows - 1 && data[row + 1][col] == currentValue) {
adjacentValueCount++;
}
if (adjacentValueCount > maxAdjacentValueCount) {
maxAdjacentValueCount = adjacentValueCount;
currentRow = row;
currentCol = col;
}
}
}
}
this.currentBlock.getComponent(Block).isPlace = true;
this.touched = false;
this.spawnBlock(0);
if (currentRow == 0 && currentCol == 0) return;
this.checkMergeability(currentRow, currentCol);
return this.checkMergeability(this.currentBlockRow, this.currentBlockCol);
}
}
......@@ -384,7 +372,7 @@ export default class GameController extends cc.Component {
if (value !== 0) {
const newValueNode = this.createValueNode(value);
cell.addChild(newValueNode);
if (cell.children.length > 1) cell.children.slice(-1);
if (cell.children.length > 1) cell.children.shift();
}
}
}
......
import Utils from "../Tools/Utils";
const { ccclass, property } = cc._decorator;
@ccclass
......@@ -35,4 +37,29 @@ export default class BlockData extends cc.Component {
this.blockData[row][col] = value;
}
}
generateNumber(): number {
if (this.blockData.length == 0) return Utils.random(0, 4);
const smallNumberProbability = 0.7;
const largeNumberProbability = 0.3;
let randomNumber = 0;
const randomValue = Math.random();
if (randomValue < smallNumberProbability) {
const smallNumbers = [2, 4, 8, 16, 32];
const randomIndex = Math.floor(Math.random() * smallNumbers.length);
randomNumber = smallNumbers[randomIndex];
} else if (randomValue < smallNumberProbability + largeNumberProbability) {
const largeNumbers = [64, 128, 256, 512];
const randomIndex = Math.floor(Math.random() * largeNumbers.length);
randomNumber = largeNumbers[randomIndex];
} else {
const averageNumbers = [16, 32, 64];
const randomIndex = Math.floor(Math.random() * averageNumbers.length);
randomNumber = averageNumbers[randomIndex];
}
return Math.log(randomNumber) / Math.log(2) - 1;
}
}
......@@ -28,9 +28,8 @@ export default class Block extends cc.Component {
this.currentBlockRow,
this.currentBlockColumn
);
GameController.instance.spawnBlock(0);
}
this.node.y -= dt * 150;
this.node.y -= dt * 100;
}
setSpriteBlock(index: number) {
......
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