From fe94d713b53dc20b9cc30d7d734c3c8c1ca07246 Mon Sep 17 00:00:00 2001
From: khwabscript <59730462+khwabscript@users.noreply.github.com>
Date: Sat, 25 Dec 2021 20:55:27 +0300
Subject: [PATCH] feat: add create sokoban page
---
create.html | 14 ++++++++
package.json | 3 +-
pnpm-lock.yaml | 11 +++++++
src/Create.vue | 56 ++++++++++++++++++++++++++++++++
src/components/Form/Textarea.vue | 36 ++++++++++++++++++++
src/components/Keys.vue | 27 +++++++++++++++
src/components/PrettyJson.vue | 36 ++++++++++++++++++++
src/create.js | 4 +++
src/scheme-keys.json | 9 +++++
src/scheme.txt | 2 +-
10 files changed, 196 insertions(+), 2 deletions(-)
create mode 100644 create.html
create mode 100644 src/Create.vue
create mode 100644 src/components/Form/Textarea.vue
create mode 100644 src/components/Keys.vue
create mode 100644 src/components/PrettyJson.vue
create mode 100644 src/create.js
create mode 100644 src/scheme-keys.json
diff --git a/create.html b/create.html
new file mode 100644
index 0000000..6ea9fc0
--- /dev/null
+++ b/create.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ Sokoban App - Create Level
+
+
+
+
+
+
+
diff --git a/package.json b/package.json
index dba9dbc..44e8efd 100644
--- a/package.json
+++ b/package.json
@@ -7,7 +7,8 @@
"preview": "vite preview"
},
"dependencies": {
- "vue": "^3.2.25"
+ "vue": "^3.2.25",
+ "vue-json-pretty": "^2.0.6"
},
"devDependencies": {
"@vitejs/plugin-vue": "^2.0.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 6319e6f..8296cd8 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,9 +4,11 @@ specifiers:
'@vitejs/plugin-vue': ^2.0.0
vite: ^2.7.2
vue: ^3.2.25
+ vue-json-pretty: ^2.0.6
dependencies:
vue: 3.2.26
+ vue-json-pretty: 2.0.6_vue@3.2.26
devDependencies:
'@vitejs/plugin-vue': 2.0.1_vite@2.7.3+vue@3.2.26
@@ -385,6 +387,15 @@ packages:
fsevents: 2.3.2
dev: true
+ /vue-json-pretty/2.0.6_vue@3.2.26:
+ resolution: {integrity: sha512-aVdxw8ZRGR/Uj8GEaJ1/W2Ks/MdCfv5t2HRbbd+ICp3nL7msKRLN+1qOkSzaMvDygbDPxGhwUHBxZz8nxP+r3A==}
+ engines: {node: '>= 10.0.0', npm: '>= 5.0.0'}
+ peerDependencies:
+ vue: '>=3.0.0'
+ dependencies:
+ vue: 3.2.26
+ dev: false
+
/vue/3.2.26:
resolution: {integrity: sha512-KD4lULmskL5cCsEkfhERVRIOEDrfEL9CwAsLYpzptOGjaGFNWo3BQ9g8MAb7RaIO71rmVOziZ/uEN/rHwcUIhg==}
dependencies:
diff --git a/src/Create.vue b/src/Create.vue
new file mode 100644
index 0000000..34a2724
--- /dev/null
+++ b/src/Create.vue
@@ -0,0 +1,56 @@
+
+
+ Sokoban
+ Create Level
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/Form/Textarea.vue b/src/components/Form/Textarea.vue
new file mode 100644
index 0000000..845a641
--- /dev/null
+++ b/src/components/Form/Textarea.vue
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/Keys.vue b/src/components/Keys.vue
new file mode 100644
index 0000000..8366cb5
--- /dev/null
+++ b/src/components/Keys.vue
@@ -0,0 +1,27 @@
+
+
+ Scheme keys
+
+
+ | {{ key.replace(' ', '” ”') }} |
+ {{ ' - ' }} |
+ {{ description }} |
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/PrettyJson.vue b/src/components/PrettyJson.vue
new file mode 100644
index 0000000..c0c0265
--- /dev/null
+++ b/src/components/PrettyJson.vue
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/create.js b/src/create.js
new file mode 100644
index 0000000..2688f57
--- /dev/null
+++ b/src/create.js
@@ -0,0 +1,4 @@
+import { createApp } from 'vue'
+import Create from './Create.vue'
+
+const create = createApp(Create).mount('#create')
\ No newline at end of file
diff --git a/src/scheme-keys.json b/src/scheme-keys.json
new file mode 100644
index 0000000..d6166cc
--- /dev/null
+++ b/src/scheme-keys.json
@@ -0,0 +1,9 @@
+{
+ "-": "Empty space",
+ "+": "Border",
+ "0": "Box",
+ " ": "Empty cell",
+ "*": "Target",
+ "#": "Box on target",
+ "P": "Player"
+}
\ No newline at end of file
diff --git a/src/scheme.txt b/src/scheme.txt
index 66e5dec..be09b31 100644
--- a/src/scheme.txt
+++ b/src/scheme.txt
@@ -1,7 +1,7 @@
-+++++--
++ +++
+ ***# +
-+ +M0+ +
++ +P0+ +
+ 0 +
+++ +0++
--+ +-