update zum PC

This commit is contained in:
silas 2018-11-12 18:10:45 +01:00
parent 651f6c90ec
commit 4d7f566656
4 changed files with 97 additions and 48 deletions

View File

@ -1,4 +1,4 @@
UPDATE Level SET deleted = 0 WHERE renderer in (80,81,82,83); -- UPDATE Level SET deleted = 0 WHERE renderer in (80,81,82,83);
UPDATE Level SET difficulty = 1000 WHERE deleted = 0 AND difficulty >= 80; UPDATE Level SET difficulty = 1000 WHERE deleted = 0 AND difficulty >= 80;
UPDATE Level SET difficulty = 80 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 80 AND difficulty = 1000 LIMIT 7) temp); UPDATE Level SET difficulty = 80 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 80 AND difficulty = 1000 LIMIT 7) temp);
@ -6,28 +6,76 @@ UPDATE Level SET difficulty = 80 WHERE id in ( SELECT * FROM (SELECT id FROM Lev
UPDATE Level SET difficulty = 80 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 82 AND difficulty = 1000 LIMIT 8) temp); UPDATE Level SET difficulty = 80 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 82 AND difficulty = 1000 LIMIT 8) temp);
UPDATE Level SET difficulty = 80 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 83 AND difficulty = 1000 LIMIT 7) temp); UPDATE Level SET difficulty = 80 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 83 AND difficulty = 1000 LIMIT 7) temp);
UPDATE Level SET difficulty = 90 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 83 AND difficulty = 1000 LIMIT 4) temp); UPDATE Level SET deleted = 0, difficulty = 1000 WHERE id in (SELECT * FROM (SELECT id FROM Level WHERE renderer = 82 AND deleted = 1 LIMIT 14) temp);
UPDATE Level SET difficulty = 90 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 82 AND difficulty = 1000 LIMIT 3) temp);
UPDATE Level SET difficulty = 90 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 81 AND difficulty = 1000 LIMIT 4) temp);
UPDATE Level SET difficulty = 90 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 80 AND difficulty = 1000 LIMIT 4) temp); UPDATE Level SET difficulty = 90 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 80 AND difficulty = 1000 LIMIT 4) temp);
UPDATE Level SET difficulty = 90 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 81 AND difficulty = 1000 LIMIT 4) temp);
UPDATE Level SET difficulty = 90 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 82 AND difficulty = 1000 LIMIT 3) temp);
UPDATE Level SET difficulty = 90 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 83 AND difficulty = 1000 LIMIT 4) temp);
UPDATE Level SET difficulty = 90 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 100 AND difficulty = 1000 LIMIT 5) temp); UPDATE Level SET difficulty = 90 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 100 AND difficulty = 1000 LIMIT 5) temp);
UPDATE Level SET deleted = 0, difficulty = 1000 WHERE id in (SELECT * FROM (SELECT id FROM Level WHERE renderer = 81 AND deleted = 1 LIMIT 10) temp);
UPDATE Level SET difficulty = 100 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 80 AND difficulty = 1000 LIMIT 2) temp); UPDATE Level SET difficulty = 100 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 80 AND difficulty = 1000 LIMIT 2) temp);
UPDATE Level SET difficulty = 100 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 81 AND difficulty = 1000 LIMIT 3) temp); UPDATE Level SET difficulty = 100 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 81 AND difficulty = 1000 LIMIT 2) temp);
UPDATE Level SET difficulty = 100 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 82 AND difficulty = 1000 LIMIT 2) temp); UPDATE Level SET difficulty = 100 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 82 AND difficulty = 1000 LIMIT 3) temp);
UPDATE Level SET difficulty = 100 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 83 AND difficulty = 1000 LIMIT 3) temp); UPDATE Level SET difficulty = 100 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 83 AND difficulty = 1000 LIMIT 3) temp);
UPDATE Level SET difficulty = 100 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 100 AND difficulty = 1000 LIMIT 10) temp); UPDATE Level SET difficulty = 100 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 100 AND difficulty = 1000 LIMIT 10) temp);
UPDATE Level SET difficulty = 110 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 80 AND difficulty = 1000 LIMIT 1) temp); UPDATE Level SET deleted = 0, difficulty = 1000 WHERE id in (SELECT * FROM (SELECT id FROM Level WHERE renderer = 80 AND deleted = 1 LIMIT 9) temp);
UPDATE Level SET words = REPLACE(words, "\\u00fc", "Ü");
UPDATE Level SET words = REPLACE(words, "\\u00dc", "Ü");
UPDATE Level SET words = REPLACE(words, "\\u00f6", "Ö");
UPDATE Level SET words = REPLACE(words, "\\u00df", "ß");
UPDATE Level SET words = REPLACE(words, "\\u00e4", "Ä");
UPDATE Word SET Word.used = 0;
UPDATE Word SET Word.used = 1 WHERE deleted = 0 AND (SELECT count(*) FROM Level WHERE words LIKE CONCAT("%\"", Word.word, "\"%") AND deleted = 0) > 0
-- GENERATE LEVELS!!!
UPDATE Level SET difficulty = 110 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 80 AND difficulty = 1000 LIMIT 2) temp);
UPDATE Level SET difficulty = 110 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 81 AND difficulty = 1000 LIMIT 1) temp); UPDATE Level SET difficulty = 110 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 81 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 110 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 82 AND difficulty = 1000 LIMIT 2) temp); UPDATE Level SET difficulty = 110 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 82 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 110 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 83 AND difficulty = 1000 LIMIT 1) temp); UPDATE Level SET difficulty = 110 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 83 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 110 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 100 AND difficulty = 1000 LIMIT 15) temp); UPDATE Level SET difficulty = 110 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 100 AND difficulty = 1000 LIMIT 15) temp);
UPDATE Level SET difficulty = 120 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 80 AND difficulty = 1000 LIMIT 2) temp); UPDATE Level SET difficulty = 120 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 80 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 120 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 81 AND difficulty = 1000 LIMIT 1) temp); UPDATE Level SET difficulty = 120 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 81 AND difficulty = 1000 LIMIT 2) temp);
UPDATE Level SET difficulty = 120 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 82 AND difficulty = 1000 LIMIT 1) temp); UPDATE Level SET difficulty = 120 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 82 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 120 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 83 AND difficulty = 1000 LIMIT 1) temp); UPDATE Level SET difficulty = 120 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 83 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 120 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 100 AND difficulty = 1000 LIMIT 10) temp); UPDATE Level SET difficulty = 120 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 100 AND difficulty = 1000 LIMIT 10) temp);
UPDATE Level SET difficulty = 120 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 110 AND difficulty = 1000 LIMIT 5) temp); UPDATE Level SET difficulty = 120 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 110 AND difficulty = 1000 LIMIT 5) temp);
UPDATE Level SET difficulty = 130 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 80 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 130 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 81 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 130 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 82 AND difficulty = 1000 LIMIT 2) temp);
UPDATE Level SET difficulty = 130 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 83 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 130 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 100 AND difficulty = 1000 LIMIT 10) temp);
UPDATE Level SET difficulty = 140 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 80 AND difficulty = 1000 LIMIT 2) temp);
UPDATE Level SET difficulty = 140 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 81 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 140 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 82 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 140 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 83 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 140 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 100 AND difficulty = 1000 LIMIT 5) temp);
UPDATE Level SET difficulty = 150 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 80 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 150 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 81 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 150 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 82 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 150 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 83 AND difficulty = 1000 LIMIT 2) temp);
UPDATE Level SET difficulty = 150 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 100 AND difficulty = 1000 LIMIT 5) temp);
UPDATE Level SET difficulty = 160 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 80 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 160 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 81 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 160 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 82 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 160 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 83 AND difficulty = 1000 LIMIT 2) temp);
UPDATE Level SET difficulty = 160 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 100 AND difficulty = 1000 LIMIT 5) temp);
UPDATE Level SET difficulty = 170 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 80 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 170 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 81 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 170 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 82 AND difficulty = 1000 LIMIT 1) temp);
UPDATE Level SET difficulty = 170 WHERE id in ( SELECT * FROM (SELECT id FROM Level WHERE renderer = 100 AND difficulty = 1000 LIMIT 10) temp);

View File

@ -4,4 +4,4 @@ UPDATE Level SET words = REPLACE(words, "\\u00f6", "Ö");
UPDATE Level SET words = REPLACE(words, "\\u00df", "ß"); UPDATE Level SET words = REPLACE(words, "\\u00df", "ß");
UPDATE Level SET words = REPLACE(words, "\\u00e4", "Ä"); UPDATE Level SET words = REPLACE(words, "\\u00e4", "Ä");
UPDATE Word SET Word.used = 0; UPDATE Word SET Word.used = 0;
UPDATE Word SET Word.used = 1 WHERE deleted = 0 AND (SELECT count(*) FROM Level WHERE words LIKE CONCAT("%\"", Word.word, "\"%") AND deleted = 0) > 0 UPDATE Word SET Word.used = 1 WHERE deleted = 0 AND (SELECT count(*) FROM Level WHERE words LIKE CONCAT("%\"", Word.word, "\"%") AND deleted = 0) > 0

File diff suppressed because one or more lines are too long

View File

@ -118,7 +118,7 @@ class LevelManager extends StandardManager
public function generateLevels() public function generateLevels()
{ {
$levelsToGenerate = [ $levelsToGenerate = [
//(0) 80 80 => //(0) 80
[ [
"wordLength" => 10, "wordLength" => 10,
"numWords" => 4, "numWords" => 4,
@ -127,8 +127,9 @@ class LevelManager extends StandardManager
"difficulty" => function () { "difficulty" => function () {
return 1000; return 1000;
}, },
"creationRatio" => 1,
], ],
//(1) 81 81 => //(1) 81
[ [
"wordLength" => 10, "wordLength" => 10,
"numWords" => 4, "numWords" => 4,
@ -137,8 +138,9 @@ class LevelManager extends StandardManager
"difficulty" => function () { "difficulty" => function () {
return 1000; return 1000;
}, },
"creationRatio" => 1,
], ],
//(2) 82 82 => //(2) 82
[ [
"wordLength" => 10, "wordLength" => 10,
"numWords" => 4, "numWords" => 4,
@ -147,8 +149,9 @@ class LevelManager extends StandardManager
"difficulty" => function () { "difficulty" => function () {
return 1000; return 1000;
}, },
"creationRatio" => 1,
], ],
//(3) 83 83 => //(3) 83
[ [
"wordLength" => 10, "wordLength" => 10,
"numWords" => 4, "numWords" => 4,
@ -157,8 +160,9 @@ class LevelManager extends StandardManager
"difficulty" => function () { "difficulty" => function () {
return 1000; return 1000;
}, },
"creationRatio" => 1,
], ],
//(4) 100 100 => //(4) 100
[ [
"wordLength" => 8, "wordLength" => 8,
"numWords" => 6, "numWords" => 6,
@ -167,8 +171,9 @@ class LevelManager extends StandardManager
"difficulty" => function () { "difficulty" => function () {
return 1000; return 1000;
}, },
"creationRatio" => 8,
], ],
//(5) 110 110 => //(5) 110
[ [
"wordLength" => 10, "wordLength" => 10,
"numWords" => 4, "numWords" => 4,
@ -177,8 +182,9 @@ class LevelManager extends StandardManager
"difficulty" => function () { "difficulty" => function () {
return 1000; return 1000;
}, },
"creationRatio" => 5.333333,
], ],
//(6) 111 111 => //(6) 111
[ [
"wordLength" => 10, "wordLength" => 10,
"numWords" => 4, "numWords" => 4,
@ -187,8 +193,9 @@ class LevelManager extends StandardManager
"difficulty" => function () { "difficulty" => function () {
return 1000; return 1000;
}, },
"creationRatio" => 5.333333,
], ],
//(7) 112 112 => //(7) 112
[ [
"wordLength" => 10, "wordLength" => 10,
"numWords" => 4, "numWords" => 4,
@ -197,8 +204,9 @@ class LevelManager extends StandardManager
"difficulty" => function () { "difficulty" => function () {
return 1000; return 1000;
}, },
"creationRatio" => 5.333333,
], ],
//(8) 120 120 => //(8) 120
[ [
"wordLength" => 8, "wordLength" => 8,
"numWords" => 4, "numWords" => 4,
@ -207,8 +215,9 @@ class LevelManager extends StandardManager
"difficulty" => function () { "difficulty" => function () {
return 1000; return 1000;
}, },
"creationRatio" => 32,
], ],
//(9) 140 140 => //(9) 140
[ [
"wordLength" => 12, "wordLength" => 12,
"numWords" => 6, "numWords" => 6,
@ -217,8 +226,9 @@ class LevelManager extends StandardManager
"difficulty" => function () { "difficulty" => function () {
return 1000; return 1000;
}, },
"creationRatio" => 64,
], ],
//(10) 160 160 => //(10) 160
[ [
"wordLength" => 12, "wordLength" => 12,
"numWords" => 4, "numWords" => 4,
@ -227,51 +237,42 @@ class LevelManager extends StandardManager
"difficulty" => function () { "difficulty" => function () {
return 1000; return 1000;
}, },
"creationRatio" => 128,
], ],
]; ];
$creationRation = [
0 => 1,
1 => 1,
2 => 1,
3 => 1,
4 => 16,
5 => 5.333333,
6 => 5.333333,
7 => 5.333333,
8 => 24,
9 => 28,
10 => 52
];
$currentNumbers = []; $currentNumbers = [];
for ($i = 0; $i < count($levelsToGenerate); $i++) { foreach ($levelsToGenerate as $renderer => $levelInfo) {
$currentNumbers[$i] = $this->countWhere(["renderer" => $levelsToGenerate[$i]["renderer"], "difficulty" => 1000]); $currentNumbers[$renderer] = $this->countWhere(["renderer" => $levelInfo["renderer"], "difficulty" => 1000]);
} }
$renderers = array_keys($levelsToGenerate);
$levelGenerated = 0; $levelGenerated = 0;
$currentIndex = count($levelsToGenerate) - 1; $currentIndex = 0;
$words = []; $words = [];
do { do {
// var_dump($levelsToGenerate); // var_dump($levelsToGenerate);
if ($currentIndex === 0 || $currentNumbers[$currentIndex] >= $currentNumbers[0] * $creationRation[$currentIndex]) { while ($currentIndex === 0 || $currentNumbers[$renderers[$currentIndex]] >= $currentNumbers[$renderers[0]] * $levelsToGenerate[$renderers[$currentIndex]]["creationRatio"]) {
$currentIndex = ($currentIndex + 1) % count($levelsToGenerate); $currentIndex = ($currentIndex + 1) % count($renderers);
if ($currentIndex === 0){
break;
}
} }
$words[$levelsToGenerate[$renderers[$currentIndex]]["wordLength"]] = $words[$levelsToGenerate[$renderers[$currentIndex]]["wordLength"]] ?? $this->wordManager->findWordsForLength($levelsToGenerate[$renderers[$currentIndex]]["wordLength"]);
$words[$levelsToGenerate[$currentIndex]["wordLength"]] = $words[$levelsToGenerate[$currentIndex]["wordLength"]] ?? $this->wordManager->findWordsForLength($levelsToGenerate[$currentIndex]["wordLength"]); $currentWords = $words[$levelsToGenerate[$renderers[$currentIndex]]["wordLength"]];
$currentWords = $words[$levelsToGenerate[$currentIndex]["wordLength"]]; $level = $this->generateLevelWithData($levelsToGenerate[$renderers[$currentIndex]], $currentWords);
$level = $this->generateLevelWithData($levelsToGenerate[$currentIndex], $currentWords);
if ($level) { if ($level) {
$words[$levelsToGenerate[$currentIndex]["wordLength"]] = $currentWords; $words[$levelsToGenerate[$renderers[$currentIndex]]["wordLength"]] = $currentWords;
$this->save($level, false); $this->save($level, false);
$levelGenerated++; $levelGenerated++;
$currentNumbers[$currentIndex]++; $currentNumbers[$renderers[$currentIndex]]++;
} else { } else {
var_dump($renderers[$currentIndex]);
break; break;
} }