Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • master
  • 84-improve-app-metadata
  • 82-fix-colors
  • 23-add-timer
  • 65-update-icons
  • Release_0.0.16_16
  • Release_0.0.17_17
  • Release_0.0.18_18
  • Release_0.0.19_19
  • Release_0.0.20_20
  • Release_0.0.21_21
  • Release_0.0.22_22
  • Release_0.0.23_23
  • Release_0.0.24_24
  • Release_0.0.25_25
  • Release_0.0.26_26
  • Release_0.0.27_27
  • Release_0.0.28_28
  • Release_0.0.29_29
  • Release_0.0.30_30
  • Release_0.0.31_31
  • Release_0.0.32_32
  • Release_0.0.33_33
  • Release_0.0.34_34
  • Release_0.0.35_35
  • Release_0.0.36_36
  • Release_0.0.37_37
  • Release_0.0.38_38
  • Release_0.0.39_39
  • Release_0.0.40_40
  • Release_0.0.41_41
  • Release_0.0.42_42
  • Release_0.0.43_43
  • Release_0.0.44_44
  • Release_0.0.45_45
  • Release_0.0.46_46
  • Release_0.0.47_47
  • Release_0.0.48_48
  • Release_0.1.0_49
  • Release_0.1.10_59
  • Release_0.1.11_60
  • Release_0.1.12_61
  • Release_0.1.13_62
  • Release_0.1.14_63
  • Release_0.1.15_64
  • Release_0.1.16_65
  • Release_0.1.17_66
  • Release_0.1.18_67
  • Release_0.1.19_68
  • Release_0.1.1_50
  • Release_0.1.20_69
  • Release_0.1.21_70
  • Release_0.1.22_71
  • Release_0.1.2_51
  • Release_0.1.3_52
  • Release_0.1.4_53
  • Release_0.1.5_54
  • Release_0.1.6_55
  • Release_0.1.7_56
  • Release_0.1.8_57
  • Release_0.1.9_58
  • Release_0.10.0_87
  • Release_0.10.1_88
  • Release_0.10.2_89
  • Release_0.10.3_90
  • Release_0.10.4_91
  • Release_0.11.0_92
  • Release_0.12.0_93
  • Release_0.12.1_94
  • Release_0.13.0_95
  • Release_0.2.0_72
  • Release_0.2.1_73
  • Release_0.3.0_74
  • Release_0.3.1_75
  • Release_0.4.0_76
  • Release_0.4.1_77
  • Release_0.5.0_78
  • Release_0.5.1_79
  • Release_0.5.2_80
  • Release_0.6.0_81
  • Release_0.7.0_82
  • Release_0.8.0_83
  • Release_0.9.0_84
  • Release_0.9.1_85
  • Release_0.9.2_86
85 results

Target

Select target project
  • android / org.benoitharrault.sudoku
1 result
Select Git revision
  • master
  • 84-improve-app-metadata
  • 82-fix-colors
  • 23-add-timer
  • 65-update-icons
  • Release_0.0.16_16
  • Release_0.0.17_17
  • Release_0.0.18_18
  • Release_0.0.19_19
  • Release_0.0.20_20
  • Release_0.0.21_21
  • Release_0.0.22_22
  • Release_0.0.23_23
  • Release_0.0.24_24
  • Release_0.0.25_25
  • Release_0.0.26_26
  • Release_0.0.27_27
  • Release_0.0.28_28
  • Release_0.0.29_29
  • Release_0.0.30_30
  • Release_0.0.31_31
  • Release_0.0.32_32
  • Release_0.0.33_33
  • Release_0.0.34_34
  • Release_0.0.35_35
  • Release_0.0.36_36
  • Release_0.0.37_37
  • Release_0.0.38_38
  • Release_0.0.39_39
  • Release_0.0.40_40
  • Release_0.0.41_41
  • Release_0.0.42_42
  • Release_0.0.43_43
  • Release_0.0.44_44
  • Release_0.0.45_45
  • Release_0.0.46_46
  • Release_0.0.47_47
  • Release_0.0.48_48
  • Release_0.1.0_49
  • Release_0.1.10_59
  • Release_0.1.11_60
  • Release_0.1.12_61
  • Release_0.1.13_62
  • Release_0.1.14_63
  • Release_0.1.15_64
  • Release_0.1.16_65
  • Release_0.1.17_66
  • Release_0.1.18_67
  • Release_0.1.19_68
  • Release_0.1.1_50
  • Release_0.1.20_69
  • Release_0.1.21_70
  • Release_0.1.22_71
  • Release_0.1.2_51
  • Release_0.1.3_52
  • Release_0.1.4_53
  • Release_0.1.5_54
  • Release_0.1.6_55
  • Release_0.1.7_56
  • Release_0.1.8_57
  • Release_0.1.9_58
  • Release_0.10.0_87
  • Release_0.10.1_88
  • Release_0.10.2_89
  • Release_0.10.3_90
  • Release_0.10.4_91
  • Release_0.11.0_92
  • Release_0.12.0_93
  • Release_0.12.1_94
  • Release_0.13.0_95
  • Release_0.2.0_72
  • Release_0.2.1_73
  • Release_0.3.0_74
  • Release_0.3.1_75
  • Release_0.4.0_76
  • Release_0.4.1_77
  • Release_0.5.0_78
  • Release_0.5.1_79
  • Release_0.5.2_80
  • Release_0.6.0_81
  • Release_0.7.0_82
  • Release_0.8.0_83
  • Release_0.9.0_84
  • Release_0.9.1_85
  • Release_0.9.2_86
85 results
Show changes
116 files
+ 860
548
Compare changes
  • Side-by-side
  • Inline

Files

+53 −6
Original line number Original line Diff line number Diff line
@@ -4,10 +4,13 @@ stages:
  - update
  - update
  - build-debug
  - build-debug
  - build-release
  - build-release
  - release
  - deploy
  - deploy


update:
update:
  stage: update
  stage: update
  except:
    - tags
  script:
  script:
    - flutter packages get
    - flutter packages get
    - flutter packages upgrade
    - flutter packages upgrade
@@ -15,6 +18,8 @@ update:


android:build-debug:
android:build-debug:
  stage: build-debug
  stage: build-debug
  except:
    - tags
  script:
  script:
    # Flutter local configuration
    # Flutter local configuration
    - echo flutter.sdk=$FLUTTER_PATH > android/local.properties
    - echo flutter.sdk=$FLUTTER_PATH > android/local.properties
@@ -42,6 +47,8 @@ android:build-release:
  stage: build-release
  stage: build-release
  only:
  only:
    - master
    - master
  except:
    - tags
  dependencies:
  dependencies:
    - android:build-debug
    - android:build-debug
  script:
  script:
@@ -56,9 +63,19 @@ android:build-release:
    - echo keyAlias=$ANDROID_KEY_ALIAS >> android/key.properties
    - echo keyAlias=$ANDROID_KEY_ALIAS >> android/key.properties
    - echo keyPassword=$ANDROID_KEY_PASSWORD >> android/key.properties
    - echo keyPassword=$ANDROID_KEY_PASSWORD >> android/key.properties
    # build flutter app
    # build flutter app
    - flutter packages get
    - VERSION_FILE="$(find . -name 'gradle.properties' | head -n1)"
    - flutter clean
    - VERSION_NAME="$(grep '^app.versionName=' "${VERSION_FILE}" | cut -d'=' -f2)"
    - flutter build apk --release
    - VERSION_CODE="$(grep '^app.versionCode=' "${VERSION_FILE}" | cut -d'=' -f2)"
    - TAG_NAME="Release_${VERSION_NAME}_${VERSION_CODE}"
    - echo "${TAG_NAME}"
    - >
      if [ $(git tag -l "${TAG_NAME}") ]; then
        echo "Tag ${TAG_NAME} already exists. Skipping build release."
      else
        flutter packages get
        flutter clean
        flutter build apk --release
      fi
    # prepare artifact
    # prepare artifact
    - find . -name "*.apk" # where is my apk?
    - find . -name "*.apk" # where is my apk?
  artifacts:
  artifacts:
@@ -67,11 +84,41 @@ android:build-release:
    expire_in: 1 week
    expire_in: 1 week
  interruptible: true
  interruptible: true


android:deploy:
application:release:
  stage: deploy
  stage: release
  image:
    name: alpine/git
    entrypoint: [""]
  only:
  only:
    - master
    - master
  except:
    - tags
  dependencies:
  dependencies:
    - android:build-release
    - android:build-release
  script:
  script:
    - wget ${REPOSITORY_UPDATE_WEBHOOK}?token=${REPOSITORY_TOKEN}
    - apk --no-cache add curl
    - git config user.email "${GITLAB_USER_EMAIL}"
    - git config user.name "${GITLAB_USER_NAME}"
    - git remote set-url origin https://oauth2:${GITLAB_ACCESS_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}
    - VERSION_FILE="$(find . -name 'gradle.properties' | head -n1)"
    - VERSION_NAME="$(grep '^app.versionName=' "${VERSION_FILE}" | cut -d'=' -f2)"
    - VERSION_CODE="$(grep '^app.versionCode=' "${VERSION_FILE}" | cut -d'=' -f2)"
    - TAG_NAME="Release_${VERSION_NAME}_${VERSION_CODE}"
    - echo "${TAG_NAME}"
    - >
      if [ $(git tag -l "${TAG_NAME}") ]; then
        echo "Tag ${TAG_NAME} already exists. Skipping release and tag creation."
      else
        git tag -a "${TAG_NAME}" -m "Release ${VERSION_NAME} (${VERSION_CODE})"
        git push origin "${TAG_NAME}"
        curl --silent -d "{\"token\": \"${JABBER_NOTIFICATION_TOKEN}\", \"message\": \"New tag for ${CI_PROJECT_PATH}: ${TAG_NAME}\"}" -H "Content-Type: application/json" -X POST ${JABBER_NOTIFICATION_URL}
      fi

android:deploy:
  stage: deploy
  only:
    - tags
  dependencies:
    - application:release
  script:
    - curl "${REPOSITORY_UPDATE_WEBHOOK}?token=${REPOSITORY_TOKEN}"
+201 B (1.79 KiB)

1.60 KiB

1.79 KiB

  • 2-up
  • Swipe
  • Onion skin
+148 B (1.15 KiB)

1.01 KiB

1.15 KiB

  • 2-up
  • Swipe
  • Onion skin
+459 B (2.39 KiB)

1.94 KiB

2.39 KiB

  • 2-up
  • Swipe
  • Onion skin
+307 B (3.73 KiB)

3.43 KiB

3.73 KiB

  • 2-up
  • Swipe
  • Onion skin
+376 B (5.12 KiB)

4.75 KiB

5.12 KiB

  • 2-up
  • Swipe
  • Onion skin
+2 −2
Original line number Original line Diff line number Diff line
org.gradle.jvmargs=-Xmx1536M
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.useAndroidX=true
android.enableJetifier=true
android.enableJetifier=true
app.versionName=0.0.13
app.versionName=0.0.24
app.versionCode=13
app.versionCode=24
+38 −0
Original line number Original line Diff line number Diff line
@@ -38,6 +38,44 @@
        "0410200010000200"
        "0410200010000200"
      ]
      ]
    },
    },
    "3x2": {
      "easy": [
        "000142214003050361006500503006000405",
        "420000000000241030356410602040014603",
        "540010030050120405003162360521210643",
        "014300023160005423342516406230230005",
        "200061004530000206006015045120302050",
        "651400230600460201020004500103000006",
        "010602206051160305523004640013001000",
        "500004042060010032024650460320003046",
        "060123102500340050605341006005450610",
        "560034004002000041105263600400050306"
      ],
      "medium": [
        "005000600400300005200004020000010060",
        "000060020051306040000005000000040020",
        "023010100060500300030100000602005001",
        "000306500002400000230000600030010640",
        "000030006405030650002300000000160020",
        "050100460000030020120603045000000305",
        "063010410003000460645000030000100000",
        "000000205004100000023010060001530040",
        "620304000000500063400010003100040036",
        "000120510600300000050301060010005000"
      ],
      "hard": [
        "015000000400200000000014000000156300",
        "003160000050006004300015040200231000",
        "060000002000000002000300004010100650",
        "002501500400605200000060000000020600",
        "030100002600000420021000053000000030",
        "103204205100006005000003500000600002",
        "000200060300500002012004000003040100",
        "052400000001000050005006040032020000",
        "200160060023000600000002050430004000",
        "400000060000010400006002000205050046"
      ]
    },
    "3x3": {
    "3x3": {
      "easy": [
      "easy": [
        "004210007090083010000500200007050831910600740400000000006100000801007450050300000",
        "004210007090083010000500200007050831910600740400000000006100000801007450050300000",
+5 B (3.66 KiB)

3.65 KiB

3.66 KiB

  • 2-up
  • Swipe
  • Onion skin
+1.03 KiB (3.89 KiB)

2.86 KiB

3.89 KiB

  • 2-up
  • Swipe
  • Onion skin
−808 B (3.88 KiB)

4.67 KiB

3.88 KiB

  • 2-up
  • Swipe
  • Onion skin
−142 B (2.77 KiB)

2.91 KiB

2.77 KiB

  • 2-up
  • Swipe
  • Onion skin
−174 B (2.59 KiB)

2.76 KiB

2.59 KiB

  • 2-up
  • Swipe
  • Onion skin
−177 B (2.79 KiB)

2.96 KiB

2.79 KiB

  • 2-up
  • Swipe
  • Onion skin

assets/icons/size_2.png

deleted100644 → 0
−885 B

885 B

+4.44 KiB

4.44 KiB

assets/icons/size_3.png

deleted100644 → 0
−1.62 KiB

1.62 KiB

+6.14 KiB

6.14 KiB

+6.19 KiB

6.19 KiB

−2.57 KiB (2.93 KiB)

5.50 KiB

2.93 KiB

  • 2-up
  • Swipe
  • Onion skin
−675 B (9 KiB)

9.66 KiB

9.00 KiB

  • 2-up
  • Swipe
  • Onion skin
−1.15 KiB (16.1 KiB)

17.23 KiB

16.08 KiB

  • 2-up
  • Swipe
  • Onion skin
+1 −0
Original line number Original line Diff line number Diff line
Initial commit
+1 −0
Original line number Original line Diff line number Diff line
Add minimal empty application
+1 −0
Original line number Original line Diff line number Diff line
Improve randomness when generating board from template
+1 −0
Original line number Original line Diff line number Diff line
Fix rotate/flip board (fix cells borders issue)
+1 −0
Original line number Original line Diff line number Diff line
Fix "fixed cells state" when randomize board
+1 −0
Original line number Original line Diff line number Diff line
Mark conflicts in board
+1 −0
Original line number Original line Diff line number Diff line
Clean code, refactor classes, improve conception
+1 −0
Original line number Original line Diff line number Diff line
Allow non square sub-blocks, add 3x2 game mode
+1 −0
Original line number Original line Diff line number Diff line
Improve CI/CD, create tag on new release step
+1 −0
Original line number Original line Diff line number Diff line
Improve CI/CD, fix release, skip jobs
+1 −0
Original line number Original line Diff line number Diff line
Fix set grid size on first game
+1 −0
Original line number Original line Diff line number Diff line
Remove game icon from title bar
+1 −0
Original line number Original line Diff line number Diff line
Add minimal home page, settings and gameplay
+1 −0
Original line number Original line Diff line number Diff line
Highlight cells with same value as currently selected one
+1 −0
Original line number Original line Diff line number Diff line
Add jabber notification on create tag
+1 −0
Original line number Original line Diff line number Diff line
Improve graphics
+1 −0
Original line number Original line Diff line number Diff line
Add fastlane metadata
+1 −0
Original line number Original line Diff line number Diff line
Force portrait orientation
+1 −0
Original line number Original line Diff line number Diff line
Add "nature" skin
+1 −0
Original line number Original line Diff line number Diff line
Add generate initial board feature
+1 −0
Original line number Original line Diff line number Diff line
Check if soduku is solved
+1 −0
Original line number Original line Diff line number Diff line
Add transparency to skin images, fix background color
+1 −0
Original line number Original line Diff line number Diff line
Forbid change on initial cells
+1 −0
Original line number Original line Diff line number Diff line
Add grid generator, upgrade grids templates
+1 −0
Original line number Original line Diff line number Diff line
Add "food" skin, improve skins
+14 −0
Original line number Original line Diff line number Diff line
Simple Sudoku Game:

This simple sudoku game is aimed for kids (but not only).

You can play and have fun even if you can't read!

With a deliberately limited game options, everyone can understand how to play
and how to adapt this game to his needs.

You can choose:

-   difficulty: easy, medium, hard
-   size: 2x2 (very easy, for kids), 3x2 (easy), 3x3 (standard)
-   tiles theme: digits (standard), pictures (for kids)
+16.7 KiB

16.71 KiB

+154 KiB

153.94 KiB

+146 KiB

146.45 KiB

+188 KiB

187.63 KiB

+201 KiB

201.45 KiB

+441 KiB

440.85 KiB

+481 KiB

480.59 KiB

+349 KiB

348.79 KiB

+3 −0
Original line number Original line Diff line number Diff line
Simple Sudoku Game. Easy to play, easy to enjoy.

Icon based interface, ready to use, with deliberately limited options (difficulty, grid size, theme).
+1 −0
Original line number Original line Diff line number Diff line
Simple Sudoku Game
+1 −0
Original line number Original line Diff line number Diff line
Premier commit
+1 −0
Original line number Original line Diff line number Diff line
Ajout d'une application minimale vide
+1 −0
Original line number Original line Diff line number Diff line
Amélioration du mélange à la génération d'un tableau de jeu à partir d'un modèle
+1 −0
Original line number Original line Diff line number Diff line
Correction sur le mélange initial à la création du plateau (problème de bordure de cellule)
+1 −0
Original line number Original line Diff line number Diff line
Correction sur l'état "non modifiable" des cellules pendant le mélange initial du tableau
+1 −0
Original line number Original line Diff line number Diff line
Mise en évidence des conflits sur le tableau de jeu
+1 −0
Original line number Original line Diff line number Diff line
Nettoyage et réecriture de code, amélioration de la conception
+1 −0
Original line number Original line Diff line number Diff line
Possibilité d'avoir des blocs non carrés, ajout du mode de jeu "3x2"
+1 −0
Original line number Original line Diff line number Diff line
Amélioration sur la chaîne CI/CD, création d'un tag/version à l'étape de release
+1 −0
Original line number Original line Diff line number Diff line
Amélioration de la chaine CI/CD, correction sur création de version
+1 −0
Original line number Original line Diff line number Diff line
Correction sur la définition de la taille de la grille en début de partie
+1 −0
Original line number Original line Diff line number Diff line
Suppression de l'icône de l'application dans la barre de titre
+1 −0
Original line number Original line Diff line number Diff line
Ajout minimal de la page d'accueil, paramétrage et jeu
+1 −0
Original line number Original line Diff line number Diff line
Mise en évidence des cellules ayant la même valeur que celle sélectionnée
+1 −0
Original line number Original line Diff line number Diff line
Ajout d'une notification jabber à la création d'une version
+1 −0
Original line number Original line Diff line number Diff line
Amélioration des graphismes
+1 −0
Original line number Original line Diff line number Diff line
Ajout des informations pour fastlane
+1 −0
Original line number Original line Diff line number Diff line
Force l'orientation en mode portrait
+1 −0
Original line number Original line Diff line number Diff line
Ajout du thème "nature"
+1 −0
Original line number Original line Diff line number Diff line
Ajout de la fonctionnalité de génération du tableau de jeu
+1 −0
Original line number Original line Diff line number Diff line
Vérification si la grille est résolue
+1 −0
Original line number Original line Diff line number Diff line
Ajout de la transparence sur les images, correction sur la couleur de fond
+1 −0
Original line number Original line Diff line number Diff line
Interdiction de modification d'une cellule du tableau de jeu de départ
+1 −0
Original line number Original line Diff line number Diff line
Ajout d'un générateur de tableau de jeu, mise à jour des modèles
+1 −0
Original line number Original line Diff line number Diff line
Ajout du thème "nourriture", amélioration des images
+13 −0
Original line number Original line Diff line number Diff line
Jeu de Sudoku simple :

Ce jeu de sudoku simple est à destination des enfants (mais pas seulement).

Il est possible d'y jouer et de s'amuser même sans savoir lire.

Avec un choix volontairement limité dans les options, chacun peut découvrir et apprendre comment jouer et comment adapter le jeu à ses envies.

Il est possible de choisir :

-   la difficulté du jeu : facile, moyen, difficile (nombre de cases vides au début de la partie)
-   le taille de la grille: 2x2 (très facile, pour grands débutants), 3x2 (facile), 3x3 (classique)
-   le style: chiffres (classique), dessins (pour enfants)
+3 −0
Original line number Original line Diff line number Diff line
Jeu de Sudoku simple, facile à jouer, facile à apprécier.

Interface à base d'icônes, facile à prendre en main et volontairement peu de choix dans les options (difficulté, taille de la grille et thème du jeu).
+1 −0
Original line number Original line Diff line number Diff line
Jeu de Sudoku simple
+4 −4
Original line number Original line Diff line number Diff line
@@ -2,16 +2,16 @@


CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"


ALLOWED_SIZE_VALUES="2 3"
ALLOWED_BLOCK_SIZE_VALUES="2x2 3x2 3x3"
ALLOWED_DIFFICULTY_VALUES="easy medium hard"
ALLOWED_DIFFICULTY_VALUES="easy medium hard"
GRIDS_COUNT=10
GRIDS_COUNT=10


for SIZE in ${ALLOWED_SIZE_VALUES}; do
for BLOCK_SIZE in ${ALLOWED_BLOCK_SIZE_VALUES}; do
  echo "Size: ${SIZE}x${SIZE}"
  echo "Block size: ${BLOCK_SIZE}"
  for DIFFICULTY in ${ALLOWED_DIFFICULTY_VALUES}; do
  for DIFFICULTY in ${ALLOWED_DIFFICULTY_VALUES}; do
    echo "Difficulty: ${DIFFICULTY}"
    echo "Difficulty: ${DIFFICULTY}"
    for i in $(seq ${GRIDS_COUNT}); do
    for i in $(seq ${GRIDS_COUNT}); do
      python ${CURRENT_DIR}/generate.py ${SIZE} ${DIFFICULTY} | tail -n 1
      python ${CURRENT_DIR}/generate.py ${BLOCK_SIZE} ${DIFFICULTY} | tail -n 1
    done
    done
  done
  done
done
done
+46 −30
Original line number Original line Diff line number Diff line
#!/usr/bin/python
# -*- coding: iso-8859-15 -*-

import sys
import sys
import math
from random import randint, shuffle
from random import randint, shuffle


if (len(sys.argv) != 3):
if (len(sys.argv) != 3):
  print('Usage: generate.py size difficulty')
  print('Usage: generate.py block-size difficulty')
  print('size: [2|3]')
  print('block-size: [2x2|3x2|3x3]')
  print('difficulty: [easy|medium|hard]')
  print('difficulty: [easy|medium|hard]')
  exit()
  exit()


size, difficulty = sys.argv[1], sys.argv[2]
blocksize, difficulty = sys.argv[1], sys.argv[2]

size = int(size)


if not size in [2, 3]:
if not blocksize in ['2x2', '3x2', '3x3']:
  print('wrong size given')
  print('wrong size given')
  exit()
  exit()


splitted_blocksize = blocksize.split('x')
size_horizontal = int(splitted_blocksize[0])
size_vertical = int(splitted_blocksize[1])

boardSize = size_horizontal * size_vertical

if not difficulty in ['easy', 'medium', 'hard']:
if not difficulty in ['easy', 'medium', 'hard']:
  print('wrong difficulty given')
  print('wrong difficulty given')
  exit()
  exit()
@@ -30,13 +38,22 @@ if difficulty == 'hard':


# draw grid (array style)
# draw grid (array style)
def drawGrid(grid):
def drawGrid(grid):
  for row in range(len(grid)):
  gridVerticalSize = len(grid)
    for col in range(len(grid[row])):
  gridHorizontalSize = len(grid[0])
  horizontalLineLength = ((size_horizontal + 1) * size_vertical) + 1

  for row in range(gridHorizontalSize):
    if ((row % size_vertical) == 0):
      sys.stdout.write(('' * horizontalLineLength) + '\n')
    for col in range(gridVerticalSize):
      if ((col % size_horizontal) == 0):
        sys.stdout.write('')
      if grid[row][col] != 0:
      if grid[row][col] != 0:
        sys.stdout.write(str(grid[row][col]))
        sys.stdout.write(str(grid[row][col]))
      else:
      else:
        sys.stdout.write(' ')
        sys.stdout.write(' ')
    sys.stdout.write('\n')
    sys.stdout.write('\n')
  sys.stdout.write(('' * horizontalLineLength) + '\n')
  sys.stdout.write('\n')
  sys.stdout.write('\n')


# draw grid (inline style)
# draw grid (inline style)
@@ -47,12 +64,12 @@ def drawGridInline(grid):
  sys.stdout.write('\n')
  sys.stdout.write('\n')


#initialise empty grid
#initialise empty grid
def generateEmptyGrid(size):
def generateEmptyGrid(boardSize):
  emptyGrid = []
  emptyGrid = []
  for i in range(size * size):
  for row in range(boardSize):
    emptyGrid.append([])
    emptyGrid.append([])
    for j in range(size * size):
    for col in range(boardSize):
      emptyGrid[i].append(0)
      emptyGrid[row].append(0)
  return emptyGrid
  return emptyGrid


#A check if the grid is full
#A check if the grid is full
@@ -97,9 +114,9 @@ def solveGrid(grid):


          if not foundInColumn:
          if not foundInColumn:
            # Get sub-square
            # Get sub-square
            blockColFrom = size * int(col / size)
            blockColFrom = size_horizontal * int(col / size_horizontal)
            blockRowFrom = size * int(row / size)
            blockRowFrom = size_vertical * int(row / size_vertical)
            square = [grid[i][blockColFrom:blockColFrom + size] for i in range(blockRowFrom, blockRowFrom + size)]
            square = [grid[i][blockColFrom:blockColFrom + size_horizontal] for i in range(blockRowFrom, blockRowFrom + size_vertical)]


            #Check that this value has not already be used on this sub square
            #Check that this value has not already be used on this sub square
            if not any(value in squareLine for squareLine in square):
            if not any(value in squareLine for squareLine in square):
@@ -115,16 +132,16 @@ def solveGrid(grid):


#A backtracking/recursive function to check all possible combinations of numbers until a solution is found
#A backtracking/recursive function to check all possible combinations of numbers until a solution is found
def fillGrid(grid):
def fillGrid(grid):
  gridSize = len(grid)
  boardSize = len(grid)
  cellsCount = len(grid) * len(grid[0])
  cellsCount = len(grid) * len(grid[0])
  numberList = [(value + 1) for value in range(gridSize)]
  numberList = [(value + 1) for value in range(boardSize)]


  global solutionsCount
  global solutionsCount


  #Find next empty cell
  #Find next empty cell
  for i in range(0, cellsCount):
  for i in range(0, cellsCount):
    row = i // gridSize
    row = i // boardSize
    col = i % gridSize
    col = i % boardSize
    if grid[row][col] == 0:
    if grid[row][col] == 0:
      shuffle(numberList)
      shuffle(numberList)
      for value in numberList:
      for value in numberList:
@@ -132,15 +149,15 @@ def fillGrid(grid):
        if not(value in grid[row]):
        if not(value in grid[row]):
          #Check that this value has not already be used on this column
          #Check that this value has not already be used on this column
          foundInColumn = False
          foundInColumn = False
          for r in range(0, gridSize):
          for r in range(0, boardSize):
            if (value == grid[r][col]):
            if (value == grid[r][col]):
              foundInColumn = True
              foundInColumn = True


          if not foundInColumn:
          if not foundInColumn:
            # Get sub-square
            # Get sub-square
            blockColFrom = size * int(col / size)
            blockColFrom = size_horizontal * int(col / size_horizontal)
            blockRowFrom = size * int(row / size)
            blockRowFrom = size_vertical * int(row / size_vertical)
            square = [grid[i][blockColFrom:blockColFrom + size] for i in range(blockRowFrom, blockRowFrom + size)]
            square = [grid[i][blockColFrom:blockColFrom + size_horizontal] for i in range(blockRowFrom, blockRowFrom + size_vertical)]


            #Check that this value has not already be used on this sub square
            #Check that this value has not already be used on this sub square
            if not any(value in squareLine for squareLine in square):
            if not any(value in squareLine for squareLine in square):
@@ -155,7 +172,6 @@ def fillGrid(grid):


solutionsCount = 1
solutionsCount = 1
def computeResolvableGrid(grid, wantedAttempts):
def computeResolvableGrid(grid, wantedAttempts):
  gridSize = size * size
  global solutionsCount
  global solutionsCount


  # A higher number of attempts will end up removing more numbers from the grid
  # A higher number of attempts will end up removing more numbers from the grid
@@ -165,11 +181,11 @@ def computeResolvableGrid(grid, wantedAttempts):
  attempts = wantedAttempts
  attempts = wantedAttempts
  while attempts > 0:
  while attempts > 0:
    # Select a random cell that is not already empty
    # Select a random cell that is not already empty
    row = randint(0, gridSize - 1)
    row = randint(0, boardSize - 1)
    col = randint(0, gridSize - 1)
    col = randint(0, boardSize - 1)
    while grid[row][col] == 0:
    while grid[row][col] == 0:
      row = randint(0, gridSize - 1)
      row = randint(0, boardSize - 1)
      col = randint(0, gridSize - 1)
      col = randint(0, boardSize - 1)


    # Remove value in this random cell
    # Remove value in this random cell
    savedCellValue = grid[row][col]
    savedCellValue = grid[row][col]
@@ -183,7 +199,7 @@ def computeResolvableGrid(grid, wantedAttempts):
      grid[row][col] = savedCellValue
      grid[row][col] = savedCellValue
      attempts -= 1
      attempts -= 1


grid = generateEmptyGrid(size)
grid = generateEmptyGrid(boardSize)


sys.stdout.write('Solved grid:\n')
sys.stdout.write('Solved grid:\n')
fillGrid(grid)
fillGrid(grid)
+1 −0
Original line number Original line Diff line number Diff line
@@ -45,3 +45,4 @@ build_icon 48 ${BASE_DIR}/android/app/src/main/res/mipmap-mdpi/ic_launcher
build_icon  96 ${BASE_DIR}/android/app/src/main/res/mipmap-xhdpi/ic_launcher
build_icon  96 ${BASE_DIR}/android/app/src/main/res/mipmap-xhdpi/ic_launcher
build_icon 144 ${BASE_DIR}/android/app/src/main/res/mipmap-xxhdpi/ic_launcher
build_icon 144 ${BASE_DIR}/android/app/src/main/res/mipmap-xxhdpi/ic_launcher
build_icon 192 ${BASE_DIR}/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher
build_icon 192 ${BASE_DIR}/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher
build_icon 512 ${BASE_DIR}/fastlane/metadata/android/en-US/images/icon
+3 −2
Original line number Original line Diff line number Diff line
@@ -60,8 +60,9 @@ build_icon ${CURRENT_DIR}/button_start.svg ${BASE_DIR}/assets/icons/button_start
build_icon ${CURRENT_DIR}/difficulty_easy.svg ${BASE_DIR}/assets/icons/difficulty_easy.png
build_icon ${CURRENT_DIR}/difficulty_easy.svg ${BASE_DIR}/assets/icons/difficulty_easy.png
build_icon ${CURRENT_DIR}/difficulty_medium.svg ${BASE_DIR}/assets/icons/difficulty_medium.png
build_icon ${CURRENT_DIR}/difficulty_medium.svg ${BASE_DIR}/assets/icons/difficulty_medium.png
build_icon ${CURRENT_DIR}/difficulty_hard.svg ${BASE_DIR}/assets/icons/difficulty_hard.png
build_icon ${CURRENT_DIR}/difficulty_hard.svg ${BASE_DIR}/assets/icons/difficulty_hard.png
build_icon ${CURRENT_DIR}/size_2.svg ${BASE_DIR}/assets/icons/size_2.png
build_icon ${CURRENT_DIR}/size_2x2.svg ${BASE_DIR}/assets/icons/size_2x2.png
build_icon ${CURRENT_DIR}/size_3.svg ${BASE_DIR}/assets/icons/size_3.png
build_icon ${CURRENT_DIR}/size_3x2.svg ${BASE_DIR}/assets/icons/size_3x2.png
build_icon ${CURRENT_DIR}/size_3x3.svg ${BASE_DIR}/assets/icons/size_3x3.png
build_icon ${CURRENT_DIR}/skins/empty.svg ${BASE_DIR}/assets/skins/empty.png
build_icon ${CURRENT_DIR}/skins/empty.svg ${BASE_DIR}/assets/skins/empty.png


# Skins
# Skins
+1 −1
Original line number Original line Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 93.665 93.676" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m46.834 11.248c-19.624 0-35.588 15.964-35.588 35.592 0 19.624 15.964 35.588 35.588 35.588s35.584-15.964 35.584-35.588c0-19.629-15.96-35.592-35.584-35.592zm0 63.607c-15.471 0-28.02-12.544-28.02-28.014 0-15.477 12.549-28.019 28.02-28.019s28.018 12.541 28.018 28.019c0 15.471-12.547 28.014-28.018 28.014z" stroke-width=".75985"/><path d="m55.403 64.285c0.85468 0.85879 3.0403 0.85879 3.0403 0v-34.893c0-0.85985-2.1908-0.85985-3.0486 0l-28.641 15.895c-0.8578 0.85468-0.87224 2.2454-0.0165 3.1032z" fill="#ed9138" stroke-width="1.031"/></svg>
<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 93.665 93.676" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect x=".44662" y=".89101" width="92.772" height="91.894" ry="11.689" fill="#e41578" stroke="#fff" stroke-width=".238"/><path d="m59.387 71.362c1.1248 1.1302 4.0012 1.1302 4.0012 0v-45.921c0-1.1316-2.8832-1.1316-4.0121 0l-37.693 20.918c-1.1289 1.1248-1.1479 2.9551-0.02171 4.084z" fill="#fefeff" stroke="#930e4e" stroke-linecap="round" stroke-linejoin="round" stroke-width="8.257"/><path d="m57.857 68.048c0.96243 0.96706 3.4236 0.96706 3.4236 0v-39.292c0-0.96825-2.467-0.96825-3.4329 0l-32.252 17.898c-0.96594 0.96243-0.9822 2.5285-0.01858 3.4945z" fill="#fefeff" stroke="#feffff" stroke-linecap="round" stroke-linejoin="round" stroke-width="4.314"/></svg>
+1 −1
Original line number Original line Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 91.389 91.821" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect width="91.389" height="91.821" ry="0" fill="#e2b300"/><path d="m79.855 13.662a1.4083 1.4083 0 0 0-1.8775-0.11982l-26.365 20.293-1.1585-12.723a1.4009 1.4009 0 0 0-1.0985-1.2583 1.4367 1.4367 0 0 0-1.558 0.65904l-6.8708 11.644-9.6071-9.5472a1.4562 1.4562 0 0 0-1.6578-0.25965 1.4737 1.4737 0 0 0-0.77887 1.2782 0.972 0.972 0 0 0 0.02006 0.23979l2.177 13.182-21.052-3.4553a1.4314 1.4314 0 0 0-0.99866 2.6166l17.576 11.345-10.825 7.6299a1.4314 1.4314 0 0 0 0.81885 2.5965l12.783 0.13983-13.981 21.751a1.4236 1.4236 0 0 0 2.0972 1.8775l22.23-17.956 5.5725 6.4713a1.4509 1.4509 0 0 0 1.3582 0.45946 1.3606 1.3606 0 0 0 1.0786-0.9588l2.3967-7.1703 12.483 5.7723a1.4376 1.4376 0 0 0 1.6579-0.31951 1.451 1.451 0 0 0 0.19979-1.6777l-6.6512-11.784 13.062-3.5353a1.4274 1.4274 0 0 0 1.0586-1.3182 1.4045 1.4045 0 0 0-0.91882-1.3983l-12.583-4.7337 21.531-27.863a1.4082 1.4082 0 0 0-0.11982-1.8775z" stroke-width="2.0684"/></svg>
<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 91.389 91.821" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect width="91.389" height="91.821" ry="10.769" fill="#e2b300"/><path d="m45.694 15.074c-17.876 0-32.409 13.297-32.409 29.657 0 9.3607 4.7078 17.672 12.077 23.096-0.68229 2.712-2.1151 6.2113-4.9125 10.411-1.774 2.6245 0.34114 6.6487 2.8656 5.424 5.3219-2.537 11.462-6.1238 17.125-9.6232 1.7057 0.26245 3.4797 0.43742 5.2536 0.43742 17.876 0 32.409-13.297 32.409-29.657 0-16.447-14.533-29.744-32.409-29.744z" stroke-width=".77259"/><g transform="matrix(1.4237 0 0 1.4237 35.524 -7.1668)" fill="#e0b500" aria-label="!"><path d="m10.283 28.74-1.16 11.88q-0.2 1.96-1.96 1.96-0.84 0-1.4-0.52-0.52-0.52-0.6-1.44l-1.16-11.88q-0.08-0.96-0.08-1.32 0-1.4 0.92-2.28 0.92-0.92 2.32-0.92t2.28 0.92q0.92 0.92 0.92 2.28 0 0.28-0.08 1.32zm-2.8 21.6h-0.68q-1.12 0-1.92-0.76-0.76-0.8-0.76-1.88t0.76-1.84q0.8-0.8 1.92-0.8h0.68q1.12 0 1.88 0.76t0.76 1.88-0.76 1.88q-0.76 0.76-1.88 0.76z" fill="#e0b500"/></g></svg>
+1 −1
Original line number Original line Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 93.665 93.676" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m46.835 0c-25.826 0-46.835 21.009-46.835 46.841 0 25.826 21.009 46.835 46.835 46.835s46.83-21.009 46.83-46.835c0-25.832-21.004-46.841-46.83-46.841zm0 83.709c-20.36 0-36.875-16.508-36.875-36.868 0-20.369 16.515-36.874 36.875-36.874 20.361 0 36.873 16.505 36.873 36.874 0 20.36-16.512 36.868-36.873 36.868z"/><path d="m34.852 25.44c-1.1248-1.1302-4.0012-1.1302-4.0012 0v45.921c0 1.1316 2.8832 1.1316 4.0121 0l37.693-20.918c1.1289-1.1248 1.1479-2.9551 0.02171-4.084z" fill="#479fee" stroke-width="1.3568"/></svg>
<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 93.665 93.676" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect x=".44662" y=".89101" width="92.772" height="91.894" ry="11.689" fill="#49a1ee" stroke="#fff" stroke-width=".238"/><path d="m34.852 25.44c-1.1248-1.1302-4.0012-1.1302-4.0012 0v45.921c0 1.1316 2.8832 1.1316 4.0121 0l37.693-20.918c1.1289-1.1248 1.1479-2.9551 0.02171-4.084z" fill="#fefeff" stroke="#105ca1" stroke-linecap="round" stroke-linejoin="round" stroke-width="8.257"/><path d="m36.382 28.754c-0.96243-0.96706-3.4236-0.96706-3.4236 0v39.292c0 0.96825 2.467 0.96825 3.4329 0l32.252-17.898c0.96594-0.96243 0.9822-2.5285 0.01858-3.4945z" fill="#fefeff" stroke="#feffff" stroke-linecap="round" stroke-linejoin="round" stroke-width="4.314"/></svg>
+1 −1
Original line number Original line Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 100 100" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect width="100" height="100" ry="2" fill="#41ff6a"/><path d="m22.408 52.415 20.8 13.7c0.2 0.1 0.3 0.2 0.5 0.3 1.3 0.5 2.8-0.1 3.3-1.3 0.5-1.3-0.1-2.8-1.3-3.3l-23.2-9.6c-0.2 0-0.3 0.2-0.1 0.2zm23.7 11.6c0.1 0.8-0.5 1.4-1.3 1.5s-1.4-0.5-1.5-1.3 0.5-1.4 1.3-1.5c0.8 0 1.5 0.5 1.5 1.3z"/><path d="m40.708 35.515c0.1 0.4 0.6 0.7 1 0.7 0.9-0.1 1.9-0.1 2.8-0.1 1.5 0 2.9 0.1 4.3 0.3 0.6 0.1 1.2-0.4 1.2-1v-6.9c0-0.6-0.5-1-1-1-3.2 0.1-6.4 0.7-9.3 1.6-0.5 0.2-0.8 0.7-0.6 1.3z"/><path d="m51.508 36.815c2.1 0.5 4.2 1.3 6.2 2.2 0.5 0.3 1.2 0 1.4-0.6l2.7-8.2c0.2-0.5-0.1-1.1-0.6-1.3-3-0.9-6.1-1.5-9.3-1.6-0.6 0-1 0.4-1 1v7.5c-0.1 0.5 0.2 0.9 0.6 1z"/><path d="m80.508 45.115-8.4 6.1c-0.4 0.3-0.5 0.8-0.3 1.3 0.9 1.6 1.6 3.2 2.2 4.9 0.2 0.5 0.7 0.8 1.2 0.6l9.8-3.2c0.5-0.2 0.8-0.7 0.6-1.3-1-2.9-2.3-5.7-3.8-8.2-0.2-0.4-0.9-0.6-1.3-0.2z"/><path d="m31.908 39.015c2.3-1.1 4.7-2 7.2-2.5 0.6-0.1 1-0.7 0.8-1.3l-1.5-4.7c-0.2-0.5-0.8-0.8-1.3-0.6-2.9 1.2-5.7 2.7-8.2 4.6-0.4 0.3-0.5 0.9-0.2 1.4l2 2.8c0.2 0.4 0.8 0.5 1.2 0.3z"/><path d="m62.408 30.615-2.8 8.6c-0.1 0.4 0 0.9 0.4 1.1 1.7 1 3.4 2.2 4.9 3.6 0.4 0.4 1.1 0.3 1.5-0.1l5.7-7.9c0.3-0.4 0.2-1.1-0.2-1.4-2.5-1.9-5.3-3.4-8.2-4.6-0.5-0.2-1.1 0.1-1.3 0.7z"/><path d="m66.908 45.815c1.3 1.4 2.5 2.8 3.5 4.4 0.3 0.5 0.9 0.6 1.4 0.3l8.3-6c0.4-0.3 0.5-0.9 0.2-1.4-1.8-2.5-3.9-4.8-6.2-6.8-0.4-0.4-1.1-0.3-1.5 0.2l-5.9 8.1c-0.2 0.3-0.2 0.8 0.2 1.2z"/><path d="m23.408 45.315c1.8-2 3.9-3.7 6.2-5.1 0.5-0.3 0.6-1 0.3-1.4l-1.8-2.4c-0.3-0.5-1-0.6-1.5-0.2-2.3 2-4.4 4.3-6.2 6.8-0.3 0.4-0.2 1.1 0.2 1.4l1.4 1c0.5 0.3 1 0.3 1.4-0.1z"/><path d="m12.808 53.815 6 2c0.5 0.2 1-0.1 1.2-0.6 1.1-2.6 2.2-4.3 3.9-6.4 0.4-0.4 0.3-1.1-0.2-1.4l-5.9-4.2c-0.5-0.3-1.1-0.2-1.4 0.3-1.6 2.5-3.2 6.1-4.1 9-0.3 0.6 0 1.2 0.5 1.3z"/><path d="m74.808 59.915c0.4 1.7 0.7 3.5 0.9 5.3 0 0.5 0.5 0.9 1 0.9h10.2c0.6 0 1-0.5 1-1-0.1-3.1-0.5-6-1.3-8.9-0.1-0.6-0.7-0.9-1.3-0.7l-9.8 3.2c-0.6 0.2-0.9 0.7-0.7 1.2z"/><path d="m14.808 66.115c0.1-3.2 0.7-6.3 1.7-9.2 0.2-0.5-0.1-1.1-0.6-1.3l-0.4-0.1c-0.5-0.2-1.1 0.1-1.3 0.7-0.8 3.2-1.3 6.5-1.3 9.9z"/></svg>
<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="#41ff6a" stroke="#000" stroke-width="2"/><path d="m23.408 53.415 20.8 13.7c0.2 0.1 0.3 0.2 0.5 0.3 1.3 0.5 2.8-0.1 3.3-1.3 0.5-1.3-0.1-2.8-1.3-3.3l-23.2-9.6c-0.2 0-0.3 0.2-0.1 0.2zm23.7 11.6c0.1 0.8-0.5 1.4-1.3 1.5s-1.4-0.5-1.5-1.3 0.5-1.4 1.3-1.5c0.8 0 1.5 0.5 1.5 1.3z"/><path d="m41.708 36.515c0.1 0.4 0.6 0.7 1 0.7 0.9-0.1 1.9-0.1 2.8-0.1 1.5 0 2.9 0.1 4.3 0.3 0.6 0.1 1.2-0.4 1.2-1v-6.9c0-0.6-0.5-1-1-1-3.2 0.1-6.4 0.7-9.3 1.6-0.5 0.2-0.8 0.7-0.6 1.3z"/><path d="m52.508 37.815c2.1 0.5 4.2 1.3 6.2 2.2 0.5 0.3 1.2 0 1.4-0.6l2.7-8.2c0.2-0.5-0.1-1.1-0.6-1.3-3-0.9-6.1-1.5-9.3-1.6-0.6 0-1 0.4-1 1v7.5c-0.1 0.5 0.2 0.9 0.6 1z"/><path d="m81.508 46.115-8.4 6.1c-0.4 0.3-0.5 0.8-0.3 1.3 0.9 1.6 1.6 3.2 2.2 4.9 0.2 0.5 0.7 0.8 1.2 0.6l9.8-3.2c0.5-0.2 0.8-0.7 0.6-1.3-1-2.9-2.3-5.7-3.8-8.2-0.2-0.4-0.9-0.6-1.3-0.2z"/><path d="m32.908 40.015c2.3-1.1 4.7-2 7.2-2.5 0.6-0.1 1-0.7 0.8-1.3l-1.5-4.7c-0.2-0.5-0.8-0.8-1.3-0.6-2.9 1.2-5.7 2.7-8.2 4.6-0.4 0.3-0.5 0.9-0.2 1.4l2 2.8c0.2 0.4 0.8 0.5 1.2 0.3z"/><path d="m63.408 31.615-2.8 8.6c-0.1 0.4 0 0.9 0.4 1.1 1.7 1 3.4 2.2 4.9 3.6 0.4 0.4 1.1 0.3 1.5-0.1l5.7-7.9c0.3-0.4 0.2-1.1-0.2-1.4-2.5-1.9-5.3-3.4-8.2-4.6-0.5-0.2-1.1 0.1-1.3 0.7z"/><path d="m67.908 46.815c1.3 1.4 2.5 2.8 3.5 4.4 0.3 0.5 0.9 0.6 1.4 0.3l8.3-6c0.4-0.3 0.5-0.9 0.2-1.4-1.8-2.5-3.9-4.8-6.2-6.8-0.4-0.4-1.1-0.3-1.5 0.2l-5.9 8.1c-0.2 0.3-0.2 0.8 0.2 1.2z"/><path d="m24.408 46.315c1.8-2 3.9-3.7 6.2-5.1 0.5-0.3 0.6-1 0.3-1.4l-1.8-2.4c-0.3-0.5-1-0.6-1.5-0.2-2.3 2-4.4 4.3-6.2 6.8-0.3 0.4-0.2 1.1 0.2 1.4l1.4 1c0.5 0.3 1 0.3 1.4-0.1z"/><path d="m13.808 54.815 6 2c0.5 0.2 1-0.1 1.2-0.6 1.1-2.6 2.2-4.3 3.9-6.4 0.4-0.4 0.3-1.1-0.2-1.4l-5.9-4.2c-0.5-0.3-1.1-0.2-1.4 0.3-1.6 2.5-3.2 6.1-4.1 9-0.3 0.6 0 1.2 0.5 1.3z"/><path d="m75.808 60.915c0.4 1.7 0.7 3.5 0.9 5.3 0 0.5 0.5 0.9 1 0.9h10.2c0.6 0 1-0.5 1-1-0.1-3.1-0.5-6-1.3-8.9-0.1-0.6-0.7-0.9-1.3-0.7l-9.8 3.2c-0.6 0.2-0.9 0.7-0.7 1.2z"/><path d="m15.808 67.115c0.1-3.2 0.7-6.3 1.7-9.2 0.2-0.5-0.1-1.1-0.6-1.3l-0.4-0.1c-0.5-0.2-1.1 0.1-1.3 0.7-0.8 3.2-1.3 6.5-1.3 9.9z"/></svg>
+1 −1
Original line number Original line Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 100 100" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect width="100" height="100" ry="2" fill="#d31158"/><path d="m68.154 58.254-24.4 5.1c-0.2 0-0.4 0.1-0.5 0.1-1.3 0.6-1.9 2-1.4 3.3 0.6 1.3 2 1.9 3.3 1.4l23-9.7c0.2 0 0.1-0.2 0-0.2zm-25 8.7c-0.6-0.5-0.6-1.4-0.1-2s1.4-0.6 2-0.1 0.6 1.4 0.1 2c-0.5 0.5-1.4 0.6-2 0.1z"/><path d="m40.054 37.354c0.1 0.4 0.6 0.7 1 0.7 0.9-0.1 1.9-0.1 2.8-0.1 1.5 0 2.9 0.1 4.3 0.3 0.6 0.1 1.2-0.4 1.2-1v-6.9c0-0.6-0.5-1-1-1-3.2 0.1-6.4 0.7-9.3 1.6-0.5 0.2-0.8 0.7-0.6 1.3z"/><path d="m50.854 38.754c2.1 0.5 4.2 1.3 6.2 2.2 0.5 0.3 1.2 0 1.4-0.6l2.7-8.2c0.2-0.5-0.1-1.1-0.6-1.3-3-0.9-6.1-1.5-9.3-1.6-0.6 0-1 0.4-1 1v7.5c-0.2 0.5 0.1 0.9 0.6 1z"/><path d="m81.754 45.554-12.2 8.9c-0.4 0.3-0.5 0.8-0.3 1.3 0.9 1.6 1.2 2.6 1.8 4.3 0.2 0.5 0.7 0.8 1.2 0.6l14.4-4.7c0.5-0.2 0.8-0.7 0.6-1.3-1-2.9-2.6-6.4-4.1-8.9-0.3-0.5-1-0.6-1.4-0.2z"/><path d="m31.154 40.854c2.3-1.1 4.7-2 7.2-2.5 0.6-0.1 1-0.7 0.8-1.3l-1.5-4.7c-0.2-0.5-0.8-0.8-1.3-0.6-2.9 1.2-5.7 2.7-8.2 4.6-0.4 0.3-0.5 0.9-0.2 1.4l2 2.8c0.3 0.4 0.8 0.5 1.2 0.3z"/><path d="m61.754 32.454-2.8 8.6c-0.1 0.4 0 0.9 0.4 1.1 1.7 1 3.4 2.2 4.9 3.6 0.4 0.4 1.1 0.3 1.5-0.1l5.7-7.9c0.3-0.4 0.2-1.1-0.2-1.4-2.5-1.9-5.3-3.4-8.2-4.6-0.5-0.1-1.1 0.2-1.3 0.7z"/><path d="m66.154 47.654c1.3 1.4 2.5 2.8 3.5 4.4 0.3 0.5 0.9 0.6 1.4 0.3l8.3-6c0.4-0.3 0.5-0.9 0.2-1.4-1.8-2.5-3.9-4.8-6.2-6.8-0.4-0.4-1.1-0.3-1.5 0.2l-5.9 8.1c-0.2 0.3-0.1 0.9 0.2 1.2z"/><path d="m22.654 47.154c1.8-2 3.9-3.7 6.2-5.1 0.5-0.3 0.6-1 0.3-1.4l-1.7-2.4c-0.3-0.5-1-0.6-1.5-0.2-2.3 2-4.4 4.3-6.2 6.8-0.3 0.4-0.2 1.1 0.2 1.4l1.4 1c0.4 0.4 1 0.3 1.3-0.1z"/><path d="m14.954 56.654 0.5 0.2c0.5 0.2 1-0.1 1.2-0.6 1.1-2.6 2.5-5 4.2-7.1 0.4-0.4 0.3-1.1-0.2-1.4l-1.2-0.8c-0.3-0.4-1-0.2-1.3 0.3-1.6 2.5-2.9 5.3-3.8 8.2-0.2 0.5 0.1 1.1 0.6 1.2z"/><path d="m74.054 61.754c0.4 1.7 0.7 3.5 0.9 5.3 0 0.5 0.5 0.9 1 0.9h10.2c0.6 0 1-0.5 1-1-0.1-3.1-0.5-6-1.3-8.9-0.1-0.6-0.7-0.9-1.3-0.7l-9.8 3.2c-0.5 0.2-0.8 0.7-0.7 1.2z"/><path d="m14.054 67.954c0.1-3.2 0.7-6.3 1.7-9.2 0.2-0.5-0.1-1.1-0.6-1.3l-0.3-0.1c-0.5-0.2-1.1 0.1-1.3 0.7-0.8 3.2-1.3 6.5-1.3 9.9z"/></svg>
<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="#d31158" stroke="#000" stroke-width="2"/><path d="m69.154 59.254-24.4 5.1c-0.2 0-0.4 0.1-0.5 0.1-1.3 0.6-1.9 2-1.4 3.3 0.6 1.3 2 1.9 3.3 1.4l23-9.7c0.2 0 0.1-0.2 0-0.2zm-25 8.7c-0.6-0.5-0.6-1.4-0.1-2s1.4-0.6 2-0.1 0.6 1.4 0.1 2c-0.5 0.5-1.4 0.6-2 0.1z"/><path d="m41.054 38.354c0.1 0.4 0.6 0.7 1 0.7 0.9-0.1 1.9-0.1 2.8-0.1 1.5 0 2.9 0.1 4.3 0.3 0.6 0.1 1.2-0.4 1.2-1v-6.9c0-0.6-0.5-1-1-1-3.2 0.1-6.4 0.7-9.3 1.6-0.5 0.2-0.8 0.7-0.6 1.3z"/><path d="m51.854 39.754c2.1 0.5 4.2 1.3 6.2 2.2 0.5 0.3 1.2 0 1.4-0.6l2.7-8.2c0.2-0.5-0.1-1.1-0.6-1.3-3-0.9-6.1-1.5-9.3-1.6-0.6 0-1 0.4-1 1v7.5c-0.2 0.5 0.1 0.9 0.6 1z"/><path d="m82.754 46.554-12.2 8.9c-0.4 0.3-0.5 0.8-0.3 1.3 0.9 1.6 1.2 2.6 1.8 4.3 0.2 0.5 0.7 0.8 1.2 0.6l14.4-4.7c0.5-0.2 0.8-0.7 0.6-1.3-1-2.9-2.6-6.4-4.1-8.9-0.3-0.5-1-0.6-1.4-0.2z"/><path d="m32.154 41.854c2.3-1.1 4.7-2 7.2-2.5 0.6-0.1 1-0.7 0.8-1.3l-1.5-4.7c-0.2-0.5-0.8-0.8-1.3-0.6-2.9 1.2-5.7 2.7-8.2 4.6-0.4 0.3-0.5 0.9-0.2 1.4l2 2.8c0.3 0.4 0.8 0.5 1.2 0.3z"/><path d="m62.754 33.454-2.8 8.6c-0.1 0.4 0 0.9 0.4 1.1 1.7 1 3.4 2.2 4.9 3.6 0.4 0.4 1.1 0.3 1.5-0.1l5.7-7.9c0.3-0.4 0.2-1.1-0.2-1.4-2.5-1.9-5.3-3.4-8.2-4.6-0.5-0.1-1.1 0.2-1.3 0.7z"/><path d="m67.154 48.654c1.3 1.4 2.5 2.8 3.5 4.4 0.3 0.5 0.9 0.6 1.4 0.3l8.3-6c0.4-0.3 0.5-0.9 0.2-1.4-1.8-2.5-3.9-4.8-6.2-6.8-0.4-0.4-1.1-0.3-1.5 0.2l-5.9 8.1c-0.2 0.3-0.1 0.9 0.2 1.2z"/><path d="m23.654 48.154c1.8-2 3.9-3.7 6.2-5.1 0.5-0.3 0.6-1 0.3-1.4l-1.7-2.4c-0.3-0.5-1-0.6-1.5-0.2-2.3 2-4.4 4.3-6.2 6.8-0.3 0.4-0.2 1.1 0.2 1.4l1.4 1c0.4 0.4 1 0.3 1.3-0.1z"/><path d="m15.954 57.654 0.5 0.2c0.5 0.2 1-0.1 1.2-0.6 1.1-2.6 2.5-5 4.2-7.1 0.4-0.4 0.3-1.1-0.2-1.4l-1.2-0.8c-0.3-0.4-1-0.2-1.3 0.3-1.6 2.5-2.9 5.3-3.8 8.2-0.2 0.5 0.1 1.1 0.6 1.2z"/><path d="m75.054 62.754c0.4 1.7 0.7 3.5 0.9 5.3 0 0.5 0.5 0.9 1 0.9h10.2c0.6 0 1-0.5 1-1-0.1-3.1-0.5-6-1.3-8.9-0.1-0.6-0.7-0.9-1.3-0.7l-9.8 3.2c-0.5 0.2-0.8 0.7-0.7 1.2z"/><path d="m15.054 68.954c0.1-3.2 0.7-6.3 1.7-9.2 0.2-0.5-0.1-1.1-0.6-1.3l-0.3-0.1c-0.5-0.2-1.1 0.1-1.3 0.7-0.8 3.2-1.3 6.5-1.3 9.9z"/></svg>
+1 −1
Original line number Original line Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 100 100" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect width="100" height="100" ry="2" fill="#eeb517"/><path d="m52.928 42.009-11 21.7c-0.1 0.2-0.1 0.3-0.2 0.5-0.4 1.4 0.4 2.7 1.7 3.2 1.4 0.4 2.7-0.4 3.2-1.7l6.6-23.7c0-0.1-0.2-0.2-0.3 0zm-8.5 24.3c-0.8 0.1-1.5-0.4-1.6-1.1-0.1-0.8 0.4-1.5 1.1-1.6 0.8-0.1 1.5 0.4 1.6 1.1 0.1 0.8-0.4 1.5-1.1 1.6z"/><path d="m40.128 36.409c0.1 0.4 0.6 0.7 1 0.7 0.9-0.1 1.9-0.1 2.8-0.1 1.5 0 2.9 0.1 4.3 0.3 0.6 0.1 1.2-0.4 1.2-1v-6.9c0-0.6-0.5-1-1-1-3.2 0.1-6.4 0.7-9.3 1.6-0.5 0.2-0.8 0.7-0.6 1.3z"/><path d="m50.928 40.209c2.1 0.5 3.5 1 5.5 2 0.5 0.3 1.2 0 1.4-0.6l4.2-12.8c0.2-0.5-0.1-1.1-0.6-1.3-3-0.9-6.9-1.5-10.1-1.7-0.6 0-1 0.4-1 1v12.4c-0.1 0.5 0.2 0.9 0.6 1z"/><path d="m79.928 46.009-8.4 6.1c-0.4 0.3-0.5 0.8-0.3 1.3 0.9 1.6 1.6 3.2 2.2 4.9 0.2 0.5 0.7 0.8 1.2 0.6l9.8-3.2c0.5-0.2 0.8-0.7 0.6-1.3-1-2.9-2.3-5.7-3.8-8.2-0.2-0.4-0.9-0.5-1.3-0.2z"/><path d="m31.328 39.909c2.3-1.1 4.7-2 7.2-2.5 0.6-0.1 1-0.7 0.8-1.3l-1.5-4.7c-0.2-0.5-0.8-0.8-1.3-0.6-2.9 1.2-5.7 2.7-8.2 4.6-0.4 0.3-0.5 0.9-0.2 1.4l2 2.8c0.2 0.4 0.8 0.5 1.2 0.3z"/><path d="m61.828 31.509-2.8 8.6c-0.1 0.4 0 0.9 0.4 1.1 1.7 1 3.4 2.2 4.9 3.6 0.4 0.4 1.1 0.3 1.5-0.1l5.7-7.9c0.3-0.4 0.2-1.1-0.2-1.4-2.5-1.9-5.3-3.4-8.2-4.6-0.5-0.1-1.1 0.2-1.3 0.7z"/><path d="m66.328 46.709c1.3 1.4 2.5 2.8 3.5 4.4 0.3 0.5 0.9 0.6 1.4 0.3l8.3-6c0.4-0.3 0.5-0.9 0.2-1.4-1.8-2.5-3.9-4.8-6.2-6.8-0.4-0.4-1.1-0.3-1.5 0.2l-5.8 8.1c-0.3 0.3-0.3 0.9 0.1 1.2z"/><path d="m22.828 46.209c1.8-2 3.9-3.7 6.2-5.1 0.5-0.3 0.6-1 0.3-1.4l-1.8-2.4c-0.3-0.5-1-0.6-1.5-0.2-2.3 2-4.4 4.3-6.2 6.8-0.3 0.4-0.2 1.1 0.2 1.4l1.4 1c0.5 0.4 1 0.3 1.4-0.1z"/><path d="m15.128 55.709 0.5 0.2c0.5 0.2 1-0.1 1.2-0.6 1.1-2.6 2.5-5 4.2-7.1 0.4-0.4 0.3-1.1-0.2-1.4l-1.2-0.8c-0.5-0.3-1.1-0.2-1.4 0.3-1.6 2.5-2.9 5.3-3.8 8.2-0.1 0.5 0.2 1.1 0.7 1.2z"/><path d="m74.228 60.809c0.4 1.7 0.7 3.5 0.9 5.3 0 0.5 0.5 0.9 1 0.9h10.2c0.6 0 1-0.5 1-1-0.1-3.1-0.5-6-1.3-8.9-0.1-0.6-0.7-0.9-1.3-0.7l-9.8 3.2c-0.6 0.2-0.8 0.7-0.7 1.2z"/><path d="m14.228 67.009c0.1-3.2 0.7-6.3 1.7-9.2 0.2-0.5-0.1-1.1-0.6-1.3l-0.3-0.1c-0.5-0.2-1.1 0.1-1.3 0.7-0.8 3.2-1.3 6.5-1.3 9.9z"/></svg>
<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="#eeb517" stroke="#000" stroke-width="2"/><path d="m53.928 43.009-11 21.7c-0.1 0.2-0.1 0.3-0.2 0.5-0.4 1.4 0.4 2.7 1.7 3.2 1.4 0.4 2.7-0.4 3.2-1.7l6.6-23.7c0-0.1-0.2-0.2-0.3 0zm-8.5 24.3c-0.8 0.1-1.5-0.4-1.6-1.1-0.1-0.8 0.4-1.5 1.1-1.6 0.8-0.1 1.5 0.4 1.6 1.1 0.1 0.8-0.4 1.5-1.1 1.6z"/><path d="m41.128 37.409c0.1 0.4 0.6 0.7 1 0.7 0.9-0.1 1.9-0.1 2.8-0.1 1.5 0 2.9 0.1 4.3 0.3 0.6 0.1 1.2-0.4 1.2-1v-6.9c0-0.6-0.5-1-1-1-3.2 0.1-6.4 0.7-9.3 1.6-0.5 0.2-0.8 0.7-0.6 1.3z"/><path d="m51.928 41.209c2.1 0.5 3.5 1 5.5 2 0.5 0.3 1.2 0 1.4-0.6l4.2-12.8c0.2-0.5-0.1-1.1-0.6-1.3-3-0.9-6.9-1.5-10.1-1.7-0.6 0-1 0.4-1 1v12.4c-0.1 0.5 0.2 0.9 0.6 1z"/><path d="m80.928 47.009-8.4 6.1c-0.4 0.3-0.5 0.8-0.3 1.3 0.9 1.6 1.6 3.2 2.2 4.9 0.2 0.5 0.7 0.8 1.2 0.6l9.8-3.2c0.5-0.2 0.8-0.7 0.6-1.3-1-2.9-2.3-5.7-3.8-8.2-0.2-0.4-0.9-0.5-1.3-0.2z"/><path d="m32.328 40.909c2.3-1.1 4.7-2 7.2-2.5 0.6-0.1 1-0.7 0.8-1.3l-1.5-4.7c-0.2-0.5-0.8-0.8-1.3-0.6-2.9 1.2-5.7 2.7-8.2 4.6-0.4 0.3-0.5 0.9-0.2 1.4l2 2.8c0.2 0.4 0.8 0.5 1.2 0.3z"/><path d="m62.828 32.509-2.8 8.6c-0.1 0.4 0 0.9 0.4 1.1 1.7 1 3.4 2.2 4.9 3.6 0.4 0.4 1.1 0.3 1.5-0.1l5.7-7.9c0.3-0.4 0.2-1.1-0.2-1.4-2.5-1.9-5.3-3.4-8.2-4.6-0.5-0.1-1.1 0.2-1.3 0.7z"/><path d="m67.328 47.709c1.3 1.4 2.5 2.8 3.5 4.4 0.3 0.5 0.9 0.6 1.4 0.3l8.3-6c0.4-0.3 0.5-0.9 0.2-1.4-1.8-2.5-3.9-4.8-6.2-6.8-0.4-0.4-1.1-0.3-1.5 0.2l-5.8 8.1c-0.3 0.3-0.3 0.9 0.1 1.2z"/><path d="m23.828 47.209c1.8-2 3.9-3.7 6.2-5.1 0.5-0.3 0.6-1 0.3-1.4l-1.8-2.4c-0.3-0.5-1-0.6-1.5-0.2-2.3 2-4.4 4.3-6.2 6.8-0.3 0.4-0.2 1.1 0.2 1.4l1.4 1c0.5 0.4 1 0.3 1.4-0.1z"/><path d="m16.128 56.709 0.5 0.2c0.5 0.2 1-0.1 1.2-0.6 1.1-2.6 2.5-5 4.2-7.1 0.4-0.4 0.3-1.1-0.2-1.4l-1.2-0.8c-0.5-0.3-1.1-0.2-1.4 0.3-1.6 2.5-2.9 5.3-3.8 8.2-0.1 0.5 0.2 1.1 0.7 1.2z"/><path d="m75.228 61.809c0.4 1.7 0.7 3.5 0.9 5.3 0 0.5 0.5 0.9 1 0.9h10.2c0.6 0 1-0.5 1-1-0.1-3.1-0.5-6-1.3-8.9-0.1-0.6-0.7-0.9-1.3-0.7l-9.8 3.2c-0.6 0.2-0.8 0.7-0.7 1.2z"/><path d="m15.228 68.009c0.1-3.2 0.7-6.3 1.7-9.2 0.2-0.5-0.1-1.1-0.6-1.3l-0.3-0.1c-0.5-0.2-1.1 0.1-1.3 0.7-0.8 3.2-1.3 6.5-1.3 9.9z"/></svg>
+15 −17
Original line number Original line Diff line number Diff line
@@ -75,22 +75,20 @@
        </g>
        </g>
        <path d="m24.549 1119.5c0.66325 0 1.1979-0.5346 1.1979-1.1979v-0.3333c0 0.6632-0.53461 1.1978-1.1979 1.1978h-20.354c-0.66325 0-1.1979-0.5346-1.1979-1.1978v0.3333c0 0.6633 0.53461 1.1979 1.1979 1.1979z" fill="#263238" opacity=".2"/>
        <path d="m24.549 1119.5c0.66325 0 1.1979-0.5346 1.1979-1.1979v-0.3333c0 0.6632-0.53461 1.1978-1.1979 1.1978h-20.354c-0.66325 0-1.1979-0.5346-1.1979-1.1978v0.3333c0 0.6633 0.53461 1.1979 1.1979 1.1979z" fill="#263238" opacity=".2"/>
    </g>
    </g>
    <g transform="matrix(.038348 0 0 .038348 27.456 6.3822)" fill="#fff">
    <rect x="7.6535" y="11.758" width="13.441" height=".48" fill="#fff" stroke="#fff" stroke-width=".238"/>
        <rect x="-516.39" y="145.8" width="350.49" height="12.517"/>
    <rect x="7.6535" y="16.526" width="13.441" height=".48" fill="#fff" stroke="#fff" stroke-width=".238"/>
        <rect x="-516.39" y="258.45" width="350.49" height="12.517"/>
    <rect transform="rotate(90)" x="7.6531" y="-12.418" width="13.441" height=".48" fill="#fff" stroke="#fff" stroke-width=".238"/>
        <rect transform="rotate(90)" x="33.14" y="391.22" width="350.49" height="12.517"/>
    <rect transform="rotate(90)" x="7.6531" y="-16.936" width="13.441" height=".48" fill="#fff" stroke="#fff" stroke-width=".238"/>
        <rect transform="rotate(90)" x="33.14" y="278.56" width="350.49" height="12.517"/>
    <g transform="matrix(.58845 0 0 .58845 1.0863 -590.35)" fill="#fff">
        <g transform="matrix(12.517,0,0,12.517,-641.56,-12664)">
        <path d="m12.848 1016.5h3.7383v1.1054h-2.5391v0.9024c0.11458-0.031 0.22916-0.055 0.34375-0.07 0.11718-0.018 0.23828-0.027 0.36328-0.027 0.71093 0 1.2643 0.1784 1.6602 0.5352 0.39583 0.3541 0.59374 0.8489 0.59375 1.4843-5e-6 0.6302-0.21615 1.1237-0.64844 1.4805-0.42969 0.3568-1.0273 0.5352-1.793 0.5352-0.33073 0-0.65886-0.033-0.98438-0.098-0.32292-0.063-0.64453-0.1588-0.96484-0.2891v-1.1835c0.31771 0.1822 0.61849 0.319 0.90234 0.4101 0.28646 0.091 0.55599 0.1367 0.80859 0.1367 0.36458 0 0.65104-0.088 0.85938-0.2656 0.21093-0.1797 0.3164-0.4219 0.31641-0.7266-3e-6 -0.3073-0.10547-0.5494-0.31641-0.7265-0.20834-0.1771-0.49479-0.2656-0.85938-0.2656-0.21615 0-0.44662 0.029-0.69141 0.086-0.24479 0.055-0.50781 0.1406-0.78906 0.2578v-3.2812"/>
        <path d="m12.848 1016.5h3.7383v1.1054h-2.5391v0.9024c0.11458-0.031 0.22916-0.055 0.34375-0.07 0.11718-0.018 0.23828-0.027 0.36328-0.027 0.71093 0 1.2643 0.1784 1.6602 0.5352 0.39583 0.3541 0.59374 0.8489 0.59375 1.4843-5e-6 0.6302-0.21615 1.1237-0.64844 1.4805-0.42969 0.3568-1.0273 0.5352-1.793 0.5352-0.33073 0-0.65886-0.033-0.98438-0.098-0.32292-0.063-0.64453-0.1588-0.96484-0.2891v-1.1835c0.31771 0.1822 0.61849 0.319 0.90234 0.4101 0.28646 0.091 0.55599 0.1367 0.80859 0.1367 0.36458 0 0.65104-0.088 0.85938-0.2656 0.21093-0.1797 0.3164-0.4219 0.31641-0.7266-3e-6 -0.3073-0.10547-0.5494-0.31641-0.7265-0.20834-0.1771-0.49479-0.2656-0.85938-0.2656-0.21615 0-0.44662 0.029-0.69141 0.086-0.24479 0.055-0.50781 0.1406-0.78906 0.2578v-3.2812"/>
    </g>
    </g>
        <g transform="matrix(12.517,0,0,12.517,-644.88,-12664)">
    <g transform="matrix(.5886 0 0 .5886 .1397 -590.5)" fill="#fff">
        <path d="m23.863 1021.3h2.5664v1.1055h-4.2383v-1.1055l2.1289-1.8789c0.1901-0.1719 0.33073-0.3398 0.42188-0.5039 0.09114-0.1641 0.13672-0.3346 0.13672-0.5117-3e-6 -0.2735-0.09245-0.4935-0.27734-0.6602-0.1823-0.1666-0.42578-0.25-0.73047-0.25-0.23438 0-0.49089 0.051-0.76953 0.1524-0.27865 0.099-0.57682 0.2474-0.89453 0.4453v-1.2813c0.33854-0.1119 0.67318-0.1966 1.0039-0.2539 0.33073-0.06 0.65494-0.09 0.97266-0.09 0.69791 0 1.2396 0.1536 1.625 0.4609 0.38802 0.3073 0.58203 0.7357 0.58203 1.2852-5e-6 0.3177-0.08204 0.6146-0.24609 0.8906-0.16407 0.2734-0.50912 0.6406-1.0352 1.1016l-1.2461 1.0937"/>
        <path d="m23.863 1021.3h2.5664v1.1055h-4.2383v-1.1055l2.1289-1.8789c0.1901-0.1719 0.33073-0.3398 0.42188-0.5039 0.09114-0.1641 0.13672-0.3346 0.13672-0.5117-3e-6 -0.2735-0.09245-0.4935-0.27734-0.6602-0.1823-0.1666-0.42578-0.25-0.73047-0.25-0.23438 0-0.49089 0.051-0.76953 0.1524-0.27865 0.099-0.57682 0.2474-0.89453 0.4453v-1.2813c0.33854-0.1119 0.67318-0.1966 1.0039-0.2539 0.33073-0.06 0.65494-0.09 0.97266-0.09 0.69791 0 1.2396 0.1536 1.625 0.4609 0.38802 0.3073 0.58203 0.7357 0.58203 1.2852-5e-6 0.3177-0.08204 0.6146-0.24609 0.8906-0.16407 0.2734-0.50912 0.6406-1.0352 1.1016l-1.2461 1.0937"/>
    </g>
    </g>
        <g transform="matrix(12.517,0,0,12.517,-641.56,-12664)">
    <g transform="matrix(.58243 0 0 .58243 .37737 -584.59)" fill="#fff">
        <path d="m25.169 1028.2c0.39322 0.1015 0.6914 0.2786 0.89453 0.5312 0.20572 0.25 0.30859 0.569 0.30859 0.957-5e-6 0.5782-0.22136 1.0183-0.66406 1.3203-0.44271 0.2995-1.0885 0.4493-1.9375 0.4493-0.29948 0-0.60026-0.025-0.90234-0.074-0.29948-0.047-0.59636-0.1184-0.89062-0.2148v-1.1602c0.28125 0.1407 0.5599 0.2474 0.83594 0.3204 0.27864 0.07 0.55208 0.1054 0.82031 0.1054 0.39844 0 0.70312-0.069 0.91406-0.207 0.21354-0.138 0.32031-0.3359 0.32031-0.5938-3e-6 -0.2656-0.10938-0.4661-0.32812-0.6015-0.21615-0.138-0.53646-0.207-0.96094-0.207h-0.60156v-0.9688h0.63281c0.3776 0 0.65885-0.059 0.84375-0.1758 0.18489-0.1198 0.27734-0.3008 0.27734-0.5429-4e-6 -0.224-0.08985-0.3972-0.26953-0.5196-0.17969-0.1224-0.4336-0.1836-0.76172-0.1836-0.24219 0-0.48698 0.027-0.73438 0.082s-0.49349 0.1354-0.73828 0.2421v-1.1015c0.29687-0.083 0.59114-0.1458 0.88281-0.1875 0.29166-0.042 0.57812-0.063 0.85938-0.063 0.75781 0 1.3242 0.125 1.6992 0.375 0.3776 0.2474 0.5664 0.6211 0.56641 1.1211-5e-6 0.3411-0.08985 0.6211-0.26953 0.8398-0.17969 0.2162-0.44532 0.3685-0.79688 0.4571"/>
        <path d="m25.169 1028.2c0.39322 0.1015 0.6914 0.2786 0.89453 0.5312 0.20572 0.25 0.30859 0.569 0.30859 0.957-5e-6 0.5782-0.22136 1.0183-0.66406 1.3203-0.44271 0.2995-1.0885 0.4493-1.9375 0.4493-0.29948 0-0.60026-0.025-0.90234-0.074-0.29948-0.047-0.59636-0.1184-0.89062-0.2148v-1.1602c0.28125 0.1407 0.5599 0.2474 0.83594 0.3204 0.27864 0.07 0.55208 0.1054 0.82031 0.1054 0.39844 0 0.70312-0.069 0.91406-0.207 0.21354-0.138 0.32031-0.3359 0.32031-0.5938-3e-6 -0.2656-0.10938-0.4661-0.32812-0.6015-0.21615-0.138-0.53646-0.207-0.96094-0.207h-0.60156v-0.9688h0.63281c0.3776 0 0.65885-0.059 0.84375-0.1758 0.18489-0.1198 0.27734-0.3008 0.27734-0.5429-4e-6 -0.224-0.08985-0.3972-0.26953-0.5196-0.17969-0.1224-0.4336-0.1836-0.76172-0.1836-0.24219 0-0.48698 0.027-0.73438 0.082s-0.49349 0.1354-0.73828 0.2421v-1.1015c0.29687-0.083 0.59114-0.1458 0.88281-0.1875 0.29166-0.042 0.57812-0.063 0.85938-0.063 0.75781 0 1.3242 0.125 1.6992 0.375 0.3776 0.2474 0.5664 0.6211 0.56641 1.1211-5e-6 0.3411-0.08985 0.6211-0.26953 0.8398-0.17969 0.2162-0.44532 0.3685-0.79688 0.4571"/>
    </g>
    </g>
        <g transform="matrix(12.517,0,0,12.517,-641.56,-12664)">
    <g transform="matrix(.61468 0 0 .61468 -1.3347 -618.51)" fill="#fff">
        <path d="m31.154 1040.2v-1.0781c0.23958 0.1119 0.46875 0.1966 0.6875 0.2539 0.21875 0.055 0.43489 0.082 0.64844 0.082 0.44791 0 0.79687-0.1237 1.0469-0.3711 0.25-0.25 0.39713-0.6198 0.44141-1.1094-0.17709 0.1302-0.36589 0.2279-0.56641 0.293-0.20052 0.065-0.41797 0.098-0.65234 0.098-0.59636 0-1.0781-0.1731-1.4453-0.5195-0.36458-0.3489-0.54688-0.8073-0.54688-1.375 0-0.6276 0.20312-1.1302 0.60938-1.5078 0.40885-0.3776 0.95573-0.5664 1.6406-0.5664 0.76041 0 1.349 0.2565 1.7656 0.7695 0.41666 0.5131 0.625 1.2383 0.625 2.1758-5e-6 0.9636-0.24349 1.7214-0.73047 2.2734-0.48698 0.5495-1.155 0.8243-2.0039 0.8243-0.27344 0-0.53516-0.021-0.78516-0.063-0.25-0.039-0.49479-0.099-0.73438-0.1797m1.8555-2.8086c0.26302 0 0.46093-0.085 0.59375-0.2539 0.13281-0.1719 0.19922-0.4284 0.19922-0.7696-4e-6 -0.3385-0.06641-0.5937-0.19922-0.7656-0.13282-0.1718-0.33073-0.2578-0.59375-0.2578s-0.46094 0.086-0.59375 0.2578c-0.13282 0.1719-0.19922 0.4271-0.19922 0.7656-2e-6 0.3412 0.0664 0.5977 0.19922 0.7696 0.13281 0.1693 0.33073 0.2539 0.59375 0.2539"/>
        <path d="m31.154 1040.2v-1.0781c0.23958 0.1119 0.46875 0.1966 0.6875 0.2539 0.21875 0.055 0.43489 0.082 0.64844 0.082 0.44791 0 0.79687-0.1237 1.0469-0.3711 0.25-0.25 0.39713-0.6198 0.44141-1.1094-0.17709 0.1302-0.36589 0.2279-0.56641 0.293-0.20052 0.065-0.41797 0.098-0.65234 0.098-0.59636 0-1.0781-0.1731-1.4453-0.5195-0.36458-0.3489-0.54688-0.8073-0.54688-1.375 0-0.6276 0.20312-1.1302 0.60938-1.5078 0.40885-0.3776 0.95573-0.5664 1.6406-0.5664 0.76041 0 1.349 0.2565 1.7656 0.7695 0.41666 0.5131 0.625 1.2383 0.625 2.1758-5e-6 0.9636-0.24349 1.7214-0.73047 2.2734-0.48698 0.5495-1.155 0.8243-2.0039 0.8243-0.27344 0-0.53516-0.021-0.78516-0.063-0.25-0.039-0.49479-0.099-0.73438-0.1797m1.8555-2.8086c0.26302 0 0.46093-0.085 0.59375-0.2539 0.13281-0.1719 0.19922-0.4284 0.19922-0.7696-4e-6 -0.3385-0.06641-0.5937-0.19922-0.7656-0.13282-0.1718-0.33073-0.2578-0.59375-0.2578s-0.46094 0.086-0.59375 0.2578c-0.13282 0.1719-0.19922 0.4271-0.19922 0.7656-2e-6 0.3412 0.0664 0.5977 0.19922 0.7696 0.13281 0.1693 0.33073 0.2539 0.59375 0.2539"/>
    </g>
    </g>
    </g>
</svg>
</svg>

icons/size_2.svg

deleted100644 → 0
+0 −2
Original line number Original line Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 100 100" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect width="100" height="100" ry="2" fill="#6afffe"/><path d="m8.016 8.1944v83.701h83.701v-83.701zm60.683 60.683h-14.648v-14.648h14.648zm0 4.185v14.648h-14.648v-14.648zm4.185 0h14.648v14.648h-14.648zm0-4.185v-14.648h14.648v14.648zm0-23.018v-14.648h14.648v14.648zm-4.185 0h-14.648v-14.648h14.648zm-23.018 0h-14.648v-14.648h14.648zm0 8.3701v14.648h-14.648v-14.648zm0 18.833v14.648h-14.648v-14.648zm41.85-46.035h-14.648v-14.648h14.648zm-18.833-14.648v14.648h-14.648v-14.648zm-23.018 14.648h-14.648v-14.648h14.648zm-33.48-14.648h14.648v14.648h-14.648zm0 18.833h14.648v14.648h-14.648zm0 23.018h14.648v14.648h-14.648zm0 18.833h14.648v14.648h-14.648z" stroke-width="2.0925"/></svg>

icons/size_2x2.svg

0 → 100644
+3 −0
Original line number Original line Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 100 100" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m-131.88 32.018v109.82h109.82v-109.82zm79.618 79.618h-19.218v-19.218h19.218zm0 5.4908v19.218h-19.218v-19.218zm5.4908 0h19.218v19.218h-19.218zm0-5.4908v-19.218h19.218v19.218zm0-30.201v-19.218h19.218v19.218zm-5.4908 0h-19.218v-19.218h19.218zm-30.201 0h-19.218v-19.218h19.218zm0 10.982v19.218h-19.218v-19.218zm0 24.71v19.218h-19.218v-19.218zm54.908-60.398h-19.218v-19.218h19.218zm-24.71-19.218v19.218h-19.218v-19.218zm-30.201 19.218h-19.218v-19.218h19.218zm-43.926-19.218h19.218v19.218h-19.218zm0 24.71h19.218v19.218h-19.218zm0 30.201h19.218v19.218h-19.218zm0 24.71h19.218v19.218h-19.218z" stroke-width="2.7453"/><rect width="100" height="100" ry="0" fill="#c5ffc5" stroke="#000" stroke-width="2"/>
  <g transform="matrix(1.0152 0 0 1.0152 -.96259 -57.631)" fill="#00c700" stroke="#003e00" stroke-width="1.6198" aria-label="2x2"><path d="m35.254 91.326h-23.867q0.41016-3.5352 2.4805-6.6406 2.0898-3.125 7.8125-7.3633 3.4961-2.5977 4.4727-3.9453 0.97656-1.3477 0.97656-2.5586 0-1.3086-0.97656-2.2266-0.95703-0.9375-2.4219-0.9375-1.5234 0-2.5 0.95703-0.95703 0.95703-1.2891 3.3789l-7.9688-0.64453q0.46875-3.3594 1.7188-5.2344 1.25-1.8945 3.5156-2.8906 2.2852-1.0156 6.3086-1.0156 4.1992 0 6.5234 0.95703 2.3438 0.95703 3.6719 2.9492 1.3477 1.9727 1.3477 4.4336 0 2.6172-1.543 5-1.5234 2.3828-5.5664 5.2344-2.4023 1.6602-3.2227 2.3242-0.80078 0.66406-1.8945 1.7383h12.422z"/><path d="m37.617 70.584h9.4336l3.3008 5.7812 3.8281-5.7812h8.7695l-7.0703 9.8828 7.5781 10.859h-9.2773l-3.8281-6.6797-4.5117 6.6797h-8.6133l7.5391-10.859z"/><path d="m88.613 91.326h-23.867q0.41016-3.5352 2.4805-6.6406 2.0898-3.125 7.8125-7.3633 3.4961-2.5977 4.4727-3.9453 0.97656-1.3477 0.97656-2.5586 0-1.3086-0.97656-2.2266-0.95703-0.9375-2.4219-0.9375-1.5234 0-2.5 0.95703-0.95703 0.95703-1.2891 3.3789l-7.9688-0.64453q0.46875-3.3594 1.7188-5.2344 1.25-1.8945 3.5156-2.8906 2.2852-1.0156 6.3086-1.0156 4.1992 0 6.5234 0.95703 2.3438 0.95703 3.6719 2.9492 1.3477 1.9727 1.3477 4.4336 0 2.6172-1.543 5-1.5234 2.3828-5.5664 5.2344-2.4023 1.6602-3.2227 2.3242-0.80078 0.66406-1.8945 1.7383h12.422z"/></g><path d="m22.09 40.056v55.821h55.821v-55.821zm49.417 49.417h-19.218v-19.218h19.218zm-0.0022-24.706h-19.217v-19.218h19.218zm-43.926-19.218h19.218v19.218h-19.218zm0 24.71h19.218v19.218h-19.218z" stroke-width="2.7453"/></svg>

icons/size_3.svg

deleted100644 → 0
+0 −2
Original line number Original line Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 100 100" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect width="100" height="100" ry="2" fill="#6afffe"/><path d="m65.824 4.0024h-62v90h90v-90zm9 79v-8h8v8zm8 2v7h-8v-7zm-38-2v-8h8v8zm8 2v7h-8v-7zm-38-2v-8h8v8zm8 2v7h-8v-7zm0-70v8h-8v-8zm-8-2v-7h8v7zm38 2v8h-8v-8zm-8-2v-7h8v7zm0 30v-7h8v7zm8 2v8h-8v-8zm-10-2h-7v-7h7zm0 2v8h-7v-8zm0 10v7h-7v-7zm2 0h8v7h-8zm10 0h7v7h-7zm0-2v-8h7v8zm0-10v-7h7v7zm0-11v-7h7v7zm-2 0h-8v-7h8zm-10 0h-7v-7h7zm-11 0h-7v-7h7zm0 4v7h-7v-7zm0 9v8h-7v-8zm0 10v7h-7v-7zm0 11v7h-7v-7zm4 0h7v7h-7zm9 0h8v7h-8zm10 0h7v7h-7zm11 0h7v7h-7zm0-4v-7h7v7zm0-9v-8h7v8zm0-10v-7h7v7zm0-11v-7h7v7zm0-9v-8h7v8zm-4 0h-7v-8h7zm-19 0h-7v-8h7zm-11 0h-7v-8h7zm-9 2v7h-8v-7zm0 11v7h-8v-7zm0 9v8h-8v-8zm0 10v7h-8v-7zm0 11v7h-8v-7zm2 9h7v8h-7zm11 0h7v8h-7zm19 0h7v8h-7zm11 0h7v8h-7zm9-2v-7h8v7zm0-11v-7h8v7zm0-9v-8h8v8zm0-10v-7h8v7zm0-11v-7h8v7zm0-9v-8h8v8zm0-10v-7h8v7zm-2-7v7h-7v-7zm-11 7h-7v-7h7zm-19-7v7h-7v-7zm-11 7h-7v-7h7zm-26-7h7v7h-7zm0 9h7v8h-7zm0 10h7v7h-7zm0 11h7v7h-7zm0 9h7v8h-7zm0 10h7v7h-7zm0 11h7v7h-7zm0 9h7v8h-7zm0 10h7v7h-7zm19 7v-7h7v7zm11-7h7v7h-7zm19 7v-7h7v7zm11-7h7v7h-7zm26 7h-7v-7h7zm0-9h-7v-8h7zm0-10h-7v-7h7zm0-11h-7v-7h7zm0-9h-7v-8h7zm0-10h-7v-7h7zm0-11h-7v-7h7zm0-9h-7v-8h7zm-7-10v-7h7v7z"/></svg>

icons/size_3x2.svg

0 → 100644
+3 −0

File added.

Preview size limit exceeded, changes collapsed.

icons/size_3x3.svg

0 → 100644
+3 −0

File added.

Preview size limit exceeded, changes collapsed.

+1 −1

File changed.

Preview size limit exceeded, changes collapsed.

+1 −1

File changed.

Preview size limit exceeded, changes collapsed.

+1 −1

File changed.

Preview size limit exceeded, changes collapsed.

+44 −34

File changed.

Preview size limit exceeded, changes collapsed.

lib/layout/board.dart

0 → 100644
+53 −0

File added.

Preview size limit exceeded, changes collapsed.

lib/layout/game.dart

0 → 100644
+61 −0

File added.

Preview size limit exceeded, changes collapsed.

+101 −0

File added.

Preview size limit exceeded, changes collapsed.

+6 −1

File changed.

Preview size limit exceeded, changes collapsed.

+24 −5

File changed.

Preview size limit exceeded, changes collapsed.

+26 −424

File changed.

Preview size limit exceeded, changes collapsed.

+256 −0

File added.

Preview size limit exceeded, changes collapsed.

+17 −0

File added.

Preview size limit exceeded, changes collapsed.

+4 −7

File changed.

Preview size limit exceeded, changes collapsed.

+3 −3

File changed.

Preview size limit exceeded, changes collapsed.