diff --git a/MyApplication/.gitignore b/2048/.gitignore
similarity index 100%
rename from MyApplication/.gitignore
rename to 2048/.gitignore
diff --git a/MyApplication/.idea/compiler.xml b/2048/.idea/compiler.xml
similarity index 100%
rename from MyApplication/.idea/compiler.xml
rename to 2048/.idea/compiler.xml
diff --git a/MyApplication/.idea/gradle.xml b/2048/.idea/gradle.xml
similarity index 100%
rename from MyApplication/.idea/gradle.xml
rename to 2048/.idea/gradle.xml
diff --git a/MyApplication/.idea/inspectionProfiles/Project_Default.xml b/2048/.idea/inspectionProfiles/Project_Default.xml
similarity index 100%
rename from MyApplication/.idea/inspectionProfiles/Project_Default.xml
rename to 2048/.idea/inspectionProfiles/Project_Default.xml
diff --git a/MyApplication/.idea/jarRepositories.xml b/2048/.idea/jarRepositories.xml
similarity index 100%
rename from MyApplication/.idea/jarRepositories.xml
rename to 2048/.idea/jarRepositories.xml
diff --git a/MyApplication/.idea/misc.xml b/2048/.idea/misc.xml
similarity index 100%
rename from MyApplication/.idea/misc.xml
rename to 2048/.idea/misc.xml
diff --git a/2048/.idea/previewer/liteWearable/liteWearableSettingConfig_rd.json b/2048/.idea/previewer/liteWearable/liteWearableSettingConfig_rd.json
new file mode 100644
index 0000000..5ec7247
--- /dev/null
+++ b/2048/.idea/previewer/liteWearable/liteWearableSettingConfig_rd.json
@@ -0,0 +1,83 @@
+{
+ "setting": {
+ "1.0.0": {
+ "KeepScreenOnState": {
+ "args": {
+ "KeepScreenOnState": true
+ }
+ },
+ "BrightnessMode": {
+ "args": {
+ "BrightnessMode": 0
+ }
+ },
+ "Brightness": {
+ "args": {
+ "Brightness": 170
+ }
+ },
+ "WearingState": {
+ "args": {
+ "WearingState": true
+ }
+ },
+ "Barometer": {
+ "args": {
+ "Barometer": 101325
+ }
+ },
+ "HeartRate": {
+ "args": {
+ "HeartRate": 100
+ }
+ },
+ "StepCount": {
+ "args": {
+ "StepCount": 0
+ }
+ },
+ "Location": {
+ "args": {
+ "latitude": 39.914417,
+ "longitude": 116.39647
+ }
+ },
+ "ChargeMode": {
+ "args": {
+ "ChargeMode": 0
+ }
+ },
+ "Power": {
+ "args": {
+ "Power": 0.1
+ }
+ },
+ "Language": {
+ "args": {
+ "Language": "en-US"
+ }
+ }
+ },
+ "1.0.1": {
+ "Language": {
+ "args": {
+ "Language": "zh-CN"
+ }
+ }
+ }
+ },
+ "frontend": {
+ "1.0.0": {
+ "Resolution": {
+ "args": {
+ "Resolution": "454*454"
+ }
+ },
+ "DeviceType": {
+ "args": {
+ "DeviceType": "liteWearable"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/2048/.idea/previewer/previewConfigV2.json b/2048/.idea/previewer/previewConfigV2.json
new file mode 100644
index 0000000..d6010e3
--- /dev/null
+++ b/2048/.idea/previewer/previewConfigV2.json
@@ -0,0 +1,11 @@
+{
+ "1.0.0": {
+ "LastPreviewDevice": {
+ }
+ },
+ "1.0.1": {
+ "profileList": [],
+ "runningProfileList": [],
+ "availableProfileList": []
+ }
+}
\ No newline at end of file
diff --git a/2048/.idea/sonarlint/issuestore/0/3/037eb38d22a90ee435a04f5160df2347025c27e5 b/2048/.idea/sonarlint/issuestore/0/3/037eb38d22a90ee435a04f5160df2347025c27e5
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/0/5/05efc8b1657769a27696d478ded1e95f38737233 b/2048/.idea/sonarlint/issuestore/0/5/05efc8b1657769a27696d478ded1e95f38737233
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/1/0/10f965cf51fe14a5ef0ca2ebefb1bd7e4607eeb2 b/2048/.idea/sonarlint/issuestore/1/0/10f965cf51fe14a5ef0ca2ebefb1bd7e4607eeb2
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/1/a/1a0bfe7a027837ed647b6bd5b6e2500c8555362e b/2048/.idea/sonarlint/issuestore/1/a/1a0bfe7a027837ed647b6bd5b6e2500c8555362e
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/2/a/2a45a911a8f1836b0b6c5b758962572012d8f8c3 b/2048/.idea/sonarlint/issuestore/2/a/2a45a911a8f1836b0b6c5b758962572012d8f8c3
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/2/a/2afbb999f001938c88fa43fc2ef52abf0f8213e4 b/2048/.idea/sonarlint/issuestore/2/a/2afbb999f001938c88fa43fc2ef52abf0f8213e4
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/3/6/36d48c2c0aa8cb6b91428b9d2d791dcae782d636 b/2048/.idea/sonarlint/issuestore/3/6/36d48c2c0aa8cb6b91428b9d2d791dcae782d636
new file mode 100644
index 0000000..9dac29d
--- /dev/null
+++ b/2048/.idea/sonarlint/issuestore/3/6/36d48c2c0aa8cb6b91428b9d2d791dcae782d636
@@ -0,0 +1,8 @@
+
+wjavascript:S3776""TRefactor this function to reduce its Cognitive Complexity from 17 to the 15 allowed.(8҃/
+javascript:S4165'"eReview this redundant assignment: "start" already holds the assigned value along all execution paths.(8҃/
+javascript:S41651"eReview this redundant assignment: "start" already holds the assigned value along all execution paths.(8҃/
+Ejavascript:S1656R""'this.best' is assigned to itself.(8҃/
+Jjavascript:S1125Y"'Remove the unnecessary boolean literal.(8҃/
+Ojavascript:S1125o"'Remove the unnecessary boolean literal.(8҃/
+Ojavascript:S1125o"'Remove the unnecessary boolean literal.(8҃/
\ No newline at end of file
diff --git a/2048/.idea/sonarlint/issuestore/4/9/496a238a6afa168dbaf6efd37bb459331589579c b/2048/.idea/sonarlint/issuestore/4/9/496a238a6afa168dbaf6efd37bb459331589579c
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/5/3/53c2f15f1da3e1de172f90feee9cf4143c3029f0 b/2048/.idea/sonarlint/issuestore/5/3/53c2f15f1da3e1de172f90feee9cf4143c3029f0
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/5/b/5bbfa66edb4db3c7c33c5181f43510990d3307f9 b/2048/.idea/sonarlint/issuestore/5/b/5bbfa66edb4db3c7c33c5181f43510990d3307f9
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/7/0/7030d0b2f71b999ff89a343de08c414af32fc93a b/2048/.idea/sonarlint/issuestore/7/0/7030d0b2f71b999ff89a343de08c414af32fc93a
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/a/5/a5cc2925ca8258af241be7e5b0381edf30266302 b/2048/.idea/sonarlint/issuestore/a/5/a5cc2925ca8258af241be7e5b0381edf30266302
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/a/d/ad38b2dea33752cac233aa09d7dfbe582e9dded6 b/2048/.idea/sonarlint/issuestore/a/d/ad38b2dea33752cac233aa09d7dfbe582e9dded6
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/b/4/b4c4e536f4084a0b6a45f8b0d2725567135b92e6 b/2048/.idea/sonarlint/issuestore/b/4/b4c4e536f4084a0b6a45f8b0d2725567135b92e6
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/b/d/bded84c8d7c3dc43c805144b684b7e76d317f963 b/2048/.idea/sonarlint/issuestore/b/d/bded84c8d7c3dc43c805144b684b7e76d317f963
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/e/b/eb4272ef57a8e412e241acf56c46fd3c2ccd3848 b/2048/.idea/sonarlint/issuestore/e/b/eb4272ef57a8e412e241acf56c46fd3c2ccd3848
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/f/0/f07866736216be0ee2aba49e392191aeae700a35 b/2048/.idea/sonarlint/issuestore/f/0/f07866736216be0ee2aba49e392191aeae700a35
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/f/0/f0a6d47efb29aae09031985f74d3e6850f8e5432 b/2048/.idea/sonarlint/issuestore/f/0/f0a6d47efb29aae09031985f74d3e6850f8e5432
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/f/b/fbe448ebfc3eb2d4e308f6b8b043666f5b57235e b/2048/.idea/sonarlint/issuestore/f/b/fbe448ebfc3eb2d4e308f6b8b043666f5b57235e
new file mode 100644
index 0000000..e69de29
diff --git a/2048/.idea/sonarlint/issuestore/index.pb b/2048/.idea/sonarlint/issuestore/index.pb
new file mode 100644
index 0000000..0bf694d
--- /dev/null
+++ b/2048/.idea/sonarlint/issuestore/index.pb
@@ -0,0 +1,40 @@
+
+<
+build.gradle,f\0\f07866736216be0ee2aba49e392191aeae700a35
+:
+
+.gitignore,a\5\a5cc2925ca8258af241be7e5b0381edf30266302
+?
+settings.gradle,0\5\05efc8b1657769a27696d478ded1e95f38737233
+X
+(gradle/wrapper/gradle-wrapper.properties,f\b\fbe448ebfc3eb2d4e308f6b8b043666f5b57235e
+7
+gradlew,5\b\5bbfa66edb4db3c7c33c5181f43510990d3307f9
+;
+gradlew.bat,2\a\2a45a911a8f1836b0b6c5b758962572012d8f8c3
+A
+gradle.properties,2\a\2afbb999f001938c88fa43fc2ef52abf0f8213e4
+<
+package.json,7\0\7030d0b2f71b999ff89a343de08c414af32fc93a
+@
+entry/.gitignore,f\0\f0a6d47efb29aae09031985f74d3e6850f8e5432
+J
+entry/src/main/config.json,1\0\10f965cf51fe14a5ef0ca2ebefb1bd7e4607eeb2
+H
+entry/proguard-rules.pro,1\a\1a0bfe7a027837ed647b6bd5b6e2500c8555362e
+^
+.entry/src/main/js/default/pages/index/index.js,3\6\36d48c2c0aa8cb6b91428b9d2d791dcae782d636
+_
+/entry/src/main/js/default/pages/index/index.css,b\d\bded84c8d7c3dc43c805144b684b7e76d317f963
+_
+/entry/src/main/js/default/pages/index/index.hml,e\b\eb4272ef57a8e412e241acf56c46fd3c2ccd3848
+P
+ entry/src/main/js/default/app.js,b\4\b4c4e536f4084a0b6a45f8b0d2725567135b92e6
+Y
+)entry/src/main/js/default/i18n/en-US.json,5\3\53c2f15f1da3e1de172f90feee9cf4143c3029f0
+Y
+)entry/src/main/js/default/i18n/zh-CN.json,0\3\037eb38d22a90ee435a04f5160df2347025c27e5
+\
+,.idea/inspectionProfiles/Project_Default.xml,4\9\496a238a6afa168dbaf6efd37bb459331589579c
+B
+entry/build.gradle,a\d\ad38b2dea33752cac233aa09d7dfbe582e9dded6
\ No newline at end of file
diff --git a/MyApplication/.idea/vcs.xml b/2048/.idea/vcs.xml
similarity index 100%
rename from MyApplication/.idea/vcs.xml
rename to 2048/.idea/vcs.xml
diff --git a/MyApplication/build.gradle b/2048/build.gradle
similarity index 100%
rename from MyApplication/build.gradle
rename to 2048/build.gradle
diff --git a/MyApplication/entry/.gitignore b/2048/entry/.gitignore
similarity index 100%
rename from MyApplication/entry/.gitignore
rename to 2048/entry/.gitignore
diff --git a/MyApplication/entry/build.gradle b/2048/entry/build.gradle
similarity index 100%
rename from MyApplication/entry/build.gradle
rename to 2048/entry/build.gradle
diff --git a/MyApplication/entry/proguard-rules.pro b/2048/entry/proguard-rules.pro
similarity index 100%
rename from MyApplication/entry/proguard-rules.pro
rename to 2048/entry/proguard-rules.pro
diff --git a/MyApplication/entry/src/main/config.json b/2048/entry/src/main/config.json
similarity index 100%
rename from MyApplication/entry/src/main/config.json
rename to 2048/entry/src/main/config.json
diff --git a/MyApplication/entry/src/main/js/default/i18n/en-US.json b/2048/entry/src/main/js/default/i18n/en-US.json
similarity index 100%
rename from MyApplication/entry/src/main/js/default/i18n/en-US.json
rename to 2048/entry/src/main/js/default/i18n/en-US.json
diff --git a/MyApplication/entry/src/main/js/default/i18n/zh-CN.json b/2048/entry/src/main/js/default/i18n/zh-CN.json
similarity index 100%
rename from MyApplication/entry/src/main/js/default/i18n/zh-CN.json
rename to 2048/entry/src/main/js/default/i18n/zh-CN.json
diff --git a/2048/entry/src/main/js/default/pages/index/index.css b/2048/entry/src/main/js/default/pages/index/index.css
index 5cf9016..6b3aea8 100644
--- a/2048/entry/src/main/js/default/pages/index/index.css
+++ b/2048/entry/src/main/js/default/pages/index/index.css
@@ -59,4 +59,4 @@
.gameover{
font-size: 40px;
color: #FF7500;
-}
\ No newline at end of file
+}
diff --git a/2048/entry/src/main/js/default/pages/index/index.hml b/2048/entry/src/main/js/default/pages/index/index.hml
index 72e7631..1f6a975 100644
--- a/2048/entry/src/main/js/default/pages/index/index.hml
+++ b/2048/entry/src/main/js/default/pages/index/index.hml
@@ -20,4 +20,4 @@
-
\ No newline at end of file
+
diff --git a/2048/entry/src/main/resources/base/element/string.json b/2048/entry/src/main/resources/base/element/string.json
index 3cf69c4..776da6a 100644
--- a/2048/entry/src/main/resources/base/element/string.json
+++ b/2048/entry/src/main/resources/base/element/string.json
@@ -1,8 +1,8 @@
{
"string": [
{
- "name": "entry_MainAbility",
- "value": "entry_MainAbility"
+ "name": "xcl2048",
+ "value": "xcl2048"
}
]
}
diff --git a/2048/entry/src/main/resources/base/media/icon.png b/2048/entry/src/main/resources/base/media/icon.png
index 7bd96fb..ce307a8 100644
Binary files a/2048/entry/src/main/resources/base/media/icon.png and b/2048/entry/src/main/resources/base/media/icon.png differ
diff --git a/2048/entry/src/main/resources/base/media/icon_small.png b/2048/entry/src/main/resources/base/media/icon_small.png
index 2a63a6b..0ed5fea 100644
Binary files a/2048/entry/src/main/resources/base/media/icon_small.png and b/2048/entry/src/main/resources/base/media/icon_small.png differ
diff --git a/MyApplication/gradle.properties b/2048/gradle.properties
similarity index 100%
rename from MyApplication/gradle.properties
rename to 2048/gradle.properties
diff --git a/MyApplication/gradle/wrapper/gradle-wrapper.jar b/2048/gradle/wrapper/gradle-wrapper.jar
similarity index 100%
rename from MyApplication/gradle/wrapper/gradle-wrapper.jar
rename to 2048/gradle/wrapper/gradle-wrapper.jar
diff --git a/MyApplication/gradle/wrapper/gradle-wrapper.properties b/2048/gradle/wrapper/gradle-wrapper.properties
similarity index 100%
rename from MyApplication/gradle/wrapper/gradle-wrapper.properties
rename to 2048/gradle/wrapper/gradle-wrapper.properties
diff --git a/MyApplication/gradlew b/2048/gradlew
similarity index 100%
rename from MyApplication/gradlew
rename to 2048/gradlew
diff --git a/MyApplication/gradlew.bat b/2048/gradlew.bat
similarity index 100%
rename from MyApplication/gradlew.bat
rename to 2048/gradlew.bat
diff --git a/MyApplication/package.json b/2048/package.json
similarity index 100%
rename from MyApplication/package.json
rename to 2048/package.json
diff --git a/MyApplication/settings.gradle b/2048/settings.gradle
similarity index 100%
rename from MyApplication/settings.gradle
rename to 2048/settings.gradle
diff --git a/MyApplication/entry/src/main/js/default/app.js b/MyApplication/entry/src/main/js/default/app.js
deleted file mode 100644
index 6d060ff..0000000
--- a/MyApplication/entry/src/main/js/default/app.js
+++ /dev/null
@@ -1,8 +0,0 @@
-export default {
- onCreate() {
- console.info("Application onCreate");
- },
- onDestroy() {
- console.info("Application onDestroy");
- }
-};
diff --git a/MyApplication/entry/src/main/js/default/pages/index/index.css b/MyApplication/entry/src/main/js/default/pages/index/index.css
deleted file mode 100644
index 6b3aea8..0000000
--- a/MyApplication/entry/src/main/js/default/pages/index/index.css
+++ /dev/null
@@ -1,62 +0,0 @@
-.container{
- width: 454px;
- height: 454px;
- flex-direction: column;
- justify-content: center;
- align-items: center;
-}
-.score{
- text-align: center;
- width: 234px;
- height: 30px;
- letter-spacing: 0px;
- margin-top: 4px;
- margin-bottom:6px;
-}
-.best{
- text-align: center;
- width: 234px;
- height: 30px;
- letter-spacing: 0px;
- margin-top: 19px;
-}
-.tile-wrap{
- width: 300px;
- height: 300px;
- flex-wrap: wrap;
- background-color: #FFFFFF;
-}
-.tile{
- width: 70px;
- height: 70px;
- margin-top: 4px;
- margin-left: 4px;
- justify-content: center;
- align-items: center;
-}
-.btn{
- width: 135px;
- height: 45px;
- background-color: #1F71FF;
- margin-top: 10px;
- margin-bottom: 10px;
-}
-.text{
- font-size: 30px;
- color: #000000;
-}
-.stack{
- width: 300px;
- height: 300px;
-}
-.subcontainer{
- width: 300px;
- height: 300px;
- justify-content: center;
- align-items: center;
- background-color: transparent;
-}
-.gameover{
- font-size: 40px;
- color: #FF7500;
-}
diff --git a/MyApplication/entry/src/main/js/default/pages/index/index.hml b/MyApplication/entry/src/main/js/default/pages/index/index.hml
deleted file mode 100644
index 1f6a975..0000000
--- a/MyApplication/entry/src/main/js/default/pages/index/index.hml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- Best:{{best}}
-
-
- Score:{{score}}
-
-
-
-
-
- {{$item.text}}
-
-
-
-
-
- Gameover!
-
-
-
-
-
diff --git a/MyApplication/entry/src/main/js/default/pages/index/index.js b/MyApplication/entry/src/main/js/default/pages/index/index.js
deleted file mode 100644
index 813d0fc..0000000
--- a/MyApplication/entry/src/main/js/default/pages/index/index.js
+++ /dev/null
@@ -1,127 +0,0 @@
-import brightness from '@system.brightness';
-let numbers,newNumbers;
-export default{
- data:{
- score:0,
- best:0,
- tiles:[],
- isShow:false,
- },
- onInit() {
- this.isShow=false;
- this.score=0;
- this.tiles=[{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""}];
- numbers=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
- newNumbers=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
- this.supplyNumber();
- this.supplyNumber();
- this.updateView();
- brightness.setKeepScreenOn({keepScreenOn: true,});
- brightness.setMode({mode: 1,});
- },
- supplyNumber(){
- let positions=[];
- for(let i=0;i<=15;i++){
- if(!newNumbers[i]) positions.push(i);
- }
- let h=Math.floor(Math.random()*positions.length);
- if (Math.random()<=0.8){
- newNumbers[positions[h]]=2;
- }else{
- newNumbers[positions[h]]=4;
- }
- },
- onSwipe(e) {
- newNumbers=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
- let start=0,differ=0,step=0;
- switch(e.direction){
- case 'left':
- start=0;
- differ=1;
- step=4;
- break;
- case 'right':
- start=3;
- differ=-1;
- step=4;
- break;
- case 'up':
- start=0;
- differ=4;
- step=1;
- break;
- case 'down':
- start=12;
- differ=-4;
- step=1;
- break;
- }
- let ids;
- for (let j=0;j<=3;j++){
- ids=this.getIds(start, differ);
- let before=null;
- let noZeros=0;
- for(let k=0;k<=3;k++){
- let id=ids[k];
- let number=numbers[id];
- if (number!=0){
- if(number==before){
- this.score+=number*2;
- newNumbers[ids[noZeros-1]]*=2;
- before=null;
- }else{
- newNumbers[ids[noZeros]]=number;
- before=number;
- noZeros+=1;
- }
- }
- }
- start+=step;
- }
- if(this.best>=this.score){
- this.best=this.best;
- }else{
- this.best=this.score;}
- if(numbers.toString()!=newNumbers.toString()){
- this.supplyNumber();
- this.updateView();
- newNumbers=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
- if(this.isGameOver()==true){this.isShow=true;}
- }
- },
- getIds(start, differ){
- let ids=[];
- for (let z=4;z>=1;z--){
- ids.push(start);
- start+=differ;
- }
- return ids;
- },
- updateView() {
- for (let x=0;x<=15;x++) {
- if (newNumbers[x]!=0){
- this.tiles[x].text=newNumbers[x].toString();
- }else{
- this.tiles[x].text="";
- }
- }
- numbers=newNumbers;
- },
- isGameOver(){
- if(this.isGridsFull()==true && this.isGridsNotMergeable()==true) return true;
- },
- isGridsFull(){
- if(numbers.indexOf(0)==-1){return true;}
- },
- isGridsNotMergeable(){
- for(let l=0;l<=15;l++){
- if(l<=14){
- if(numbers[l]==numbers[l+1]&&(l+1)%4!=0) return false;
- }
- if(l<=11){
- if(numbers[l]==numbers[l+4]) return false;
- }
- }
- return true;
- },
-}
\ No newline at end of file
diff --git a/MyApplication/entry/src/main/resources/base/element/string.json b/MyApplication/entry/src/main/resources/base/element/string.json
deleted file mode 100644
index 776da6a..0000000
--- a/MyApplication/entry/src/main/resources/base/element/string.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "string": [
- {
- "name": "xcl2048",
- "value": "xcl2048"
- }
- ]
-}
diff --git a/MyApplication/entry/src/main/resources/base/media/icon_small.png b/MyApplication/entry/src/main/resources/base/media/icon_small.png
deleted file mode 100644
index 0ed5fea..0000000
Binary files a/MyApplication/entry/src/main/resources/base/media/icon_small.png and /dev/null differ
diff --git a/MyApplication2/.gitignore b/MyApplication2/.gitignore
new file mode 100644
index 0000000..fdc0c4a
--- /dev/null
+++ b/MyApplication2/.gitignore
@@ -0,0 +1,16 @@
+*.iml
+.gradle
+/local.properties
+/.idea/caches
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
+.DS_Store
+/build
+/captures
+.externalNativeBuild
+/entry/.preview
+.cxx
+/node_modules
diff --git a/MyApplication2/.idea/compiler.xml b/MyApplication2/.idea/compiler.xml
new file mode 100644
index 0000000..fb7f4a8
--- /dev/null
+++ b/MyApplication2/.idea/compiler.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/MyApplication2/.idea/gradle.xml b/MyApplication2/.idea/gradle.xml
new file mode 100644
index 0000000..4657570
--- /dev/null
+++ b/MyApplication2/.idea/gradle.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/MyApplication2/.idea/inspectionProfiles/Project_Default.xml b/MyApplication2/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..6560a98
--- /dev/null
+++ b/MyApplication2/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/MyApplication2/.idea/jarRepositories.xml b/MyApplication2/.idea/jarRepositories.xml
new file mode 100644
index 0000000..19e238e
--- /dev/null
+++ b/MyApplication2/.idea/jarRepositories.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/MyApplication2/.idea/misc.xml b/MyApplication2/.idea/misc.xml
new file mode 100644
index 0000000..794aa67
--- /dev/null
+++ b/MyApplication2/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/MyApplication2/.idea/previewer/car/carSettingConfig_Car.json b/MyApplication2/.idea/previewer/car/carSettingConfig_Car.json
new file mode 100644
index 0000000..52ba22e
--- /dev/null
+++ b/MyApplication2/.idea/previewer/car/carSettingConfig_Car.json
@@ -0,0 +1,25 @@
+{
+ "setting": {
+ "1.0.1": {
+ "Language": {
+ "args": {
+ "Language": "zh-CN"
+ }
+ }
+ }
+ },
+ "frontend": {
+ "1.0.0": {
+ "Resolution": {
+ "args": {
+ "Resolution": "560*210"
+ }
+ },
+ "DeviceType": {
+ "args": {
+ "DeviceType": "car"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/MyApplication2/.idea/previewer/phone/phoneSettingConfig_MateX2.json b/MyApplication2/.idea/previewer/phone/phoneSettingConfig_MateX2.json
new file mode 100644
index 0000000..f505e6b
--- /dev/null
+++ b/MyApplication2/.idea/previewer/phone/phoneSettingConfig_MateX2.json
@@ -0,0 +1,25 @@
+{
+ "setting": {
+ "1.0.1": {
+ "Language": {
+ "args": {
+ "Language": "zh-CN"
+ }
+ }
+ }
+ },
+ "frontend": {
+ "1.0.0": {
+ "Resolution": {
+ "args": {
+ "Resolution": "360*780"
+ }
+ },
+ "DeviceType": {
+ "args": {
+ "DeviceType": "phone"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/MyApplication2/.idea/previewer/phone/phoneSettingConfig_P40.json b/MyApplication2/.idea/previewer/phone/phoneSettingConfig_P40.json
new file mode 100644
index 0000000..69beee7
--- /dev/null
+++ b/MyApplication2/.idea/previewer/phone/phoneSettingConfig_P40.json
@@ -0,0 +1,25 @@
+{
+ "setting": {
+ "1.0.1": {
+ "Language": {
+ "args": {
+ "Language": "zh_CN"
+ }
+ }
+ }
+ },
+ "frontend": {
+ "1.0.0": {
+ "Resolution": {
+ "args": {
+ "Resolution": "360*780"
+ }
+ },
+ "DeviceType": {
+ "args": {
+ "DeviceType": "phone"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/MyApplication2/.idea/previewer/previewConfigV2.json b/MyApplication2/.idea/previewer/previewConfigV2.json
new file mode 100644
index 0000000..e7d810a
--- /dev/null
+++ b/MyApplication2/.idea/previewer/previewConfigV2.json
@@ -0,0 +1,61 @@
+{
+ "1.0.0": {
+ "LastPreviewDevice": {}
+ },
+ "1.0.1": {
+ "profileList": [
+ {
+ "id": "P40",
+ "deviceType": "phone",
+ "width": 1080,
+ "height": 2340,
+ "shape": "rect",
+ "dpi": 480,
+ "orientation": "portrait",
+ "language": "zh_CN",
+ "colorMode": "light"
+ },
+ {
+ "id": "MateX2",
+ "deviceType": "phone",
+ "width": 2200,
+ "height": 2480,
+ "shape": "rect",
+ "dpi": 520,
+ "orientation": "portrait",
+ "language": "zh_CN",
+ "colorMode": "light"
+ },
+ {
+ "id": "MatePadPro",
+ "deviceType": "tablet",
+ "width": 2560,
+ "height": 1600,
+ "shape": "rect",
+ "dpi": 400,
+ "orientation": "landscape",
+ "language": "zh_CN",
+ "colorMode": "light"
+ },
+ {
+ "id": "Car",
+ "deviceType": "car",
+ "width": 1920,
+ "height": 1080,
+ "shape": "rect",
+ "dpi": 320,
+ "orientation": "landscape",
+ "language": "zh_CN",
+ "colorMode": "light"
+ }
+ ],
+ "runningProfileList": [
+ "MatePadPro"
+ ],
+ "availableProfileList": [
+ "P40",
+ "MateX2",
+ "Car"
+ ]
+ }
+}
\ No newline at end of file
diff --git a/MyApplication2/.idea/previewer/tablet/tabletSettingConfig_MatePadPro.json b/MyApplication2/.idea/previewer/tablet/tabletSettingConfig_MatePadPro.json
new file mode 100644
index 0000000..278b671
--- /dev/null
+++ b/MyApplication2/.idea/previewer/tablet/tabletSettingConfig_MatePadPro.json
@@ -0,0 +1,25 @@
+{
+ "setting": {
+ "1.0.1": {
+ "Language": {
+ "args": {
+ "Language": "zh_CN"
+ }
+ }
+ }
+ },
+ "frontend": {
+ "1.0.0": {
+ "Resolution": {
+ "args": {
+ "Resolution": "1024*640"
+ }
+ },
+ "DeviceType": {
+ "args": {
+ "DeviceType": "tablet"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/MyApplication2/.idea/sonarlint/issuestore/5/a/5a23289f502d2e872143affcd50a19875f5d1ff8 b/MyApplication2/.idea/sonarlint/issuestore/5/a/5a23289f502d2e872143affcd50a19875f5d1ff8
new file mode 100644
index 0000000..09dd402
--- /dev/null
+++ b/MyApplication2/.idea/sonarlint/issuestore/5/a/5a23289f502d2e872143affcd50a19875f5d1ff8
@@ -0,0 +1,5 @@
+
+>
+java:S1185"(Remove this method to simply inherit it.(
+C
+java:S1185
"(Remove this method to simply inherit it.(
\ No newline at end of file
diff --git a/MyApplication2/.idea/sonarlint/issuestore/7/f/7f7cc7c9e317933376e78ae696bbfd1eb4dbe2f8 b/MyApplication2/.idea/sonarlint/issuestore/7/f/7f7cc7c9e317933376e78ae696bbfd1eb4dbe2f8
new file mode 100644
index 0000000..e69de29
diff --git a/MyApplication2/.idea/sonarlint/issuestore/d/7/d77cdca7276233d104244446a722b5ff26e214d5 b/MyApplication2/.idea/sonarlint/issuestore/d/7/d77cdca7276233d104244446a722b5ff26e214d5
new file mode 100644
index 0000000..e69de29
diff --git a/MyApplication2/.idea/sonarlint/issuestore/index.pb b/MyApplication2/.idea/sonarlint/issuestore/index.pb
new file mode 100644
index 0000000..1eff671
--- /dev/null
+++ b/MyApplication2/.idea/sonarlint/issuestore/index.pb
@@ -0,0 +1,7 @@
+
+q
+Aentry/src/main/java/com/xclexample/myapplication/MainAbility.java,5\a\5a23289f502d2e872143affcd50a19875f5d1ff8
+R
+"entry/src/main/ets/default/app.ets,d\7\d77cdca7276233d104244446a722b5ff26e214d5
+Z
+*entry/src/main/ets/default/pages/index.ets,7\f\7f7cc7c9e317933376e78ae696bbfd1eb4dbe2f8
\ No newline at end of file
diff --git a/MyApplication2/.idea/vcs.xml b/MyApplication2/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/MyApplication2/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/MyApplication2/build.gradle b/MyApplication2/build.gradle
new file mode 100644
index 0000000..d675b48
--- /dev/null
+++ b/MyApplication2/build.gradle
@@ -0,0 +1,33 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+apply plugin: 'com.huawei.ohos.app'
+
+//For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section1112183053510
+ohos {
+ compileSdkVersion 7
+}
+
+buildscript {
+ repositories {
+ maven {
+ url 'https://repo.huaweicloud.com/repository/maven/'
+ }
+ maven {
+ url 'https://developer.huawei.com/repo/'
+ }
+ }
+ dependencies {
+ classpath 'com.huawei.ohos:hap:3.0.3.4'
+ classpath 'com.huawei.ohos:decctest:1.2.6.0'
+ }
+}
+
+allprojects {
+ repositories {
+ maven {
+ url 'https://repo.huaweicloud.com/repository/maven/'
+ }
+ maven {
+ url 'https://developer.huawei.com/repo/'
+ }
+ }
+}
diff --git a/MyApplication2/entry/.gitignore b/MyApplication2/entry/.gitignore
new file mode 100644
index 0000000..7d5b7a9
--- /dev/null
+++ b/MyApplication2/entry/.gitignore
@@ -0,0 +1,2 @@
+/build
+/node_modules
diff --git a/MyApplication2/entry/build.gradle b/MyApplication2/entry/build.gradle
new file mode 100644
index 0000000..31f1266
--- /dev/null
+++ b/MyApplication2/entry/build.gradle
@@ -0,0 +1,26 @@
+apply plugin: 'com.huawei.ohos.hap'
+apply plugin: 'com.huawei.ohos.decctest'
+//For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section1112183053510
+ohos {
+ compileSdkVersion 7
+ defaultConfig {
+ compatibleSdkVersion 7
+ }
+ buildTypes {
+ release {
+ proguardOpt {
+ proguardEnabled false
+ rulesFiles 'proguard-rules.pro'
+ }
+ }
+ }
+}
+
+dependencies {
+ implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
+ testImplementation 'junit:junit:4.13.1'
+ ohosTestImplementation 'com.huawei.ohos.testkit:runner:1.0.0.200'
+}
+decc {
+ supportType = ['html','xml']
+}
diff --git a/MyApplication2/entry/proguard-rules.pro b/MyApplication2/entry/proguard-rules.pro
new file mode 100644
index 0000000..f7666e4
--- /dev/null
+++ b/MyApplication2/entry/proguard-rules.pro
@@ -0,0 +1 @@
+# config module specific ProGuard rules here.
\ No newline at end of file
diff --git a/MyApplication2/entry/src/main/config.json b/MyApplication2/entry/src/main/config.json
new file mode 100644
index 0000000..7e69e16
--- /dev/null
+++ b/MyApplication2/entry/src/main/config.json
@@ -0,0 +1,64 @@
+{
+ "app": {
+ "bundleName": "com.xclexample.myapplication",
+ "vendor": "xclexample",
+ "version": {
+ "code": 1000000,
+ "name": "1.0.0"
+ }
+ },
+ "deviceConfig": {},
+ "module": {
+ "package": "com.xclexample.myapplication",
+ "name": ".MyApplication",
+ "mainAbility": "com.xclexample.myapplication.MainAbility",
+ "deviceType": [
+ "phone",
+ "tablet",
+ "car"
+ ],
+ "distro": {
+ "deliveryWithInstall": true,
+ "moduleName": "entry",
+ "moduleType": "entry",
+ "installationFree": false
+ },
+ "abilities": [
+ {
+ "skills": [
+ {
+ "entities": [
+ "entity.system.home"
+ ],
+ "actions": [
+ "action.system.home"
+ ]
+ }
+ ],
+ "visible": true,
+ "name": "com.xclexample.myapplication.MainAbility",
+ "icon": "$media:icon",
+ "description": "$string:mainability_description",
+ "label": "$string:entry_MainAbility",
+ "type": "page",
+ "launchType": "standard"
+ }
+ ],
+ "js": [
+ {
+ "mode": {
+ "syntax": "ets",
+ "type": "pageAbility"
+ },
+ "pages": [
+ "pages/index"
+ ],
+ "name": "default",
+ "window": {
+ "designWidth": 720,
+ "autoDesignWidth": false
+ }
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/MyApplication2/entry/src/main/ets/default/app.ets b/MyApplication2/entry/src/main/ets/default/app.ets
new file mode 100644
index 0000000..0be61a6
--- /dev/null
+++ b/MyApplication2/entry/src/main/ets/default/app.ets
@@ -0,0 +1,8 @@
+export default {
+ onCreate() {
+ console.info('Application onCreate')
+ },
+ onDestroy() {
+ console.info('Application onDestroy')
+ },
+}
diff --git a/MyApplication2/entry/src/main/ets/default/pages/index.ets b/MyApplication2/entry/src/main/ets/default/pages/index.ets
new file mode 100644
index 0000000..59a509b
--- /dev/null
+++ b/MyApplication2/entry/src/main/ets/default/pages/index.ets
@@ -0,0 +1,13 @@
+@Entry
+@Component
+struct Index {
+ build() {
+ Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
+ Text('Hello World')
+ .fontSize(50)
+ .fontWeight(FontWeight.Bold)
+ }
+ .width('100%')
+ .height('100%')
+ }
+}
\ No newline at end of file
diff --git a/MyApplication2/entry/src/main/java/com/xclexample/myapplication/MainAbility.java b/MyApplication2/entry/src/main/java/com/xclexample/myapplication/MainAbility.java
new file mode 100644
index 0000000..b9e0d22
--- /dev/null
+++ b/MyApplication2/entry/src/main/java/com/xclexample/myapplication/MainAbility.java
@@ -0,0 +1,16 @@
+package com.xclexample.myapplication;
+
+import ohos.ace.ability.AceAbility;
+import ohos.aafwk.content.Intent;
+
+public class MainAbility extends AceAbility {
+ @Override
+ public void onStart(Intent intent) {
+ super.onStart(intent);
+ }
+
+ @Override
+ public void onStop() {
+ super.onStop();
+ }
+}
diff --git a/MyApplication2/entry/src/main/java/com/xclexample/myapplication/MyApplication.java b/MyApplication2/entry/src/main/java/com/xclexample/myapplication/MyApplication.java
new file mode 100644
index 0000000..4d95a0d
--- /dev/null
+++ b/MyApplication2/entry/src/main/java/com/xclexample/myapplication/MyApplication.java
@@ -0,0 +1,10 @@
+package com.xclexample.myapplication;
+
+import ohos.aafwk.ability.AbilityPackage;
+
+public class MyApplication extends AbilityPackage {
+ @Override
+ public void onInitialize() {
+ super.onInitialize();
+ }
+}
diff --git a/src/main/resources/base/element/string.json b/MyApplication2/entry/src/main/resources/base/element/string.json
similarity index 53%
rename from src/main/resources/base/element/string.json
rename to MyApplication2/entry/src/main/resources/base/element/string.json
index 2be18c1..14277b0 100644
--- a/src/main/resources/base/element/string.json
+++ b/MyApplication2/entry/src/main/resources/base/element/string.json
@@ -1,8 +1,12 @@
-{
- "string": [
- {
- "name": "entry_MainAbility",
- "value": "entry_MainAbility"
- }
- ]
-}
+{
+ "string": [
+ {
+ "name": "entry_MainAbility",
+ "value": "entry_MainAbility"
+ },
+ {
+ "name": "mainability_description",
+ "value": "ETS_Empty Ability"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/MyApplication/entry/src/main/resources/base/media/icon.png b/MyApplication2/entry/src/main/resources/base/media/icon.png
similarity index 100%
rename from MyApplication/entry/src/main/resources/base/media/icon.png
rename to MyApplication2/entry/src/main/resources/base/media/icon.png
diff --git a/MyApplication2/entry/src/main/resources/base/media/icon1.png b/MyApplication2/entry/src/main/resources/base/media/icon1.png
new file mode 100644
index 0000000..ce307a8
Binary files /dev/null and b/MyApplication2/entry/src/main/resources/base/media/icon1.png differ
diff --git a/MyApplication2/entry/src/main/resources/base/media/icon2.png b/MyApplication2/entry/src/main/resources/base/media/icon2.png
new file mode 100644
index 0000000..ce307a8
Binary files /dev/null and b/MyApplication2/entry/src/main/resources/base/media/icon2.png differ
diff --git a/MyApplication2/entry/src/ohosTest/ets/default/app.ets b/MyApplication2/entry/src/ohosTest/ets/default/app.ets
new file mode 100644
index 0000000..8658c07
--- /dev/null
+++ b/MyApplication2/entry/src/ohosTest/ets/default/app.ets
@@ -0,0 +1,11 @@
+export default {
+ onCreate() {
+ console.info('Application onCreate')
+ },
+ onShow() {
+ console.info('Application onShow')
+ },
+ onDestroy() {
+ console.info('Application onDestroy')
+ },
+}
diff --git a/MyApplication2/entry/src/ohosTest/ets/default/i18n/en-US.json b/MyApplication2/entry/src/ohosTest/ets/default/i18n/en-US.json
new file mode 100644
index 0000000..55561b8
--- /dev/null
+++ b/MyApplication2/entry/src/ohosTest/ets/default/i18n/en-US.json
@@ -0,0 +1,8 @@
+{
+ "strings": {
+ "hello": "Hello",
+ "world": "World"
+ },
+ "Files": {
+ }
+}
\ No newline at end of file
diff --git a/MyApplication2/entry/src/ohosTest/ets/default/i18n/zh-CN.json b/MyApplication2/entry/src/ohosTest/ets/default/i18n/zh-CN.json
new file mode 100644
index 0000000..cce1af0
--- /dev/null
+++ b/MyApplication2/entry/src/ohosTest/ets/default/i18n/zh-CN.json
@@ -0,0 +1,8 @@
+{
+ "strings": {
+ "hello": "您好",
+ "world": "世界"
+ },
+ "Files": {
+ }
+}
\ No newline at end of file
diff --git a/MyApplication2/entry/src/ohosTest/ets/default/pages/index/index.ets b/MyApplication2/entry/src/ohosTest/ets/default/pages/index/index.ets
new file mode 100644
index 0000000..9dd60d2
--- /dev/null
+++ b/MyApplication2/entry/src/ohosTest/ets/default/pages/index/index.ets
@@ -0,0 +1,51 @@
+import {Core, ExpectExtend, InstrumentLog} from "deccjsunit/index"
+import testsuite from "../../../test/List.test.ets"
+import app from '@system.app'
+import featureAbility from "@ohos.ability.featureAbility"
+
+@Entry
+@Component
+struct MyComponent {
+ aboutToAppear() {
+ console.info("start run testcase!!!!")
+ featureAbility.getWant()
+ .then((Want) => {
+ const core = Core.getInstance()
+ const instrumentLog = new InstrumentLog({
+ 'id': 'report', 'unity': 'true'
+ })
+ const expectExtend = new ExpectExtend({
+ 'id': 'extend'
+ })
+ core.addService('expect', expectExtend)
+ core.addService('report', instrumentLog)
+ core.init()
+ core.subscribeEvent('spec', instrumentLog)
+ core.subscribeEvent('suite', instrumentLog)
+ core.subscribeEvent('task', instrumentLog)
+ const configService = core.getDefaultService('config')
+ configService.setConfig(Want.parameters)
+ testsuite()
+ core.execute()
+ console.info('Operation successful. Data: ' + JSON.stringify(Want));
+ })
+ .catch((error) => {
+ console.error('Operation failed. Cause: ' + JSON.stringify(error));
+ })
+ }
+
+ build() {
+ Flex({
+ direction: FlexDirection.Column,
+ alignItems: ItemAlign.Center,
+ justifyContent: FlexAlign.Center
+ }) {
+ Text('Hello World')
+ .fontSize(50)
+ .fontWeight(FontWeight.Bold)
+ }
+ .width('100%')
+ .height('100%')
+ }
+}
+
diff --git a/MyApplication2/entry/src/ohosTest/ets/test/ExampleJsunit.test.ets b/MyApplication2/entry/src/ohosTest/ets/test/ExampleJsunit.test.ets
new file mode 100644
index 0000000..018aba5
--- /dev/null
+++ b/MyApplication2/entry/src/ohosTest/ets/test/ExampleJsunit.test.ets
@@ -0,0 +1,12 @@
+import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from "deccjsunit/index"
+import app from '@system.app'
+
+export default function exampleJsunit() {
+ describe('appInfoTest', function () {
+ it('app_info_test_001', 0, function () {
+ var info = app.getInfo()
+ expect("1.0").assertEqual('1.0')
+ expect(info.versionCode).assertEqual('3')
+ })
+ })
+}
\ No newline at end of file
diff --git a/MyApplication2/entry/src/ohosTest/ets/test/List.test.ets b/MyApplication2/entry/src/ohosTest/ets/test/List.test.ets
new file mode 100644
index 0000000..c962211
--- /dev/null
+++ b/MyApplication2/entry/src/ohosTest/ets/test/List.test.ets
@@ -0,0 +1,5 @@
+import exampleJsunit from "../test/ExampleJsunit.test.ets"
+
+export default function testsuite() {
+ exampleJsunit()
+}
\ No newline at end of file
diff --git a/MyApplication2/entry/src/ohosTest/java/com/xclexample/myapplication/ExampleOhosTest.java b/MyApplication2/entry/src/ohosTest/java/com/xclexample/myapplication/ExampleOhosTest.java
new file mode 100644
index 0000000..0ae9075
--- /dev/null
+++ b/MyApplication2/entry/src/ohosTest/java/com/xclexample/myapplication/ExampleOhosTest.java
@@ -0,0 +1,14 @@
+package com.xclexample.myapplication;
+
+import ohos.aafwk.ability.delegation.AbilityDelegatorRegistry;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class ExampleOhosTest {
+ @Test
+ public void testBundleName() {
+ final String actualBundleName = AbilityDelegatorRegistry.getArguments().getTestBundleName();
+ assertEquals("com.xclexample.myapplication", actualBundleName);
+ }
+}
\ No newline at end of file
diff --git a/MyApplication2/entry/src/ohosTest/resources/base/element/string.json b/MyApplication2/entry/src/ohosTest/resources/base/element/string.json
new file mode 100644
index 0000000..4388f58
--- /dev/null
+++ b/MyApplication2/entry/src/ohosTest/resources/base/element/string.json
@@ -0,0 +1,12 @@
+{
+ "string": [
+ {
+ "name": "app_name",
+ "value": "MyApplication"
+ },
+ {
+ "name": "mainability_description",
+ "value": "hap sample empty page"
+ }
+ ]
+}
diff --git a/MyApplication2/entry/src/ohosTest/resources/base/media/icon.png b/MyApplication2/entry/src/ohosTest/resources/base/media/icon.png
new file mode 100644
index 0000000..ce307a8
Binary files /dev/null and b/MyApplication2/entry/src/ohosTest/resources/base/media/icon.png differ
diff --git a/MyApplication2/gradle.properties b/MyApplication2/gradle.properties
new file mode 100644
index 0000000..be49249
--- /dev/null
+++ b/MyApplication2/gradle.properties
@@ -0,0 +1,13 @@
+# Project-wide Gradle settings.
+# IDE (e.g. DevEco Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+# If the Chinese output is garbled, please configure the following parameter.
+# This function is enabled by default when the DevEco Studio builds the hap/app,if you need disable gradle parallel,you should set org.gradle.parallel false.
+# more information see https://docs.gradle.org/current/userguide/performance.html
+# org.gradle.parallel=false
+# org.gradle.jvmargs=-Dfile.encoding=GBK
\ No newline at end of file
diff --git a/MyApplication2/gradle/wrapper/gradle-wrapper.jar b/MyApplication2/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000..490fda8
Binary files /dev/null and b/MyApplication2/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/MyApplication2/gradle/wrapper/gradle-wrapper.properties b/MyApplication2/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..f59159e
--- /dev/null
+++ b/MyApplication2/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,5 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://repo.huaweicloud.com/gradle/gradle-6.3-bin.zip
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/MyApplication2/gradlew b/MyApplication2/gradlew
new file mode 100644
index 0000000..536f027
--- /dev/null
+++ b/MyApplication2/gradlew
@@ -0,0 +1,183 @@
+#!/usr/bin/env sh
+
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ]; do
+ ls=$(ls -ld "$PRG")
+ link=$(expr "$ls" : '.*-> \(.*\)$')
+ if expr "$link" : '/.*' >/dev/null; then
+ PRG="$link"
+ else
+ PRG=$(dirname "$PRG")"/$link"
+ fi
+done
+SAVED="$(pwd)"
+cd "$(dirname \"$PRG\")/" >/dev/null
+APP_HOME="$(pwd -P)"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=$(basename "$0")
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn() {
+ echo "$*"
+}
+
+die() {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "$(uname)" in
+CYGWIN*)
+ cygwin=true
+ ;;
+Darwin*)
+ darwin=true
+ ;;
+MINGW*)
+ msys=true
+ ;;
+NONSTOP*)
+ nonstop=true
+ ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ]; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ]; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ]; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ]; then
+ MAX_FD_LIMIT=$(ulimit -H -n)
+ if [ $? -eq 0 ]; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ]; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ]; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ]; then
+ APP_HOME=$(cygpath --path --mixed "$APP_HOME")
+ CLASSPATH=$(cygpath --path --mixed "$CLASSPATH")
+ JAVACMD=$(cygpath --unix "$JAVACMD")
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=$(find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null)
+ SEP=""
+ for dir in $ROOTDIRSRAW; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ]; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@"; do
+ CHECK=$(echo "$arg" | egrep -c "$OURCYGPATTERN" -)
+ CHECK2=$(echo "$arg" | egrep -c "^-") ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ]; then ### Added a condition
+ eval $(echo args$i)=$(cygpath --path --ignore --mixed "$arg")
+ else
+ eval $(echo args$i)="\"$arg\""
+ fi
+ i=$(expr $i + 1)
+ done
+ case $i in
+ 0) set -- ;;
+ 1) set -- "$args0" ;;
+ 2) set -- "$args0" "$args1" ;;
+ 3) set -- "$args0" "$args1" "$args2" ;;
+ 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Escape application args
+save() {
+ for i; do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/"; done
+ echo " "
+}
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+exec "$JAVACMD" "$@"
diff --git a/MyApplication2/gradlew.bat b/MyApplication2/gradlew.bat
new file mode 100644
index 0000000..62bd9b9
--- /dev/null
+++ b/MyApplication2/gradlew.bat
@@ -0,0 +1,103 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windows variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/MyApplication2/package.json b/MyApplication2/package.json
new file mode 100644
index 0000000..0967ef4
--- /dev/null
+++ b/MyApplication2/package.json
@@ -0,0 +1 @@
+{}
diff --git a/MyApplication2/settings.gradle b/MyApplication2/settings.gradle
new file mode 100644
index 0000000..4773db7
--- /dev/null
+++ b/MyApplication2/settings.gradle
@@ -0,0 +1 @@
+include ':entry'
diff --git a/index.css b/index.css
deleted file mode 100644
index 6b3aea8..0000000
--- a/index.css
+++ /dev/null
@@ -1,62 +0,0 @@
-.container{
- width: 454px;
- height: 454px;
- flex-direction: column;
- justify-content: center;
- align-items: center;
-}
-.score{
- text-align: center;
- width: 234px;
- height: 30px;
- letter-spacing: 0px;
- margin-top: 4px;
- margin-bottom:6px;
-}
-.best{
- text-align: center;
- width: 234px;
- height: 30px;
- letter-spacing: 0px;
- margin-top: 19px;
-}
-.tile-wrap{
- width: 300px;
- height: 300px;
- flex-wrap: wrap;
- background-color: #FFFFFF;
-}
-.tile{
- width: 70px;
- height: 70px;
- margin-top: 4px;
- margin-left: 4px;
- justify-content: center;
- align-items: center;
-}
-.btn{
- width: 135px;
- height: 45px;
- background-color: #1F71FF;
- margin-top: 10px;
- margin-bottom: 10px;
-}
-.text{
- font-size: 30px;
- color: #000000;
-}
-.stack{
- width: 300px;
- height: 300px;
-}
-.subcontainer{
- width: 300px;
- height: 300px;
- justify-content: center;
- align-items: center;
- background-color: transparent;
-}
-.gameover{
- font-size: 40px;
- color: #FF7500;
-}
diff --git a/index.hml b/index.hml
deleted file mode 100644
index 1f6a975..0000000
--- a/index.hml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- Best:{{best}}
-
-
- Score:{{score}}
-
-
-
-
-
- {{$item.text}}
-
-
-
-
-
- Gameover!
-
-
-
-
-
diff --git a/index.js b/index.js
deleted file mode 100644
index 08b7a78..0000000
--- a/index.js
+++ /dev/null
@@ -1,127 +0,0 @@
-import brightness from '@system.brightness';
-let numbers,newNumbers;
-export default{
- data:{
- score:0,
- best:0,
- tiles:[],
- isShow:false,
- },
- onInit() {
- this.isShow=false;
- this.score=0;
- this.tiles=[{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""}];
- numbers=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
- newNumbers=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
- this.supplyNumber();
- this.supplyNumber();
- this.updateView();
- brightness.setKeepScreenOn({keepScreenOn: true,});
- brightness.setMode({mode: 1,});
- },
- supplyNumber(){
- let positions=[];
- for(let i=0;i<=15;i++){
- if(!newNumbers[i]) positions.push(i);
- }
- let h=Math.floor(Math.random()*positions.length);
- if (Math.random()<=0.8){
- newNumbers[positions[h]]=2;
- }else{
- newNumbers[positions[h]]=4;
- }
- },
- onSwipe(e) {
- newNumbers=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
- let start=0,differ=0,step=0;
- switch(e.direction){
- case 'left':
- start=0;
- differ=1;
- step=4;
- break;
- case 'right':
- start=3;
- differ=-1;
- step=4;
- break;
- case 'up':
- start=0;
- differ=4;
- step=1;
- break;
- case 'down':
- start=12;
- differ=-4;
- step=1;
- break;
- }
- let ids;
- for (let j=0;j<=3;j++){
- ids=this.getIds(start, differ);
- let before=null;
- let noZeros=0;
- for(let k=0;k<=3;k++){
- let id=ids[k];
- let number=numbers[id];
- if (number!=0){
- if(number==before){
- this.score+=number*2;
- newNumbers[ids[noZeros-1]]*=2;
- before=null;
- }else{
- newNumbers[ids[noZeros]]=number;
- before=number;
- noZeros+=1;
- }
- }
- }
- start+=step;
- }
- if(this.best>=this.score){
- this.best=this.best;
- }else{
- this.best=this.score;}
- if(numbers.toString()!=newNumbers.toString()){
- this.supplyNumber();
- this.updateView();
- newNumbers=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
- if(this.isGameOver()==true){this.isShow=true;}
- }
- },
- getIds(start, differ){
- let ids=[];
- for (let z=4;z>=1;z--){
- ids.push(start);
- start+=differ;
- }
- return ids;
- },
- updateView() {
- for (let x=0;x<=15;x++) {
- if (newNumbers[x]!=0){
- this.tiles[x].text=newNumbers[x].toString();
- }else{
- this.tiles[x].text="";
- }
- }
- numbers=newNumbers;
- },
- isGameOver(){
- if(this.isGridsFull()==true && this.isGridsNotMergeable()==true) return true;
- },
- isGridsFull(){
- if(numbers.indexOf(0)==-1){return true;}
- },
- isGridsNotMergeable(){
- for(let l=0;l<=15;l++){
- if(l<=14){
- if(numbers[l]==numbers[l+1]&&(l+1)%4!=0) return false;
- }
- if(l<=11){
- if(numbers[l]==numbers[l+4]) return false;
- }
- }
- return true;
- },
-}
diff --git a/src/main/config.json b/src/main/config.json
deleted file mode 100644
index 7c6daca..0000000
--- a/src/main/config.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "app": {
- "apiVersion": {
- "compatible": 3,
- "target": 4,
- "releaseType": "Release"
- },
- "bundleName": "my.game20481.myapplication",
- "vendor": "game20481",
- "version": {
- "code": 1000000,
- "name": "1.0.0"
- }
- },
- "deviceConfig": {},
- "module": {
- "deviceType": [
- "liteWearable"
- ],
- "distro": {
- "deliveryWithInstall": true,
- "moduleName": "entry",
- "moduleType": "entry"
- },
- "abilities": [
- {
- "name": "default",
- "icon": "$media:icon",
- "label": "$string:entry_MainAbility",
- "type": "page"
- }
- ],
- "js": [
- {
- "pages": [
- "pages/index/index"
- ],
- "name": "default"
- }
- ]
- }
-}
\ No newline at end of file
diff --git a/src/main/js/default/app.js b/src/main/js/default/app.js
deleted file mode 100644
index 6d060ff..0000000
--- a/src/main/js/default/app.js
+++ /dev/null
@@ -1,8 +0,0 @@
-export default {
- onCreate() {
- console.info("Application onCreate");
- },
- onDestroy() {
- console.info("Application onDestroy");
- }
-};
diff --git a/src/main/js/default/pages/index/index.css b/src/main/js/default/pages/index/index.css
deleted file mode 100644
index 5cf9016..0000000
--- a/src/main/js/default/pages/index/index.css
+++ /dev/null
@@ -1,62 +0,0 @@
-.container{
- width: 454px;
- height: 454px;
- flex-direction: column;
- justify-content: center;
- align-items: center;
-}
-.score{
- text-align: center;
- width: 234px;
- height: 30px;
- letter-spacing: 0px;
- margin-top: 4px;
- margin-bottom:6px;
-}
-.best{
- text-align: center;
- width: 234px;
- height: 30px;
- letter-spacing: 0px;
- margin-top: 19px;
-}
-.tile-wrap{
- width: 300px;
- height: 300px;
- flex-wrap: wrap;
- background-color: #FFFFFF;
-}
-.tile{
- width: 70px;
- height: 70px;
- margin-top: 4px;
- margin-left: 4px;
- justify-content: center;
- align-items: center;
-}
-.btn{
- width: 135px;
- height: 45px;
- background-color: #1F71FF;
- margin-top: 10px;
- margin-bottom: 10px;
-}
-.text{
- font-size: 30px;
- color: #000000;
-}
-.stack{
- width: 300px;
- height: 300px;
-}
-.subcontainer{
- width: 300px;
- height: 300px;
- justify-content: center;
- align-items: center;
- background-color: transparent;
-}
-.gameover{
- font-size: 40px;
- color: #FF7500;
-}
\ No newline at end of file
diff --git a/src/main/js/default/pages/index/index.hml b/src/main/js/default/pages/index/index.hml
deleted file mode 100644
index 72e7631..0000000
--- a/src/main/js/default/pages/index/index.hml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- Best:{{best}}
-
-
- Score:{{score}}
-
-
-
-
-
- {{$item.text}}
-
-
-
-
-
- Gameover!
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/js/default/pages/index/index.js b/src/main/js/default/pages/index/index.js
deleted file mode 100644
index 813d0fc..0000000
--- a/src/main/js/default/pages/index/index.js
+++ /dev/null
@@ -1,127 +0,0 @@
-import brightness from '@system.brightness';
-let numbers,newNumbers;
-export default{
- data:{
- score:0,
- best:0,
- tiles:[],
- isShow:false,
- },
- onInit() {
- this.isShow=false;
- this.score=0;
- this.tiles=[{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""},{text:""}];
- numbers=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
- newNumbers=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
- this.supplyNumber();
- this.supplyNumber();
- this.updateView();
- brightness.setKeepScreenOn({keepScreenOn: true,});
- brightness.setMode({mode: 1,});
- },
- supplyNumber(){
- let positions=[];
- for(let i=0;i<=15;i++){
- if(!newNumbers[i]) positions.push(i);
- }
- let h=Math.floor(Math.random()*positions.length);
- if (Math.random()<=0.8){
- newNumbers[positions[h]]=2;
- }else{
- newNumbers[positions[h]]=4;
- }
- },
- onSwipe(e) {
- newNumbers=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
- let start=0,differ=0,step=0;
- switch(e.direction){
- case 'left':
- start=0;
- differ=1;
- step=4;
- break;
- case 'right':
- start=3;
- differ=-1;
- step=4;
- break;
- case 'up':
- start=0;
- differ=4;
- step=1;
- break;
- case 'down':
- start=12;
- differ=-4;
- step=1;
- break;
- }
- let ids;
- for (let j=0;j<=3;j++){
- ids=this.getIds(start, differ);
- let before=null;
- let noZeros=0;
- for(let k=0;k<=3;k++){
- let id=ids[k];
- let number=numbers[id];
- if (number!=0){
- if(number==before){
- this.score+=number*2;
- newNumbers[ids[noZeros-1]]*=2;
- before=null;
- }else{
- newNumbers[ids[noZeros]]=number;
- before=number;
- noZeros+=1;
- }
- }
- }
- start+=step;
- }
- if(this.best>=this.score){
- this.best=this.best;
- }else{
- this.best=this.score;}
- if(numbers.toString()!=newNumbers.toString()){
- this.supplyNumber();
- this.updateView();
- newNumbers=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
- if(this.isGameOver()==true){this.isShow=true;}
- }
- },
- getIds(start, differ){
- let ids=[];
- for (let z=4;z>=1;z--){
- ids.push(start);
- start+=differ;
- }
- return ids;
- },
- updateView() {
- for (let x=0;x<=15;x++) {
- if (newNumbers[x]!=0){
- this.tiles[x].text=newNumbers[x].toString();
- }else{
- this.tiles[x].text="";
- }
- }
- numbers=newNumbers;
- },
- isGameOver(){
- if(this.isGridsFull()==true && this.isGridsNotMergeable()==true) return true;
- },
- isGridsFull(){
- if(numbers.indexOf(0)==-1){return true;}
- },
- isGridsNotMergeable(){
- for(let l=0;l<=15;l++){
- if(l<=14){
- if(numbers[l]==numbers[l+1]&&(l+1)%4!=0) return false;
- }
- if(l<=11){
- if(numbers[l]==numbers[l+4]) return false;
- }
- }
- return true;
- },
-}
\ No newline at end of file
diff --git a/src/main/resources/base/media/icon.png b/src/main/resources/base/media/icon.png
deleted file mode 100644
index 7bd96fb..0000000
Binary files a/src/main/resources/base/media/icon.png and /dev/null differ
diff --git a/src/main/resources/base/media/icon_small.png b/src/main/resources/base/media/icon_small.png
deleted file mode 100644
index 2a63a6b..0000000
Binary files a/src/main/resources/base/media/icon_small.png and /dev/null differ