From e29ed496d4e78c564a1a14f890410534e6039193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr> Date: Tue, 27 Sep 2022 23:00:25 +0200 Subject: [PATCH] Add board templates --- android/gradle.properties | 4 +- assets/icons/layout_diamond.png | Bin 0 -> 8682 bytes assets/icons/layout_english.png | Bin 0 -> 8028 bytes assets/icons/layout_french.png | Bin 0 -> 8964 bytes assets/icons/layout_german.png | Bin 0 -> 4358 bytes .../metadata/android/en-US/changelogs/10.txt | 1 + .../metadata/android/fr-FR/changelogs/10.txt | 1 + icons/build_game_icons.sh | 1 + icons/layout_diamond.svg | 2 + icons/layout_english.svg | 2 + icons/layout_french.svg | 2 + icons/layout_german.svg | 2 + lib/provider/data.dart | 21 ++++++- lib/screens/home.dart | 1 + lib/utils/board_utils.dart | 55 ++++++++++++++---- lib/utils/game_utils.dart | 1 + 16 files changed, 80 insertions(+), 13 deletions(-) create mode 100644 assets/icons/layout_diamond.png create mode 100644 assets/icons/layout_english.png create mode 100644 assets/icons/layout_french.png create mode 100644 assets/icons/layout_german.png create mode 100644 fastlane/metadata/android/en-US/changelogs/10.txt create mode 100644 fastlane/metadata/android/fr-FR/changelogs/10.txt create mode 100644 icons/layout_diamond.svg create mode 100644 icons/layout_english.svg create mode 100644 icons/layout_french.svg create mode 100644 icons/layout_german.svg diff --git a/android/gradle.properties b/android/gradle.properties index 4bb5439..6bf54a6 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,5 +1,5 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true -app.versionName=0.0.9 -app.versionCode=9 +app.versionName=0.0.10 +app.versionCode=10 diff --git a/assets/icons/layout_diamond.png b/assets/icons/layout_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..d20c4ea546b070361e0d0d3aeb6682bca69273a6 GIT binary patch literal 8682 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 literal 0 HcmV?d00001 diff --git a/assets/icons/layout_english.png b/assets/icons/layout_english.png new file mode 100644 index 0000000000000000000000000000000000000000..3ca9c27286c0fc3ec7d3808cd23118965b95892d GIT binary patch literal 8028 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 W|LvreHnt253=E#GelF{r5}E*;4ztMs literal 0 HcmV?d00001 diff --git a/assets/icons/layout_french.png b/assets/icons/layout_french.png new file mode 100644 index 0000000000000000000000000000000000000000..71837c08f529075e14fce4db01f166cf9ac36d6c GIT binary patch literal 8964 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 literal 0 HcmV?d00001 diff --git a/assets/icons/layout_german.png b/assets/icons/layout_german.png new file mode 100644 index 0000000000000000000000000000000000000000..37c51ca8fdb173b33d06b23435a806fdb215b9bd GIT binary patch literal 4358 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 literal 0 HcmV?d00001 diff --git a/fastlane/metadata/android/en-US/changelogs/10.txt b/fastlane/metadata/android/en-US/changelogs/10.txt new file mode 100644 index 0000000..4414946 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/10.txt @@ -0,0 +1 @@ +Add board templates diff --git a/fastlane/metadata/android/fr-FR/changelogs/10.txt b/fastlane/metadata/android/fr-FR/changelogs/10.txt new file mode 100644 index 0000000..da2e485 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/10.txt @@ -0,0 +1 @@ +Ajout de modèles de plateau diff --git a/icons/build_game_icons.sh b/icons/build_game_icons.sh index aef8650..4a9ca31 100755 --- a/icons/build_game_icons.sh +++ b/icons/build_game_icons.sh @@ -27,6 +27,7 @@ AVAILABLE_GAME_IMAGES=" # Settings images AVAILABLES_GAME_SETTINGS=" + layout:french,german,english,diamond " # Skins diff --git a/icons/layout_diamond.svg b/icons/layout_diamond.svg new file mode 100644 index 0000000..31d08b4 --- /dev/null +++ b/icons/layout_diamond.svg @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 102 102" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect x="1" y="1" width="100" height="100" ry="0" fill="#6ade70" stroke="#000" stroke-width="2"/><g transform="matrix(.8379 0 0 .8379 -396.44 -4.3017)"><g transform="translate(180 48)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(228 96)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(228 3.624e-5)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(276 48)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(276 72)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(228 72)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(228 24)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(276 24)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 60)"><rect x="276" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 60)"><rect x="288" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 60)"><rect x="300" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(192 48)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(192 48)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(192 36)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(204 48)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(204 48)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(204 36)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(276 48)"><rect x="276" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(276 48)"><rect x="288" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(276 48)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(276 48)"><rect x="288" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(276 36)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(276 36)"><rect x="288" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 48)"><rect x="276" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 48)"><rect x="288" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 48)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 48)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><rect x="528" y="60" width="12" height="12" fill="#babdb6" stroke="#000"/><g transform="translate(240 48)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 48)"><rect x="276" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 48)"><rect x="288" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 48)"><rect x="300" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 12)"><rect x="276" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 12)"><rect x="288" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 12)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 12)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 12)"><rect x="288" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 12)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 12)"><rect x="276" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 12)"><rect x="288" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(240 12)"><rect x="300" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g></g></svg> diff --git a/icons/layout_english.svg b/icons/layout_english.svg new file mode 100644 index 0000000..c819ca6 --- /dev/null +++ b/icons/layout_english.svg @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 102 102" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect x="1" y="1" width="100" height="100" ry="0" fill="#6ade70" stroke="#000" stroke-width="2"/><g transform="translate(-363 -3)"><g transform="translate(120 48)"><rect x="276" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(120 48)"><rect x="288" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(120 48)"><rect x="300" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(72 36)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(72 36)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(72 24)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(84 36)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(84 36)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(84 24)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(156 36)"><rect x="276" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(156 36)"><rect x="288" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(156 36)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(156 36)"><rect x="288" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(156 24)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(156 24)"><rect x="288" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(120 36)"><rect x="276" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(120 36)"><rect x="288" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(120 36)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(120 36)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><rect x="408" y="48" width="12" height="12" fill="#babdb6" stroke="#000"/><g transform="translate(120 36)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(120 36)"><rect x="276" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(120 36)"><rect x="288" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(120 36)"><rect x="300" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(86.461 -21.272)"><g transform="translate(33.539 21.272)"><rect x="276" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(33.539 21.272)"><rect x="288" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(33.539 21.272)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(33.539 21.272)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(33.539 21.272)"><rect x="288" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(33.539 21.272)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(33.539 21.272)"><rect x="276" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(33.539 21.272)"><rect x="288" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(33.539 21.272)"><rect x="300" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g></g></g></svg> diff --git a/icons/layout_french.svg b/icons/layout_french.svg new file mode 100644 index 0000000..1ff5efe --- /dev/null +++ b/icons/layout_french.svg @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 102 102" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect x="1" y="1" width="100" height="100" ry="0" fill="#6ade70" stroke="#000" stroke-width="2"/><g transform="translate(-3 -15)"><g transform="translate(-204 72)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-252 72)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-252 24)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-204 24)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 60)"><rect x="276" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 60)"><rect x="288" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 60)"><rect x="300" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-288 48)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-288 48)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-288 36)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-276 48)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-276 48)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-276 36)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-204 48)"><rect x="276" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-204 48)"><rect x="288" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-204 48)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-204 48)"><rect x="288" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-204 36)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-204 36)"><rect x="288" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 48)"><rect x="276" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 48)"><rect x="288" y="24" width="12" height="12" fill="#babdb6" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 48)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 48)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 48)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 48)"><rect x="276" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 48)"><rect x="288" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 48)"><rect x="300" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 12)"><rect x="276" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 12)"><rect x="288" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 12)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 12)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 12)"><rect x="288" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 12)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-240 12)"><rect x="276" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><rect x="48" y="48" width="12" height="12" fill="#fff" stroke="#000"/><rect x="48" y="60" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 -100.3 35.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/><g transform="translate(-240 12)"><rect x="300" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g></g></svg> diff --git a/icons/layout_german.svg b/icons/layout_german.svg new file mode 100644 index 0000000..e826669 --- /dev/null +++ b/icons/layout_german.svg @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 102 102" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect x="1" y="1" width="100" height="100" ry="0" fill="#6ade70" stroke="#000" stroke-width="2"/><g transform="matrix(.84066 0 0 .84066 -95.275 -4.4834)"><g transform="translate(-168 36)"><rect x="288" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-168 36)"><rect x="288" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-168 36)"><rect x="288" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 72)"><rect x="276" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 72)"><rect x="288" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 72)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 72)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 72)"><rect x="288" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 72)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 72)"><rect x="276" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 72)"><rect x="288" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 72)"><rect x="300" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 3.0518e-5)"><rect x="276" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 3.0518e-5)"><rect x="288" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 3.0518e-5)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 3.0518e-5)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 3.0518e-5)"><rect x="288" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 3.0518e-5)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 3.0518e-5)"><rect x="276" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 3.0518e-5)"><rect x="288" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 3.0518e-5)"><rect x="300" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-156 36)"><rect x="288" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-156 36)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-156 36)"><rect x="288" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-156 36)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-156 36)"><rect x="288" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-156 36)"><rect x="300" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 36)"><rect x="276" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><rect x="168" y="60" width="12" height="12" fill="#babdb6" stroke="#000"/><g transform="translate(-120 36)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 36)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 36)"><rect x="288" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 36)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 36)"><rect x="276" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 36)"><rect x="288" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-120 36)"><rect x="300" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-84 36)"><rect x="276" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-84 36)"><rect x="288" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-84 36)"><rect x="300" y="24" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -.3088)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-84 36)"><rect x="276" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-84 36)"><rect x="288" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-84 36)"><rect x="300" y="12" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 -12.309)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-84 36)"><rect x="276" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 127.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-84 36)"><rect x="288" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 139.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g><g transform="translate(-84 36)"><rect x="300" y="36" width="12" height="12" fill="#fff" stroke="#000"/><circle transform="matrix(.5381 0 0 .5381 151.7 11.691)" cx="286.74" cy="56.325" r="7.4335" fill="#c17d11"/></g></g></svg> diff --git a/lib/provider/data.dart b/lib/provider/data.dart index a1c0aa6..88ec5a4 100644 --- a/lib/provider/data.dart +++ b/lib/provider/data.dart @@ -7,18 +7,23 @@ import 'package:solitaire_game/utils/game_utils.dart'; class Data extends ChangeNotifier { // Configuration available values - List _availableParameters = ['skin']; + List _availableParameters = ['layout', 'skin']; + List _availableLayoutValues = ['french', 'german', 'english', 'diamond']; List _availableSkinValues = ['default']; List get availableParameters => _availableParameters; + List get availableLayoutValues => _availableLayoutValues; List get availableSkinValues => _availableSkinValues; // Application default configuration + String _parameterLayout = ''; String _parameterSkin = ''; + String _parameterLayoutDefault = 'english'; String _parameterSkinDefault = 'default'; // Application current configuration + String get parameterLayout => _parameterLayout; String get parameterSkin => _parameterSkin; // Game data @@ -33,6 +38,11 @@ class Data extends ChangeNotifier { int _allowedMovesCount = 0; String _currentState = ''; + void updateParameterLayout(String parameterLayout) { + _parameterLayout = parameterLayout; + notifyListeners(); + } + void updateParameterSkin(String parameterSkin) { _parameterSkin = parameterSkin; notifyListeners(); @@ -40,6 +50,8 @@ class Data extends ChangeNotifier { String getParameterValue(String parameterCode) { switch (parameterCode) { + case 'layout': + return _parameterLayout; case 'skin': return _parameterSkin; } @@ -48,6 +60,8 @@ class Data extends ChangeNotifier { List getParameterAvailableValues(String parameterCode) { switch (parameterCode) { + case 'layout': + return _availableLayoutValues; case 'skin': return _availableSkinValues; } @@ -56,6 +70,9 @@ class Data extends ChangeNotifier { void setParameterValue(String parameterCode, String parameterValue) async { switch (parameterCode) { + case 'layout': + updateParameterLayout(parameterValue); + break; case 'skin': updateParameterSkin(parameterValue); break; @@ -66,6 +83,7 @@ class Data extends ChangeNotifier { void initParametersValues() async { final prefs = await SharedPreferences.getInstance(); + setParameterValue('layout', prefs.getString('layout') ?? _parameterLayoutDefault); setParameterValue('skin', prefs.getString('skin') ?? _parameterSkinDefault); } @@ -88,6 +106,7 @@ class Data extends ChangeNotifier { } var currentState = { + 'layout': _parameterLayout, 'skin': _parameterSkin, 'movesCount': _movesCount.toString(), 'boardValues': boardValues, diff --git a/lib/screens/home.dart b/lib/screens/home.dart index ecfc2de..86b8fce 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -35,6 +35,7 @@ class _HomeState extends State<Home> { 'game_win', 'placeholder', ]; + myProvider.availableLayoutValues.forEach((layout) => gameImages.add('layout_' + layout)); myProvider.availableSkinValues.forEach((skin) => gameImages.add('skin_' + skin)); gameImages.forEach((image) => assets.add('assets/icons/' + image + '.png')); diff --git a/lib/utils/board_utils.dart b/lib/utils/board_utils.dart index 5f60126..3aca984 100644 --- a/lib/utils/board_utils.dart +++ b/lib/utils/board_utils.dart @@ -53,19 +53,54 @@ class BoardUtils { } static createNewBoard(Data myProvider) { - List<String> templateEnglish = [ - ' ooo ', - ' ooo ', - 'ooooooo', - 'ooo·ooo', - 'ooooooo', - ' ooo ', - ' ooo ', - ]; + Map<String, List<String>> templates = { + 'french': [ + ' ooo ', + ' ooooo ', + 'ooo·ooo', + 'ooooooo', + 'ooooooo', + ' ooooo ', + ' ooo ', + ], + 'german': [ + ' ooo ', + ' ooo ', + ' ooo ', + 'ooooooooo', + 'oooo·oooo', + 'ooooooooo', + ' ooo ', + ' ooo ', + ' ooo ', + ], + 'english': [ + ' ooo ', + ' ooo ', + 'ooooooo', + 'ooo·ooo', + 'ooooooo', + ' ooo ', + ' ooo ', + ], + 'diamond': [ + ' o ', + ' ooo ', + ' ooooo ', + ' ooooooo ', + 'oooo·oooo', + ' ooooooo ', + ' ooooo ', + ' ooo ', + ' o ', + ] + }; + + List<String>? template = templates[myProvider.parameterLayout]; List<List<Tile?>> grid = []; int row = 0; - templateEnglish.forEach((String line) { + template?.forEach((String line) { List<Tile?> gridLine = []; int col = 0; line.split("").forEach((String tileCode) { diff --git a/lib/utils/game_utils.dart b/lib/utils/game_utils.dart index 78b2154..ea71213 100644 --- a/lib/utils/game_utils.dart +++ b/lib/utils/game_utils.dart @@ -23,6 +23,7 @@ class GameUtils { Map<String, dynamic> savedState = myProvider.getCurrentSavedState(); if (savedState.isNotEmpty) { try { + myProvider.setParameterValue('layout', savedState['layout']); myProvider.setParameterValue('skin', savedState['skin']); myProvider.updateMovesCount(int.parse(savedState['movesCount'])); myProvider.updateBoard( -- GitLab