From 3f2060c8b2d746832dce8ac1ef799f4f4a4b8beb Mon Sep 17 00:00:00 2001 From: TxZgX Date: Thu, 18 Nov 2021 10:22:47 +0800 Subject: [PATCH] 2048-f --- {MyApplication => 2048}/.gitignore | 0 {MyApplication => 2048}/.idea/compiler.xml | 0 {MyApplication => 2048}/.idea/gradle.xml | 0 .../inspectionProfiles/Project_Default.xml | 0 .../.idea/jarRepositories.xml | 0 {MyApplication => 2048}/.idea/misc.xml | 0 .../liteWearableSettingConfig_rd.json | 83 ++++++++ 2048/.idea/previewer/previewConfigV2.json | 11 ++ .../037eb38d22a90ee435a04f5160df2347025c27e5 | 0 .../05efc8b1657769a27696d478ded1e95f38737233 | 0 .../10f965cf51fe14a5ef0ca2ebefb1bd7e4607eeb2 | 0 .../1a0bfe7a027837ed647b6bd5b6e2500c8555362e | 0 .../2a45a911a8f1836b0b6c5b758962572012d8f8c3 | 0 .../2afbb999f001938c88fa43fc2ef52abf0f8213e4 | 0 .../36d48c2c0aa8cb6b91428b9d2d791dcae782d636 | 8 + .../496a238a6afa168dbaf6efd37bb459331589579c | 0 .../53c2f15f1da3e1de172f90feee9cf4143c3029f0 | 0 .../5bbfa66edb4db3c7c33c5181f43510990d3307f9 | 0 .../7030d0b2f71b999ff89a343de08c414af32fc93a | 0 .../a5cc2925ca8258af241be7e5b0381edf30266302 | 0 .../ad38b2dea33752cac233aa09d7dfbe582e9dded6 | 0 .../b4c4e536f4084a0b6a45f8b0d2725567135b92e6 | 0 .../bded84c8d7c3dc43c805144b684b7e76d317f963 | 0 .../eb4272ef57a8e412e241acf56c46fd3c2ccd3848 | 0 .../f07866736216be0ee2aba49e392191aeae700a35 | 0 .../f0a6d47efb29aae09031985f74d3e6850f8e5432 | 0 .../fbe448ebfc3eb2d4e308f6b8b043666f5b57235e | 0 2048/.idea/sonarlint/issuestore/index.pb | 40 ++++ {MyApplication => 2048}/.idea/vcs.xml | 0 {MyApplication => 2048}/build.gradle | 0 {MyApplication => 2048}/entry/.gitignore | 0 {MyApplication => 2048}/entry/build.gradle | 0 .../entry/proguard-rules.pro | 0 .../entry/src/main/config.json | 0 .../entry/src/main/js/default/i18n/en-US.json | 0 .../entry/src/main/js/default/i18n/zh-CN.json | 0 .../src/main/js/default/pages/index/index.css | 2 +- .../src/main/js/default/pages/index/index.hml | 2 +- .../main/resources/base/element/string.json | 4 +- .../src/main/resources/base/media/icon.png | Bin 5998 -> 6790 bytes .../main/resources/base/media/icon_small.png | Bin 4421 -> 5898 bytes {MyApplication => 2048}/gradle.properties | 0 .../gradle/wrapper/gradle-wrapper.jar | Bin .../gradle/wrapper/gradle-wrapper.properties | 0 {MyApplication => 2048}/gradlew | 0 {MyApplication => 2048}/gradlew.bat | 0 {MyApplication => 2048}/package.json | 0 {MyApplication => 2048}/settings.gradle | 0 .../entry/src/main/js/default/app.js | 8 - .../src/main/js/default/pages/index/index.css | 62 ------ .../src/main/js/default/pages/index/index.hml | 23 --- .../src/main/js/default/pages/index/index.js | 127 ------------ .../main/resources/base/element/string.json | 8 - .../main/resources/base/media/icon_small.png | Bin 5898 -> 0 bytes MyApplication2/.gitignore | 16 ++ MyApplication2/.idea/compiler.xml | 6 + MyApplication2/.idea/gradle.xml | 23 +++ .../inspectionProfiles/Project_Default.xml | 36 ++++ MyApplication2/.idea/jarRepositories.xml | 25 +++ MyApplication2/.idea/misc.xml | 4 + .../previewer/car/carSettingConfig_Car.json | 25 +++ .../phone/phoneSettingConfig_MateX2.json | 25 +++ .../phone/phoneSettingConfig_P40.json | 25 +++ .../.idea/previewer/previewConfigV2.json | 61 ++++++ .../tabletSettingConfig_MatePadPro.json | 25 +++ .../5a23289f502d2e872143affcd50a19875f5d1ff8 | 5 + .../7f7cc7c9e317933376e78ae696bbfd1eb4dbe2f8 | 0 .../d77cdca7276233d104244446a722b5ff26e214d5 | 0 .../.idea/sonarlint/issuestore/index.pb | 7 + MyApplication2/.idea/vcs.xml | 6 + MyApplication2/build.gradle | 33 ++++ MyApplication2/entry/.gitignore | 2 + MyApplication2/entry/build.gradle | 26 +++ MyApplication2/entry/proguard-rules.pro | 1 + MyApplication2/entry/src/main/config.json | 64 ++++++ .../entry/src/main/ets/default/app.ets | 8 + .../src/main/ets/default/pages/index.ets | 13 ++ .../xclexample/myapplication/MainAbility.java | 16 ++ .../myapplication/MyApplication.java | 10 + .../main/resources/base/element/string.json | 20 +- .../src/main/resources/base/media/icon.png | Bin .../src/main/resources/base/media/icon1.png | Bin 0 -> 6790 bytes .../src/main/resources/base/media/icon2.png | Bin 0 -> 6790 bytes .../entry/src/ohosTest/ets/default/app.ets | 11 ++ .../src/ohosTest/ets/default/i18n/en-US.json | 8 + .../src/ohosTest/ets/default/i18n/zh-CN.json | 8 + .../ets/default/pages/index/index.ets | 51 +++++ .../ohosTest/ets/test/ExampleJsunit.test.ets | 12 ++ .../entry/src/ohosTest/ets/test/List.test.ets | 5 + .../myapplication/ExampleOhosTest.java | 14 ++ .../resources/base/element/string.json | 12 ++ .../ohosTest/resources/base/media/icon.png | Bin 0 -> 6790 bytes MyApplication2/gradle.properties | 13 ++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 58694 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + MyApplication2/gradlew | 183 ++++++++++++++++++ MyApplication2/gradlew.bat | 103 ++++++++++ MyApplication2/package.json | 1 + MyApplication2/settings.gradle | 1 + index.css | 62 ------ index.hml | 23 --- index.js | 127 ------------ src/main/config.json | 42 ---- src/main/js/default/app.js | 8 - src/main/js/default/pages/index/index.css | 62 ------ src/main/js/default/pages/index/index.hml | 23 --- src/main/js/default/pages/index/index.js | 127 ------------ src/main/resources/base/media/icon.png | Bin 5998 -> 0 bytes src/main/resources/base/media/icon_small.png | Bin 4421 -> 0 bytes 109 files changed, 1047 insertions(+), 714 deletions(-) rename {MyApplication => 2048}/.gitignore (100%) rename {MyApplication => 2048}/.idea/compiler.xml (100%) rename {MyApplication => 2048}/.idea/gradle.xml (100%) rename {MyApplication => 2048}/.idea/inspectionProfiles/Project_Default.xml (100%) rename {MyApplication => 2048}/.idea/jarRepositories.xml (100%) rename {MyApplication => 2048}/.idea/misc.xml (100%) create mode 100644 2048/.idea/previewer/liteWearable/liteWearableSettingConfig_rd.json create mode 100644 2048/.idea/previewer/previewConfigV2.json create mode 100644 2048/.idea/sonarlint/issuestore/0/3/037eb38d22a90ee435a04f5160df2347025c27e5 create mode 100644 2048/.idea/sonarlint/issuestore/0/5/05efc8b1657769a27696d478ded1e95f38737233 create mode 100644 2048/.idea/sonarlint/issuestore/1/0/10f965cf51fe14a5ef0ca2ebefb1bd7e4607eeb2 create mode 100644 2048/.idea/sonarlint/issuestore/1/a/1a0bfe7a027837ed647b6bd5b6e2500c8555362e create mode 100644 2048/.idea/sonarlint/issuestore/2/a/2a45a911a8f1836b0b6c5b758962572012d8f8c3 create mode 100644 2048/.idea/sonarlint/issuestore/2/a/2afbb999f001938c88fa43fc2ef52abf0f8213e4 create mode 100644 2048/.idea/sonarlint/issuestore/3/6/36d48c2c0aa8cb6b91428b9d2d791dcae782d636 create mode 100644 2048/.idea/sonarlint/issuestore/4/9/496a238a6afa168dbaf6efd37bb459331589579c create mode 100644 2048/.idea/sonarlint/issuestore/5/3/53c2f15f1da3e1de172f90feee9cf4143c3029f0 create mode 100644 2048/.idea/sonarlint/issuestore/5/b/5bbfa66edb4db3c7c33c5181f43510990d3307f9 create mode 100644 2048/.idea/sonarlint/issuestore/7/0/7030d0b2f71b999ff89a343de08c414af32fc93a create mode 100644 2048/.idea/sonarlint/issuestore/a/5/a5cc2925ca8258af241be7e5b0381edf30266302 create mode 100644 2048/.idea/sonarlint/issuestore/a/d/ad38b2dea33752cac233aa09d7dfbe582e9dded6 create mode 100644 2048/.idea/sonarlint/issuestore/b/4/b4c4e536f4084a0b6a45f8b0d2725567135b92e6 create mode 100644 2048/.idea/sonarlint/issuestore/b/d/bded84c8d7c3dc43c805144b684b7e76d317f963 create mode 100644 2048/.idea/sonarlint/issuestore/e/b/eb4272ef57a8e412e241acf56c46fd3c2ccd3848 create mode 100644 2048/.idea/sonarlint/issuestore/f/0/f07866736216be0ee2aba49e392191aeae700a35 create mode 100644 2048/.idea/sonarlint/issuestore/f/0/f0a6d47efb29aae09031985f74d3e6850f8e5432 create mode 100644 2048/.idea/sonarlint/issuestore/f/b/fbe448ebfc3eb2d4e308f6b8b043666f5b57235e create mode 100644 2048/.idea/sonarlint/issuestore/index.pb rename {MyApplication => 2048}/.idea/vcs.xml (100%) rename {MyApplication => 2048}/build.gradle (100%) rename {MyApplication => 2048}/entry/.gitignore (100%) rename {MyApplication => 2048}/entry/build.gradle (100%) rename {MyApplication => 2048}/entry/proguard-rules.pro (100%) rename {MyApplication => 2048}/entry/src/main/config.json (100%) rename {MyApplication => 2048}/entry/src/main/js/default/i18n/en-US.json (100%) rename {MyApplication => 2048}/entry/src/main/js/default/i18n/zh-CN.json (100%) rename {MyApplication => 2048}/gradle.properties (100%) rename {MyApplication => 2048}/gradle/wrapper/gradle-wrapper.jar (100%) rename {MyApplication => 2048}/gradle/wrapper/gradle-wrapper.properties (100%) rename {MyApplication => 2048}/gradlew (100%) rename {MyApplication => 2048}/gradlew.bat (100%) rename {MyApplication => 2048}/package.json (100%) rename {MyApplication => 2048}/settings.gradle (100%) delete mode 100644 MyApplication/entry/src/main/js/default/app.js delete mode 100644 MyApplication/entry/src/main/js/default/pages/index/index.css delete mode 100644 MyApplication/entry/src/main/js/default/pages/index/index.hml delete mode 100644 MyApplication/entry/src/main/js/default/pages/index/index.js delete mode 100644 MyApplication/entry/src/main/resources/base/element/string.json delete mode 100644 MyApplication/entry/src/main/resources/base/media/icon_small.png create mode 100644 MyApplication2/.gitignore create mode 100644 MyApplication2/.idea/compiler.xml create mode 100644 MyApplication2/.idea/gradle.xml create mode 100644 MyApplication2/.idea/inspectionProfiles/Project_Default.xml create mode 100644 MyApplication2/.idea/jarRepositories.xml create mode 100644 MyApplication2/.idea/misc.xml create mode 100644 MyApplication2/.idea/previewer/car/carSettingConfig_Car.json create mode 100644 MyApplication2/.idea/previewer/phone/phoneSettingConfig_MateX2.json create mode 100644 MyApplication2/.idea/previewer/phone/phoneSettingConfig_P40.json create mode 100644 MyApplication2/.idea/previewer/previewConfigV2.json create mode 100644 MyApplication2/.idea/previewer/tablet/tabletSettingConfig_MatePadPro.json create mode 100644 MyApplication2/.idea/sonarlint/issuestore/5/a/5a23289f502d2e872143affcd50a19875f5d1ff8 create mode 100644 MyApplication2/.idea/sonarlint/issuestore/7/f/7f7cc7c9e317933376e78ae696bbfd1eb4dbe2f8 create mode 100644 MyApplication2/.idea/sonarlint/issuestore/d/7/d77cdca7276233d104244446a722b5ff26e214d5 create mode 100644 MyApplication2/.idea/sonarlint/issuestore/index.pb create mode 100644 MyApplication2/.idea/vcs.xml create mode 100644 MyApplication2/build.gradle create mode 100644 MyApplication2/entry/.gitignore create mode 100644 MyApplication2/entry/build.gradle create mode 100644 MyApplication2/entry/proguard-rules.pro create mode 100644 MyApplication2/entry/src/main/config.json create mode 100644 MyApplication2/entry/src/main/ets/default/app.ets create mode 100644 MyApplication2/entry/src/main/ets/default/pages/index.ets create mode 100644 MyApplication2/entry/src/main/java/com/xclexample/myapplication/MainAbility.java create mode 100644 MyApplication2/entry/src/main/java/com/xclexample/myapplication/MyApplication.java rename {src => MyApplication2/entry/src}/main/resources/base/element/string.json (53%) rename {MyApplication => MyApplication2}/entry/src/main/resources/base/media/icon.png (100%) create mode 100644 MyApplication2/entry/src/main/resources/base/media/icon1.png create mode 100644 MyApplication2/entry/src/main/resources/base/media/icon2.png create mode 100644 MyApplication2/entry/src/ohosTest/ets/default/app.ets create mode 100644 MyApplication2/entry/src/ohosTest/ets/default/i18n/en-US.json create mode 100644 MyApplication2/entry/src/ohosTest/ets/default/i18n/zh-CN.json create mode 100644 MyApplication2/entry/src/ohosTest/ets/default/pages/index/index.ets create mode 100644 MyApplication2/entry/src/ohosTest/ets/test/ExampleJsunit.test.ets create mode 100644 MyApplication2/entry/src/ohosTest/ets/test/List.test.ets create mode 100644 MyApplication2/entry/src/ohosTest/java/com/xclexample/myapplication/ExampleOhosTest.java create mode 100644 MyApplication2/entry/src/ohosTest/resources/base/element/string.json create mode 100644 MyApplication2/entry/src/ohosTest/resources/base/media/icon.png create mode 100644 MyApplication2/gradle.properties create mode 100644 MyApplication2/gradle/wrapper/gradle-wrapper.jar create mode 100644 MyApplication2/gradle/wrapper/gradle-wrapper.properties create mode 100644 MyApplication2/gradlew create mode 100644 MyApplication2/gradlew.bat create mode 100644 MyApplication2/package.json create mode 100644 MyApplication2/settings.gradle delete mode 100644 index.css delete mode 100644 index.hml delete mode 100644 index.js delete mode 100644 src/main/config.json delete mode 100644 src/main/js/default/app.js delete mode 100644 src/main/js/default/pages/index/index.css delete mode 100644 src/main/js/default/pages/index/index.hml delete mode 100644 src/main/js/default/pages/index/index.js delete mode 100644 src/main/resources/base/media/icon.png delete mode 100644 src/main/resources/base/media/icon_small.png 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 7bd96fb1700020bfb643fbb74eed804e9bbf920a..ce307a8827bd75456441ceb57d530e4c8d45d36c 100644 GIT binary patch literal 6790 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 cQ27AjeH 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 literal 4421 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 LNkvXXu0mjfw%&B| 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 0ed5fea2de303364c18c00d93370d8d24ef70f08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5898 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 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 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c GIT binary patch literal 6790 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 { + 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 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c GIT binary patch literal 6790 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 literal 0 HcmV?d00001 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 7bd96fb1700020bfb643fbb74eed804e9bbf920a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5998 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 LNkvXXu0mjfw%&B|