Skip to content
Snippets Groups Projects
Commit fdfe03e7 authored by Benoît Harrault's avatar Benoît Harrault
Browse files

Improve manage data script

parent 80f7f971
Branches
Tags
1 merge request!22Resolve "Improve manage data script"
Pipeline #5566 passed
org.gradle.jvmargs=-Xmx1536M org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true
app.versionName=0.0.19 app.versionName=0.0.20
app.versionCode=19 app.versionCode=20
Improve data and management script.
Améliorations des données et du script de gestion.
...@@ -73,7 +73,7 @@ class GameData { ...@@ -73,7 +73,7 @@ class GameData {
"ABEILLE": { "ABEILLE": {
"is": ["naturel", "solide", "vivant"], "is": ["naturel", "solide", "vivant"],
"isnot": ["artificiel", "gazeux", "inerte", "liquide"], "isnot": ["artificiel", "gazeux", "inerte", "liquide"],
"na": ["liquide"] "na": []
}, },
"AMPOULE": { "AMPOULE": {
"is": ["artificiel", "inerte", "solide"], "is": ["artificiel", "inerte", "solide"],
...@@ -128,7 +128,7 @@ class GameData { ...@@ -128,7 +128,7 @@ class GameData {
"CANARD": { "CANARD": {
"is": ["naturel", "solide", "vivant"], "is": ["naturel", "solide", "vivant"],
"isnot": ["artificiel", "gazeux", "inerte", "liquide"], "isnot": ["artificiel", "gazeux", "inerte", "liquide"],
"na": ["liquide"] "na": []
}, },
"CASQUETTE": { "CASQUETTE": {
"is": ["artificiel", "inerte", "solide"], "is": ["artificiel", "inerte", "solide"],
...@@ -158,7 +158,7 @@ class GameData { ...@@ -158,7 +158,7 @@ class GameData {
"CONFITURE": { "CONFITURE": {
"is": ["artificiel", "inerte", "solide"], "is": ["artificiel", "inerte", "solide"],
"isnot": ["gazeux", "liquide", "naturel", "vivant"], "isnot": ["gazeux", "liquide", "naturel", "vivant"],
"na": ["liquide"] "na": []
}, },
"CORDE": { "CORDE": {
"is": ["artificiel", "inerte", "solide"], "is": ["artificiel", "inerte", "solide"],
...@@ -178,12 +178,12 @@ class GameData { ...@@ -178,12 +178,12 @@ class GameData {
"FENÊTRE": { "FENÊTRE": {
"is": ["artificiel", "inerte", "solide"], "is": ["artificiel", "inerte", "solide"],
"isnot": ["gazeux", "liquide", "naturel", "vivant"], "isnot": ["gazeux", "liquide", "naturel", "vivant"],
"na": ["liquide"] "na": []
}, },
"FOURMI": { "FOURMI": {
"is": ["naturel", "solide", "vivant"], "is": ["naturel", "solide", "vivant"],
"isnot": ["artificiel", "gazeux", "inerte", "liquide"], "isnot": ["artificiel", "gazeux", "inerte", "liquide"],
"na": ["liquide"] "na": []
}, },
"FUSÉE": { "FUSÉE": {
"is": ["artificiel", "inerte", "solide"], "is": ["artificiel", "inerte", "solide"],
...@@ -218,7 +218,7 @@ class GameData { ...@@ -218,7 +218,7 @@ class GameData {
"LICORNE": { "LICORNE": {
"is": ["naturel", "solide", "vivant"], "is": ["naturel", "solide", "vivant"],
"isnot": ["artificiel", "gazeux", "inerte", "liquide"], "isnot": ["artificiel", "gazeux", "inerte", "liquide"],
"na": ["naturel"] "na": []
}, },
"LIVRE": { "LIVRE": {
"is": ["artificiel", "inerte", "solide"], "is": ["artificiel", "inerte", "solide"],
...@@ -238,7 +238,7 @@ class GameData { ...@@ -238,7 +238,7 @@ class GameData {
"NOEUD": { "NOEUD": {
"is": ["artificiel", "inerte"], "is": ["artificiel", "inerte"],
"isnot": ["gazeux", "liquide", "naturel", "vivant"], "isnot": ["gazeux", "liquide", "naturel", "vivant"],
"na": ["artificiel", "solide"] "na": ["solide"]
}, },
"ORAGE": { "ORAGE": {
"is": ["inerte", "naturel"], "is": ["inerte", "naturel"],
...@@ -348,7 +348,7 @@ class GameData { ...@@ -348,7 +348,7 @@ class GameData {
"TORTUE": { "TORTUE": {
"is": ["naturel", "solide", "vivant"], "is": ["naturel", "solide", "vivant"],
"isnot": ["artificiel", "gazeux", "inerte", "liquide"], "isnot": ["artificiel", "gazeux", "inerte", "liquide"],
"na": ["liquide"] "na": []
}, },
"TROMPETTE": { "TROMPETTE": {
"is": ["artificiel", "inerte", "solide"], "is": ["artificiel", "inerte", "solide"],
...@@ -358,7 +358,7 @@ class GameData { ...@@ -358,7 +358,7 @@ class GameData {
"VACHE": { "VACHE": {
"is": ["naturel", "solide", "vivant"], "is": ["naturel", "solide", "vivant"],
"isnot": ["artificiel", "gazeux", "inerte", "liquide"], "isnot": ["artificiel", "gazeux", "inerte", "liquide"],
"na": ["liquide"] "na": []
}, },
"VOILIER": { "VOILIER": {
"is": ["artificiel", "inerte", "solide"], "is": ["artificiel", "inerte", "solide"],
......
...@@ -3,7 +3,7 @@ description: A sorting game application. ...@@ -3,7 +3,7 @@ description: A sorting game application.
publish_to: 'none' publish_to: 'none'
version: 0.0.19+19 version: 0.0.20+20
environment: environment:
sdk: '^3.0.0' sdk: '^3.0.0'
......
...@@ -99,9 +99,7 @@ ...@@ -99,9 +99,7 @@
"inerte", "inerte",
"liquide" "liquide"
], ],
"na": [ "na": []
"liquide"
]
}, },
"AMPOULE": { "AMPOULE": {
"is": [ "is": [
...@@ -255,9 +253,7 @@ ...@@ -255,9 +253,7 @@
"inerte", "inerte",
"liquide" "liquide"
], ],
"na": [ "na": []
"liquide"
]
}, },
"CASQUETTE": { "CASQUETTE": {
"is": [ "is": [
...@@ -342,9 +338,7 @@ ...@@ -342,9 +338,7 @@
"naturel", "naturel",
"vivant" "vivant"
], ],
"na": [ "na": []
"liquide"
]
}, },
"CORDE": { "CORDE": {
"is": [ "is": [
...@@ -401,9 +395,7 @@ ...@@ -401,9 +395,7 @@
"naturel", "naturel",
"vivant" "vivant"
], ],
"na": [ "na": []
"liquide"
]
}, },
"FOURMI": { "FOURMI": {
"is": [ "is": [
...@@ -417,9 +409,7 @@ ...@@ -417,9 +409,7 @@
"inerte", "inerte",
"liquide" "liquide"
], ],
"na": [ "na": []
"liquide"
]
}, },
"FUSÉE": { "FUSÉE": {
"is": [ "is": [
...@@ -518,9 +508,7 @@ ...@@ -518,9 +508,7 @@
"inerte", "inerte",
"liquide" "liquide"
], ],
"na": [ "na": []
"naturel"
]
}, },
"LIVRE": { "LIVRE": {
"is": [ "is": [
...@@ -577,7 +565,6 @@ ...@@ -577,7 +565,6 @@
"vivant" "vivant"
], ],
"na": [ "na": [
"artificiel",
"solide" "solide"
] ]
}, },
...@@ -895,9 +882,7 @@ ...@@ -895,9 +882,7 @@
"inerte", "inerte",
"liquide" "liquide"
], ],
"na": [ "na": []
"liquide"
]
}, },
"TROMPETTE": { "TROMPETTE": {
"is": [ "is": [
...@@ -925,9 +910,7 @@ ...@@ -925,9 +910,7 @@
"inerte", "inerte",
"liquide" "liquide"
], ],
"na": [ "na": []
"liquide"
]
}, },
"VOILIER": { "VOILIER": {
"is": [ "is": [
......
...@@ -67,6 +67,25 @@ function clean_item_mappings(array $itemMappings) ...@@ -67,6 +67,25 @@ function clean_item_mappings(array $itemMappings)
$itemMappings['isnot'] = array_clean($itemMappings['isnot']); $itemMappings['isnot'] = array_clean($itemMappings['isnot']);
$itemMappings['na'] = array_clean($itemMappings['na']); $itemMappings['na'] = array_clean($itemMappings['na']);
// remove duplicates
$itemMappings['is'] = array_clean($itemMappings['is']);
$tmpArray = [];
foreach (array_clean($itemMappings['isnot']) as $itemIsNot) {
if (!\in_array($itemIsNot, $itemMappings['is'])) {
$tmpArray[] = $itemIsNot;
}
}
$itemMappings['isnot'] = $tmpArray;
$tmpArray = [];
foreach (array_clean($itemMappings['na']) as $itemNa) {
if (!\in_array($itemNa, $itemMappings['is']) && !\in_array($itemNa, $itemMappings['isnot'])) {
$tmpArray[] = $itemNa;
}
}
$itemMappings['na'] = $tmpArray;
return $itemMappings; return $itemMappings;
} }
...@@ -133,7 +152,7 @@ foreach ($items as $item) { ...@@ -133,7 +152,7 @@ foreach ($items as $item) {
} }
// TODO: Should check/add unkown items from current mapping // TODO: Should check/add unkown items from current mapping
\ksort($mappingItems);
$data['mapping'] = [ $data['mapping'] = [
'items' => $mappingItems, 'items' => $mappingItems,
]; ];
...@@ -315,15 +334,17 @@ $exitMainLoop = false; ...@@ -315,15 +334,17 @@ $exitMainLoop = false;
while ($exitMainLoop === false) { while ($exitMainLoop === false) {
dump(''); dump('');
$missing = find_missing_associations($mappingItems, $categories, $items);
$menu = [ $menu = [
'0: exit', '0: exit',
'', '',
'1: show categories', '1: show categories (' . \count($categories) . ' found)',
'2: show items', '2: show items (' . \count($items) . ' found)',
'3: show exclusions', '3: show exclusions (' . \count($exclusions) . ' found)',
'4: show mappings', '4: show mappings (' . \count($mappingItems) . ' found)',
'', '',
'5: edit mappings', '5: complete mappings (' . \count($missing) . ' missing)',
]; ];
$answer = ask(\join("\n", $menu)); $answer = ask(\join("\n", $menu));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment