update
This commit is contained in:
parent
734e28de2e
commit
7aae302911
334
config/levels.js
334
config/levels.js
@ -528,15 +528,15 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 4, y: 12 }, // diamant na pozícii 3,8
|
{ x: 4, y: 12 },
|
||||||
{ x: 9, y: 11 },
|
{ x: 9, y: 11 },
|
||||||
{ x: 10, y: 14 },
|
{ x: 10, y: 14 },
|
||||||
{ x: 5, y: 9 },
|
{ x: 5, y: 9 },
|
||||||
{ x: 0, y: 10 }
|
{ x: 0, y: 10 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 14, y: 9 }, // gold na pozícii 2,9
|
{ x: 14, y: 9 },
|
||||||
{ x: 7, y: 10 }, // gold na pozícii 7,8
|
{ x: 7, y: 10 },
|
||||||
{ x: 2, y: 6 }
|
{ x: 2, y: 6 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
@ -687,25 +687,25 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Prvé L-čka',
|
name: 'Prvé L-čka',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 1,
|
difficulty: 1,
|
||||||
words: ['lano', 'lopta', 'list', 'les'], // 4 slová pre začiatok
|
words: ['lano', 'lopta', 'list', 'les'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 1, // málo diamantov pre začiatok
|
diamonds: 1,
|
||||||
golds: 2, // trochu viac goldov
|
golds: 2,
|
||||||
crystals: 1, // jeden kryštál
|
crystals: 1,
|
||||||
speechExercises: 1,
|
speechExercises: 1,
|
||||||
listeningExercises: 1,
|
listeningExercises: 1,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 8, y: 5 } // diamant v strede mapy
|
{ x: 8, y: 5 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 3, y: 2 }, // gold vľavo hore
|
{ x: 3, y: 2 },
|
||||||
{ x: 13, y: 8 } // gold vpravo dole
|
{ x: 13, y: 8 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
{ x: 10, y: 4 } // kryštál vpravo
|
{ x: 10, y: 4 }
|
||||||
],
|
],
|
||||||
player: { x: 1, y: 1 }
|
player: { x: 1, y: 1 }
|
||||||
},
|
},
|
||||||
@ -721,7 +721,7 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Ľahké L-čka',
|
name: 'Ľahké L-čka',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 1,
|
difficulty: 1,
|
||||||
words: ['lano', 'lopta', 'list', 'les', 'líška', 'lyžica'], // 6 slov
|
words: ['lano', 'lopta', 'list', 'les', 'líška', 'lyžica'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 2,
|
diamonds: 2,
|
||||||
golds: 3,
|
golds: 3,
|
||||||
@ -758,7 +758,7 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Lavička a lúka',
|
name: 'Lavička a lúka',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 1,
|
difficulty: 1,
|
||||||
words: ['lopta', 'list', 'líška', 'lyžica', 'lavička', 'lúka', 'ľalia'], // 7 slov
|
words: ['lopta', 'list', 'líška', 'lyžica', 'lavička', 'lúka', 'ľalia'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 3,
|
diamonds: 3,
|
||||||
golds: 3,
|
golds: 3,
|
||||||
@ -797,7 +797,7 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Lampa a lekár',
|
name: 'Lampa a lekár',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 1,
|
difficulty: 1,
|
||||||
words: ['lopta', 'lúka', 'lavička', 'lyžica', 'ľalia', 'lampa', 'lekár'], // 8 slov
|
words: ['lopta', 'lúka', 'lavička', 'lyžica', 'ľalia', 'lampa', 'lekár'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 3,
|
diamonds: 3,
|
||||||
golds: 4,
|
golds: 4,
|
||||||
@ -834,10 +834,10 @@ const LEVELS_CONFIG = {
|
|||||||
id: 'l_005',
|
id: 'l_005',
|
||||||
worldId: 'world_l',
|
worldId: 'world_l',
|
||||||
levelNumber: 5,
|
levelNumber: 5,
|
||||||
name: 'Prvé opakovanie', // opakovací level
|
name: 'Prvé opakovanie',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 2,
|
difficulty: 2,
|
||||||
words: ['lano', 'lopta', 'list', 'les', 'líška', 'lyžica', 'lavička', 'lúka', 'ľalia', 'lampa', 'lekár'], // 12 slov - opakovanie
|
words: ['lano', 'lopta', 'list', 'les', 'líška', 'lyžica', 'lavička', 'lúka', 'ľalia', 'lampa', 'lekár'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 4,
|
diamonds: 4,
|
||||||
golds: 5,
|
golds: 5,
|
||||||
@ -879,7 +879,7 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Lavína a lietadlo',
|
name: 'Lavína a lietadlo',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 2,
|
difficulty: 2,
|
||||||
words: ['lopta', 'lúka', 'lampa', 'lekár', 'líška', 'lavína', 'lietadlo', 'list', 'lev', 'lavička'], // 10 slov
|
words: ['lopta', 'lúka', 'lampa', 'lekár', 'líška', 'lavína', 'lietadlo', 'list', 'lev', 'lavička'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 4,
|
diamonds: 4,
|
||||||
golds: 4,
|
golds: 4,
|
||||||
@ -921,7 +921,7 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Leňochod a lízatko',
|
name: 'Leňochod a lízatko',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 2,
|
difficulty: 2,
|
||||||
words: ['lopta', 'lúka', 'lavína', 'lietadlo', 'lev', 'lavička', 'leňochod', 'lupa', 'lúč', 'lízatko'], // 10 slov
|
words: ['lopta', 'lúka', 'lavína', 'lietadlo', 'lev', 'lavička', 'leňochod', 'lupa', 'lúč', 'lízatko'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 4,
|
diamonds: 4,
|
||||||
golds: 5,
|
golds: 5,
|
||||||
@ -963,7 +963,7 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Lyže a letisko',
|
name: 'Lyže a letisko',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 2,
|
difficulty: 2,
|
||||||
words: ['lopta', 'lietadlo', 'lupa', 'lúč', 'lízatko', 'lavína', 'lyže', 'pílka', 'letisko', 'pílka'], // 10 slov
|
words: ['lopta', 'lietadlo', 'lupa', 'lúč', 'lízatko', 'lavína', 'lyže', 'pílka', 'letisko', 'pílka'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 5,
|
diamonds: 5,
|
||||||
golds: 4,
|
golds: 4,
|
||||||
@ -1006,7 +1006,7 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Levanduľa a ľudina',
|
name: 'Levanduľa a ľudina',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 2,
|
difficulty: 2,
|
||||||
words: ['lopta', 'lúka', 'lietadlo', 'pílka', 'levanduľa', 'list', 'lavína', 'lízatko'], // 10 slov
|
words: ['lopta', 'lúka', 'lietadlo', 'pílka', 'levanduľa', 'list', 'lavína', 'lízatko'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 5,
|
diamonds: 5,
|
||||||
golds: 5,
|
golds: 5,
|
||||||
@ -1046,12 +1046,12 @@ const LEVELS_CONFIG = {
|
|||||||
id: 'l_010',
|
id: 'l_010',
|
||||||
worldId: 'world_l',
|
worldId: 'world_l',
|
||||||
levelNumber: 10,
|
levelNumber: 10,
|
||||||
name: 'Veľké opakovanie', // opakovací level - všetky slová z 1-9
|
name: 'Veľké opakovanie',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 3,
|
difficulty: 3,
|
||||||
words: ['lano', 'lopta', 'list', 'les', 'líška', 'lyžica', 'lavička', 'lúka', 'ľalia', 'lampa',
|
words: ['lano', 'lopta', 'list', 'les', 'líška', 'lyžica', 'lavička', 'lúka', 'ľalia', 'lampa',
|
||||||
'lúč', 'lekár', 'lavína', 'lietadlo', 'lev', 'leňochod', 'lupa', 'lízatko', 'lyže',
|
'lúč', 'lekár', 'lavína', 'lietadlo', 'lev', 'leňochod', 'lupa', 'lízatko', 'lyže',
|
||||||
'letisko', 'pílka', 'levanduľa'], // 24 slov
|
'letisko', 'pílka', 'levanduľa'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 6,
|
diamonds: 6,
|
||||||
golds: 6,
|
golds: 6,
|
||||||
@ -1097,7 +1097,7 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Lyžiar a lektvar',
|
name: 'Lyžiar a lektvar',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 3,
|
difficulty: 3,
|
||||||
words: ['lopta', 'lúka', 'lietadlo', 'lavička', 'lupa', 'pílka', 'levanduľa', 'lyžiar', 'lektvar'], // 10 slov
|
words: ['lopta', 'lúka', 'lietadlo', 'lavička', 'lupa', 'pílka', 'levanduľa', 'lyžiar', 'lektvar'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 5,
|
diamonds: 5,
|
||||||
golds: 5,
|
golds: 5,
|
||||||
@ -1141,7 +1141,7 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Laboratórium',
|
name: 'Laboratórium',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 3,
|
difficulty: 3,
|
||||||
words: ['lopta', 'lúka', 'levanduľa', 'lektvar', 'lyžiar', 'laboratórium', 'lektor', 'lavína', 'lúčny', 'líška'], // 10 slov
|
words: ['lopta', 'lúka', 'levanduľa', 'lektvar', 'lyžiar', 'laboratórium', 'lektor', 'lavína', 'lúčny', 'líška'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 5,
|
diamonds: 5,
|
||||||
golds: 6,
|
golds: 6,
|
||||||
@ -1185,7 +1185,7 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Leporelo a lodička',
|
name: 'Leporelo a lodička',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 3,
|
difficulty: 3,
|
||||||
words: ['lopta', 'lúka', 'lektor', 'laboratórium', 'lúčny', 'levanduľa', 'leporelo', 'lodička', 'lízatko', 'lekáreň'], // 10 slov
|
words: ['lopta', 'lúka', 'lektor', 'laboratórium', 'lúčny', 'levanduľa', 'leporelo', 'lodička', 'lízatko', 'lekáreň'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 6,
|
diamonds: 6,
|
||||||
golds: 5,
|
golds: 5,
|
||||||
@ -1230,7 +1230,7 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Laborant a linkový',
|
name: 'Laborant a linkový',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 3,
|
difficulty: 3,
|
||||||
words: ['lopta', 'lúka', 'leporelo', 'lodička', 'lekáreň', 'lavína', 'lektor', 'laborant', 'listnatý'], // 10 slov
|
words: ['lopta', 'lúka', 'leporelo', 'lodička', 'lekáreň', 'lavína', 'lektor', 'laborant', 'listnatý'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 6,
|
diamonds: 6,
|
||||||
golds: 6,
|
golds: 6,
|
||||||
@ -1272,13 +1272,13 @@ const LEVELS_CONFIG = {
|
|||||||
id: 'l_015',
|
id: 'l_015',
|
||||||
worldId: 'world_l',
|
worldId: 'world_l',
|
||||||
levelNumber: 15,
|
levelNumber: 15,
|
||||||
name: 'Tretie opakovanie', // opakovací level - všetky slová z 1-14
|
name: 'Tretie opakovanie',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 4,
|
difficulty: 4,
|
||||||
words: ['lano', 'lopta', 'list', 'les', 'líška', 'lyžica', 'lavička', 'lúka', 'ľalia', 'lampa',
|
words: ['lano', 'lopta', 'list', 'les', 'líška', 'lyžica', 'lavička', 'lúka', 'ľalia', 'lampa',
|
||||||
'lúč', 'lekár', 'lavína', 'lietadlo', 'lev', 'leňochod', 'lupa', 'lízatko', 'lyže', 'leopard',
|
'lúč', 'lekár', 'lavína', 'lietadlo', 'lev', 'leňochod', 'lupa', 'lízatko', 'lyže', 'leopard',
|
||||||
'letisko', 'pílka', 'levanduľa', 'lyžiar', 'lektvar', 'laboratórium', 'lektor', 'lúčny',
|
'letisko', 'pílka', 'levanduľa', 'lyžiar', 'lektvar', 'laboratórium', 'lektor', 'lúčny',
|
||||||
'leporelo', 'lodička', 'lekáreň', 'laborant', 'listnatý'], // 35 slov
|
'leporelo', 'lodička', 'lekáreň', 'laborant', 'listnatý'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 7,
|
diamonds: 7,
|
||||||
golds: 7,
|
golds: 7,
|
||||||
@ -1327,7 +1327,7 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Liter a lievik',
|
name: 'Liter a lievik',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 4,
|
difficulty: 4,
|
||||||
words: ['lopta', 'lúka', 'laborant', 'listnatý', 'levanduľa', 'liter', 'lievik', 'lampa', 'lopúch'], // 10 slov
|
words: ['lopta', 'lúka', 'laborant', 'listnatý', 'levanduľa', 'liter', 'lievik', 'lampa', 'lopúch'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 6,
|
diamonds: 6,
|
||||||
golds: 6,
|
golds: 6,
|
||||||
@ -1576,9 +1576,9 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Prvé S-čka',
|
name: 'Prvé S-čka',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 1,
|
difficulty: 1,
|
||||||
words: ['slnko', 'sova', 'seno', 'soľ'], // 4 slová pre začiatok
|
words: ['slnko', 'sova', 'seno', 'soľ'], // 4 slová
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 1, // málo diamantov pre začiatok
|
diamonds: 1, // málo diamantov
|
||||||
golds: 2, // trochu viac goldov
|
golds: 2, // trochu viac goldov
|
||||||
crystals: 1, // jeden kryštál
|
crystals: 1, // jeden kryštál
|
||||||
speechExercises: 1, // 1 slovo na vyslovenie
|
speechExercises: 1, // 1 slovo na vyslovenie
|
||||||
@ -1610,12 +1610,12 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Suka a srdce',
|
name: 'Suka a srdce',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 1,
|
difficulty: 1,
|
||||||
words: ['slnko', 'sova', 'seno', 'soľ', 'silák', 'srdce'], // 6 slov
|
words: ['slnko', 'sova', 'seno', 'soľ', 'silák', 'srdce'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 2,
|
diamonds: 2,
|
||||||
golds: 3,
|
golds: 3,
|
||||||
crystals: 1,
|
crystals: 1,
|
||||||
speechExercises: 1, // stále 1 slovo
|
speechExercises: 1,
|
||||||
listeningExercises: 1,
|
listeningExercises: 1,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
@ -1649,12 +1649,12 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Stôl a silák',
|
name: 'Stôl a silák',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 1,
|
difficulty: 1,
|
||||||
words: ['slnko', 'sova', 'seno', 'srdce', 'soľ', 'stôl', 'silák'], // 7 slov
|
words: ['slnko', 'sova', 'seno', 'srdce', 'soľ', 'stôl', 'silák'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 2,
|
diamonds: 2,
|
||||||
golds: 3,
|
golds: 3,
|
||||||
crystals: 2,
|
crystals: 2,
|
||||||
speechExercises: 2, // zvyšujeme na 2 slová
|
speechExercises: 2,
|
||||||
listeningExercises: 1,
|
listeningExercises: 1,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
@ -1689,13 +1689,13 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Sitko a sviečka',
|
name: 'Sitko a sviečka',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 1,
|
difficulty: 1,
|
||||||
words: ['slnko', 'stôl', 'silák', 'sova', 'seno', 'srdce', 'sitko', 'sviečka'], // 8 slov
|
words: ['slnko', 'stôl', 'silák', 'sova', 'seno', 'srdce', 'sitko', 'sviečka'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 3,
|
diamonds: 3,
|
||||||
golds: 3,
|
golds: 3,
|
||||||
crystals: 2,
|
crystals: 2,
|
||||||
speechExercises: 2, // 2 slová
|
speechExercises: 2,
|
||||||
listeningExercises: 2, // zvyšujeme aj posluch
|
listeningExercises: 2,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
@ -1727,15 +1727,15 @@ const LEVELS_CONFIG = {
|
|||||||
id: 's_005',
|
id: 's_005',
|
||||||
worldId: 'world_s',
|
worldId: 'world_s',
|
||||||
levelNumber: 5,
|
levelNumber: 5,
|
||||||
name: 'Prvé opakovanie', // opakovací level
|
name: 'Prvé opakovanie',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 2,
|
difficulty: 2,
|
||||||
words: ['slnko', 'sova', 'seno', 'soľ', 'srdce', 'stôl', 'silák', 'sitko', 'sviečka'], // 10 slov
|
words: ['slnko', 'sova', 'seno', 'soľ', 'srdce', 'stôl', 'silák', 'sitko', 'sviečka'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 3,
|
diamonds: 3,
|
||||||
golds: 4,
|
golds: 4,
|
||||||
crystals: 2,
|
crystals: 2,
|
||||||
speechExercises: 3, // zvyšujeme na 3 slová
|
speechExercises: 3,
|
||||||
listeningExercises: 2,
|
listeningExercises: 2,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
@ -1772,12 +1772,12 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Skala a smiech',
|
name: 'Skala a smiech',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 2,
|
difficulty: 2,
|
||||||
words: ['slnko', 'stôl', 'sitko', 'srdce', 'sviečka', 'skala', 'smiech', 'sneh', 'sliepka', 'slama'], // 10 slov
|
words: ['slnko', 'stôl', 'sitko', 'srdce', 'sviečka', 'skala', 'smiech', 'sneh', 'sliepka', 'slama'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 3,
|
diamonds: 3,
|
||||||
golds: 4,
|
golds: 4,
|
||||||
crystals: 3,
|
crystals: 3,
|
||||||
speechExercises: 3, // 3 slová
|
speechExercises: 3,
|
||||||
listeningExercises: 2,
|
listeningExercises: 2,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
@ -1815,13 +1815,13 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Sestra a sídlo',
|
name: 'Sestra a sídlo',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 2,
|
difficulty: 2,
|
||||||
words: ['slnko', 'sneh', 'smiech', 'skala', 'sliepka', 'slama', 'sestra', 'sídlo', 'sklo', 'sladkosť'], // 10 slov
|
words: ['slnko', 'sneh', 'smiech', 'skala', 'sliepka', 'slama', 'sestra', 'sídlo', 'sklo', 'sladkosť'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 4,
|
diamonds: 4,
|
||||||
golds: 4,
|
golds: 4,
|
||||||
crystals: 2,
|
crystals: 2,
|
||||||
speechExercises: 3,
|
speechExercises: 3,
|
||||||
listeningExercises: 3, // zvyšujeme posluch
|
listeningExercises: 3,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
@ -1858,12 +1858,12 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Sklo a stavba',
|
name: 'Sklo a stavba',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 2,
|
difficulty: 2,
|
||||||
words: ['slnko', 'sklo', 'sestra', 'sladkosť', 'sídlo', 'smiech', 'srdce', 'sliepka', 'skala', 'stavba'], // 10 slov
|
words: ['slnko', 'sklo', 'sestra', 'sladkosť', 'sídlo', 'smiech', 'srdce', 'sliepka', 'skala', 'stavba'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 4,
|
diamonds: 4,
|
||||||
golds: 5,
|
golds: 5,
|
||||||
crystals: 3,
|
crystals: 3,
|
||||||
speechExercises: 4, // zvyšujeme na 4
|
speechExercises: 4,
|
||||||
listeningExercises: 3,
|
listeningExercises: 3,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
@ -1903,7 +1903,7 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Strom a stolička',
|
name: 'Strom a stolička',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 2,
|
difficulty: 2,
|
||||||
words: ['slnko', 'sklo', 'sladkosť', 'stavba', 'srdce', 'sneh', 'strom', 'sitko', 'stolička', 'sused'], // 10 slov
|
words: ['slnko', 'sklo', 'sladkosť', 'stavba', 'srdce', 'sneh', 'strom', 'sitko', 'stolička', 'sused'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 4,
|
diamonds: 4,
|
||||||
golds: 5,
|
golds: 5,
|
||||||
@ -1944,18 +1944,18 @@ const LEVELS_CONFIG = {
|
|||||||
id: 's_010',
|
id: 's_010',
|
||||||
worldId: 'world_s',
|
worldId: 'world_s',
|
||||||
levelNumber: 10,
|
levelNumber: 10,
|
||||||
name: 'Druhé opakovanie', // veľké opakovanie
|
name: 'Druhé opakovanie',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 3,
|
difficulty: 3,
|
||||||
words: ['slnko', 'sova', 'seno', 'soľ', 'srdce', 'stôl', 'silák', 'sitko', 'sviečka',
|
words: ['slnko', 'sova', 'seno', 'soľ', 'srdce', 'stôl', 'silák', 'sitko', 'sviečka',
|
||||||
'skala', 'smiech', 'sneh', 'sliepka', 'slama', 'sestra', 'sídlo', 'sklo', 'sladkosť', 'stavba',
|
'skala', 'smiech', 'sneh', 'sliepka', 'slama', 'sestra', 'sídlo', 'sklo', 'sladkosť', 'stavba',
|
||||||
'strom', 'stolička', 'sused'], // 23 slov
|
'strom', 'stolička', 'sused'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 5,
|
diamonds: 5,
|
||||||
golds: 6,
|
golds: 6,
|
||||||
crystals: 3,
|
crystals: 3,
|
||||||
speechExercises: 5, // 5 slov na vyslovenie
|
speechExercises: 5,
|
||||||
listeningExercises: 4, // 4 slová na počúvanie
|
listeningExercises: 4,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
@ -1996,12 +1996,12 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Sila a súťaž',
|
name: 'Sila a súťaž',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 3,
|
difficulty: 3,
|
||||||
words: ['slnko', 'sneh', 'strom', 'sladkosť', 'sestra', 'stavba', 'sused', 'smiech', 'sila', 'súťaž'], // 10 slov
|
words: ['slnko', 'sneh', 'strom', 'sladkosť', 'sestra', 'stavba', 'sused', 'smiech', 'sila', 'súťaž'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 4,
|
diamonds: 4,
|
||||||
golds: 5,
|
golds: 5,
|
||||||
crystals: 3,
|
crystals: 3,
|
||||||
speechExercises: 5, // viac rečových cvičení
|
speechExercises: 5,
|
||||||
listeningExercises: 4,
|
listeningExercises: 4,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
@ -2041,7 +2041,7 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Skriňa a siréna',
|
name: 'Skriňa a siréna',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 3,
|
difficulty: 3,
|
||||||
words: ['slnko', 'súťaž', 'sila', 'smiech', 'sestra', 'skriňa', 'stolička', 'sliepka', 'sviečka', 'siréna'], // 10 slov
|
words: ['slnko', 'súťaž', 'sila', 'smiech', 'sestra', 'skriňa', 'stolička', 'sliepka', 'sviečka', 'siréna'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 4,
|
diamonds: 4,
|
||||||
golds: 6,
|
golds: 6,
|
||||||
@ -2086,12 +2086,12 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Socha a sen',
|
name: 'Socha a sen',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 3,
|
difficulty: 3,
|
||||||
words: ['slnko', 'súťaž', 'siréna', 'stolička', 'skriňa', 'sladkosť', 'socha', 'sen', 'srdce', 'skokan'], // 10 slov
|
words: ['slnko', 'súťaž', 'siréna', 'stolička', 'skriňa', 'sladkosť', 'socha', 'sen', 'srdce', 'skokan'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 5,
|
diamonds: 5,
|
||||||
golds: 5,
|
golds: 5,
|
||||||
crystals: 3,
|
crystals: 3,
|
||||||
speechExercises: 6, // zvyšujeme na 6
|
speechExercises: 6,
|
||||||
listeningExercises: 5,
|
listeningExercises: 5,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
@ -2132,7 +2132,7 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Skokan a svetlo',
|
name: 'Skokan a svetlo',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 3,
|
difficulty: 3,
|
||||||
words: ['slnko', 'sen', 'skriňa', 'skokan', 'siréna', 'súťaž', 'srdce', 'socha', 'stavba', 'svetlo'], // 10 slov
|
words: ['slnko', 'sen', 'skriňa', 'skokan', 'siréna', 'súťaž', 'srdce', 'socha', 'stavba', 'svetlo'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 5,
|
diamonds: 5,
|
||||||
golds: 6,
|
golds: 6,
|
||||||
@ -2175,19 +2175,19 @@ const LEVELS_CONFIG = {
|
|||||||
id: 's_015',
|
id: 's_015',
|
||||||
worldId: 'world_s',
|
worldId: 'world_s',
|
||||||
levelNumber: 15,
|
levelNumber: 15,
|
||||||
name: 'Tretie opakovanie', // opakovací level
|
name: 'Tretie opakovanie',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 4,
|
difficulty: 4,
|
||||||
words: ['slnko', 'sova', 'seno', 'soľ', 'srdce', 'stôl', 'silák', 'sitko', 'sviečka',
|
words: ['slnko', 'sova', 'seno', 'soľ', 'srdce', 'stôl', 'silák', 'sitko', 'sviečka',
|
||||||
'skala', 'smiech', 'sneh', 'sliepka', 'slama', 'sestra', 'sídlo', 'sklo', 'sladkosť', 'stavba',
|
'skala', 'smiech', 'sneh', 'sliepka', 'slama', 'sestra', 'sídlo', 'sklo', 'sladkosť', 'stavba',
|
||||||
'strom', 'stolička', 'sused', 'sila', 'súťaž', 'skriňa', 'siréna', 'socha', 'sen', 'skokan',
|
'strom', 'stolička', 'sused', 'sila', 'súťaž', 'skriňa', 'siréna', 'socha', 'sen', 'skokan',
|
||||||
'svetlo'], // 31 slov
|
'svetlo'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 6,
|
diamonds: 6,
|
||||||
golds: 7,
|
golds: 7,
|
||||||
crystals: 4,
|
crystals: 4,
|
||||||
speechExercises: 7, // 7 slov
|
speechExercises: 7,
|
||||||
listeningExercises: 6, // 6 slov
|
listeningExercises: 6,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
@ -2231,7 +2231,7 @@ const LEVELS_CONFIG = {
|
|||||||
name: 'Slanina a sladký',
|
name: 'Slanina a sladký',
|
||||||
gameType: 'banik',
|
gameType: 'banik',
|
||||||
difficulty: 4,
|
difficulty: 4,
|
||||||
words: ['slnko', 'svetlo', 'súťaž', 'sen', 'siréna', 'sneh', 'sliepka', 'smiech', 'slanina', 'sladký'], // 10 slov
|
words: ['slnko', 'svetlo', 'súťaž', 'sen', 'siréna', 'sneh', 'sliepka', 'smiech', 'slanina', 'sladký'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 5,
|
diamonds: 5,
|
||||||
golds: 6,
|
golds: 6,
|
||||||
@ -2291,18 +2291,18 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 3, y: 8 }, // diamant na pozícii 3,8
|
{ x: 3, y: 8 },
|
||||||
{ x: 12, y: 7 } // diamant na pozícii 12,7
|
{ x: 12, y: 7 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 2, y: 9 }, // gold na pozícii 2,9
|
{ x: 2, y: 9 },
|
||||||
{ x: 7, y: 8 }, // gold na pozícii 7,8
|
{ x: 7, y: 8 },
|
||||||
{ x: 14, y: 6 }, // gold na pozícii 14,6
|
{ x: 14, y: 6 },
|
||||||
{ x: 9, y: 8 },
|
{ x: 9, y: 8 },
|
||||||
{ x: 10, y: 13 }
|
{ x: 10, y: 13 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
{ x: 9, y: 12 }, // kryštál na pozícii 9,7
|
{ x: 9, y: 12 },
|
||||||
{ x: 3, y: 12 },
|
{ x: 3, y: 12 },
|
||||||
{ x: 11, y: 9 }
|
{ x: 11, y: 9 }
|
||||||
],
|
],
|
||||||
@ -2331,17 +2331,17 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 3, y: 8 }, // diamant na pozícii 3,8
|
{ x: 3, y: 8 },
|
||||||
{ x: 12, y: 7 }, // diamant na pozícii 12,7
|
{ x: 12, y: 7 },
|
||||||
{ x: 7, y: 13 }
|
{ x: 7, y: 13 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 2, y: 9 }, // gold na pozícii 2,9
|
{ x: 2, y: 9 },
|
||||||
{ x: 7, y: 8 }, // gold na pozícii 7,8
|
{ x: 7, y: 8 },
|
||||||
{ x: 10, y: 8 }
|
{ x: 10, y: 8 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
{ x: 9, y: 7 }, // kryštál na pozícii 9,7
|
{ x: 9, y: 7 },
|
||||||
{ x: 10, y: 12 }
|
{ x: 10, y: 12 }
|
||||||
],
|
],
|
||||||
player: { x: 1, y: 1 }
|
player: { x: 1, y: 1 }
|
||||||
@ -2372,19 +2372,19 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 3, y: 8 }, // diamant na pozícii 3,8
|
{ x: 3, y: 8 },
|
||||||
{ x: 12, y: 7 }, // diamant na pozícii 12,7
|
{ x: 12, y: 7 },
|
||||||
{ x: 10, y: 12 }
|
{ x: 10, y: 12 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 2, y: 9 }, // gold na pozícii 2,9
|
{ x: 2, y: 9 },
|
||||||
{ x: 7, y: 8 }, // gold na pozícii 7,8
|
{ x: 7, y: 8 },
|
||||||
{ x: 14, y: 6 }, // gold na pozícii 14,6
|
{ x: 14, y: 6 },
|
||||||
{ x: 9, y: 8 },
|
{ x: 9, y: 8 },
|
||||||
{ x: 10, y: 8 }
|
{ x: 10, y: 8 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
{ x: 9, y: 7 } // kryštál na pozícii 9,7
|
{ x: 9, y: 7 }
|
||||||
],
|
],
|
||||||
player: { x: 1, y: 1 }
|
player: { x: 1, y: 1 }
|
||||||
},
|
},
|
||||||
@ -2414,18 +2414,18 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 4, y: 8 }, // diamant na pozícii 3,8
|
{ x: 4, y: 8 },
|
||||||
{ x: 10, y: 7 }, // diamant na pozícii 12,7
|
{ x: 10, y: 7 },
|
||||||
{ x: 4, y: 12 },
|
{ x: 4, y: 12 },
|
||||||
{ x: 9, y: 14 }
|
{ x: 9, y: 14 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 3, y: 9 }, // gold na pozícii 2,9
|
{ x: 3, y: 9 },
|
||||||
{ x: 7, y: 8 }, // gold na pozícii 7,8
|
{ x: 7, y: 8 },
|
||||||
{ x: 14, y: 6 } // gold na pozícii 14,6
|
{ x: 14, y: 6 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
{ x: 7, y: 11 } // kryštál na pozícii 9,7
|
{ x: 7, y: 11 }
|
||||||
],
|
],
|
||||||
player: { x: 1, y: 1 }
|
player: { x: 1, y: 1 }
|
||||||
},
|
},
|
||||||
@ -2455,17 +2455,17 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 6, y: 4 }, // diamant na pozícii 3,8
|
{ x: 6, y: 4 },
|
||||||
{ x: 9, y: 7 }, // diamant na pozícii 12,7
|
{ x: 9, y: 7 },
|
||||||
{ x: 2, y: 10 },
|
{ x: 2, y: 10 },
|
||||||
{ x: 1, y: 14 }
|
{ x: 1, y: 14 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 3, y: 9 }, // gold na pozícii 2,9
|
{ x: 3, y: 9 },
|
||||||
{ x: 7, y: 8 } // gold na pozícii 7,8
|
{ x: 7, y: 8 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
{ x: 7, y: 11 }, // kryštál na pozícii 9,7
|
{ x: 7, y: 11 },
|
||||||
{ x: 3, y: 6 }
|
{ x: 3, y: 6 }
|
||||||
],
|
],
|
||||||
player: { x: 1, y: 1 }
|
player: { x: 1, y: 1 }
|
||||||
@ -2496,17 +2496,17 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 1, y: 5 }, // diamant na pozícii 3,8
|
{ x: 1, y: 5 },
|
||||||
{ x: 4, y: 7 }, // diamant na pozícii 12,7
|
{ x: 4, y: 7 },
|
||||||
{ x: 6, y: 10 },
|
{ x: 6, y: 10 },
|
||||||
{ x: 2, y: 14 }
|
{ x: 2, y: 14 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 10, y: 9 }, // gold na pozícii 2,9
|
{ x: 10, y: 9 },
|
||||||
{ x: 7, y: 12 } // gold na pozícii 7,8
|
{ x: 7, y: 12 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
{ x: 7, y: 11 }, // kryštál na pozícii 9,7
|
{ x: 7, y: 11 },
|
||||||
{ x: 10, y: 6 }
|
{ x: 10, y: 6 }
|
||||||
],
|
],
|
||||||
player: { x: 1, y: 1 }
|
player: { x: 1, y: 1 }
|
||||||
@ -2537,17 +2537,17 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 1, y: 5 }, // diamant na pozícii 3,8
|
{ x: 1, y: 5 },
|
||||||
{ x: 4, y: 7 }, // diamant na pozícii 12,7
|
{ x: 4, y: 7 },
|
||||||
{ x: 6, y: 10 },
|
{ x: 6, y: 10 },
|
||||||
{ x: 2, y: 14 }
|
{ x: 2, y: 14 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 3, y: 8 }, // gold na pozícii 2,9
|
{ x: 3, y: 8 },
|
||||||
{ x: 7, y: 12 } // gold na pozícii 7,8
|
{ x: 7, y: 12 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
{ x: 7, y: 11 }, // kryštál na pozícii 9,7
|
{ x: 7, y: 11 },
|
||||||
{ x: 10, y: 9 }
|
{ x: 10, y: 9 }
|
||||||
],
|
],
|
||||||
player: { x: 1, y: 1 }
|
player: { x: 1, y: 1 }
|
||||||
@ -2578,17 +2578,17 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 1, y: 6 }, // diamant na pozícii 3,8
|
{ x: 1, y: 6 },
|
||||||
{ x: 6, y: 14 }
|
{ x: 6, y: 14 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 10, y: 9 }, // gold na pozícii 2,9
|
{ x: 10, y: 9 },
|
||||||
{ x: 7, y: 11 }, // gold na pozícii 7,8
|
{ x: 7, y: 11 },
|
||||||
{ x: 8, y: 12 },
|
{ x: 8, y: 12 },
|
||||||
{ x: 1, y: 5 }
|
{ x: 1, y: 5 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
{ x: 9, y: 11 }, // kryštál na pozícii 9,7
|
{ x: 9, y: 11 },
|
||||||
{ x: 14, y: 8 }
|
{ x: 14, y: 8 }
|
||||||
],
|
],
|
||||||
player: { x: 1, y: 1 }
|
player: { x: 1, y: 1 }
|
||||||
@ -2655,8 +2655,8 @@ const LEVELS_CONFIG = {
|
|||||||
diamonds: 5,
|
diamonds: 5,
|
||||||
golds: 6,
|
golds: 6,
|
||||||
crystals: 3,
|
crystals: 3,
|
||||||
speechExercises: 5, // 5 slov na vyslovenie
|
speechExercises: 5,
|
||||||
listeningExercises: 4, // 4 slová na počúvanie
|
listeningExercises: 4,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
@ -2794,15 +2794,15 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 4, y: 12 }, // diamant na pozícii 3,8
|
{ x: 4, y: 12 },
|
||||||
{ x: 9, y: 11 },
|
{ x: 9, y: 11 },
|
||||||
{ x: 10, y: 14 },
|
{ x: 10, y: 14 },
|
||||||
{ x: 5, y: 9 },
|
{ x: 5, y: 9 },
|
||||||
{ x: 0, y: 10 }
|
{ x: 0, y: 10 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 14, y: 9 }, // gold na pozícii 2,9
|
{ x: 14, y: 9 },
|
||||||
{ x: 7, y: 10 }, // gold na pozícii 7,8
|
{ x: 7, y: 10 },
|
||||||
{ x: 2, y: 6 }
|
{ x: 2, y: 6 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
@ -2962,23 +2962,23 @@ const LEVELS_CONFIG = {
|
|||||||
difficulty: 1,
|
difficulty: 1,
|
||||||
words: ['zima', 'zub', 'zajac'],
|
words: ['zima', 'zub', 'zajac'],
|
||||||
gameConfig: {
|
gameConfig: {
|
||||||
diamonds: 1, // málo diamantov pre začiatok
|
diamonds: 1,
|
||||||
golds: 2, // trochu viac goldov
|
golds: 2,
|
||||||
crystals: 1, // jeden kryštál
|
crystals: 1,
|
||||||
speechExercises: 1, // 1 slovo na vyslovenie
|
speechExercises: 1,
|
||||||
listeningExercises: 1, // 1 slovo na počúvanie
|
listeningExercises: 1,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 7, y: 4 } // diamant v strede mapy
|
{ x: 7, y: 4 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 4, y: 3 }, // gold vľavo
|
{ x: 4, y: 3 },
|
||||||
{ x: 12, y: 7 } // gold vpravo
|
{ x: 12, y: 7 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
{ x: 9, y: 6 } // kryštál vpravo
|
{ x: 9, y: 6 }
|
||||||
],
|
],
|
||||||
player: { x: 1, y: 1 }
|
player: { x: 1, y: 1 }
|
||||||
},
|
},
|
||||||
@ -2999,7 +2999,7 @@ const LEVELS_CONFIG = {
|
|||||||
diamonds: 2,
|
diamonds: 2,
|
||||||
golds: 3,
|
golds: 3,
|
||||||
crystals: 1,
|
crystals: 1,
|
||||||
speechExercises: 1, // stále 1 slovo
|
speechExercises: 1,
|
||||||
listeningExercises: 1,
|
listeningExercises: 1,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
@ -3038,7 +3038,7 @@ const LEVELS_CONFIG = {
|
|||||||
diamonds: 2,
|
diamonds: 2,
|
||||||
golds: 3,
|
golds: 3,
|
||||||
crystals: 2,
|
crystals: 2,
|
||||||
speechExercises: 2, // zvyšujeme na 2 slová
|
speechExercises: 2,
|
||||||
listeningExercises: 1,
|
listeningExercises: 1,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
@ -3078,8 +3078,8 @@ const LEVELS_CONFIG = {
|
|||||||
diamonds: 3,
|
diamonds: 3,
|
||||||
golds: 3,
|
golds: 3,
|
||||||
crystals: 2,
|
crystals: 2,
|
||||||
speechExercises: 2, // 2 slová
|
speechExercises: 2,
|
||||||
listeningExercises: 2, // zvyšujeme aj posluch
|
listeningExercises: 2,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
@ -3119,7 +3119,7 @@ const LEVELS_CONFIG = {
|
|||||||
diamonds: 3,
|
diamonds: 3,
|
||||||
golds: 4,
|
golds: 4,
|
||||||
crystals: 2,
|
crystals: 2,
|
||||||
speechExercises: 3, // zvyšujeme na 3 slová
|
speechExercises: 3,
|
||||||
listeningExercises: 2,
|
listeningExercises: 2,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
@ -3161,7 +3161,7 @@ const LEVELS_CONFIG = {
|
|||||||
diamonds: 3,
|
diamonds: 3,
|
||||||
golds: 4,
|
golds: 4,
|
||||||
crystals: 3,
|
crystals: 3,
|
||||||
speechExercises: 3, // 3 slová
|
speechExercises: 3,
|
||||||
listeningExercises: 2,
|
listeningExercises: 2,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
@ -3205,7 +3205,7 @@ const LEVELS_CONFIG = {
|
|||||||
golds: 4,
|
golds: 4,
|
||||||
crystals: 2,
|
crystals: 2,
|
||||||
speechExercises: 3,
|
speechExercises: 3,
|
||||||
listeningExercises: 3, // zvyšujeme posluch
|
listeningExercises: 3,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
@ -3247,7 +3247,7 @@ const LEVELS_CONFIG = {
|
|||||||
diamonds: 4,
|
diamonds: 4,
|
||||||
golds: 5,
|
golds: 5,
|
||||||
crystals: 3,
|
crystals: 3,
|
||||||
speechExercises: 4, // zvyšujeme na 4
|
speechExercises: 4,
|
||||||
listeningExercises: 3,
|
listeningExercises: 3,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
@ -3292,8 +3292,8 @@ const LEVELS_CONFIG = {
|
|||||||
diamonds: 5,
|
diamonds: 5,
|
||||||
golds: 6,
|
golds: 6,
|
||||||
crystals: 3,
|
crystals: 3,
|
||||||
speechExercises: 5, // 5 slov na vyslovenie
|
speechExercises: 5,
|
||||||
listeningExercises: 4, // 4 slová na počúvanie
|
listeningExercises: 4,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
@ -3338,8 +3338,8 @@ const LEVELS_CONFIG = {
|
|||||||
diamonds: 5,
|
diamonds: 5,
|
||||||
golds: 6,
|
golds: 6,
|
||||||
crystals: 3,
|
crystals: 3,
|
||||||
speechExercises: 5, // 5 slov na vyslovenie
|
speechExercises: 5,
|
||||||
listeningExercises: 4, // 4 slová na počúvanie
|
listeningExercises: 4,
|
||||||
mapSize: { width: 16, height: 10 }
|
mapSize: { width: 16, height: 10 }
|
||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
@ -3476,15 +3476,15 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 4, y: 12 }, // diamant na pozícii 3,8
|
{ x: 4, y: 12 },
|
||||||
{ x: 9, y: 11 },
|
{ x: 9, y: 11 },
|
||||||
{ x: 10, y: 14 },
|
{ x: 10, y: 14 },
|
||||||
{ x: 5, y: 9 },
|
{ x: 5, y: 9 },
|
||||||
{ x: 0, y: 10 }
|
{ x: 0, y: 10 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 14, y: 9 }, // gold na pozícii 2,9
|
{ x: 14, y: 9 },
|
||||||
{ x: 7, y: 10 }, // gold na pozícii 7,8
|
{ x: 7, y: 10 },
|
||||||
{ x: 2, y: 6 }
|
{ x: 2, y: 6 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
@ -4137,15 +4137,15 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 4, y: 12 }, // diamant na pozícii 3,8
|
{ x: 4, y: 12 },
|
||||||
{ x: 9, y: 11 },
|
{ x: 9, y: 11 },
|
||||||
{ x: 10, y: 14 },
|
{ x: 10, y: 14 },
|
||||||
{ x: 5, y: 9 },
|
{ x: 5, y: 9 },
|
||||||
{ x: 0, y: 10 }
|
{ x: 0, y: 10 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 14, y: 9 }, // gold na pozícii 2,9
|
{ x: 14, y: 9 },
|
||||||
{ x: 7, y: 10 }, // gold na pozícii 7,8
|
{ x: 7, y: 10 },
|
||||||
{ x: 2, y: 6 }
|
{ x: 2, y: 6 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
@ -4795,15 +4795,15 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 4, y: 12 }, // diamant na pozícii 3,8
|
{ x: 4, y: 12 },
|
||||||
{ x: 9, y: 11 },
|
{ x: 9, y: 11 },
|
||||||
{ x: 10, y: 14 },
|
{ x: 10, y: 14 },
|
||||||
{ x: 5, y: 9 },
|
{ x: 5, y: 9 },
|
||||||
{ x: 0, y: 10 }
|
{ x: 0, y: 10 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 14, y: 9 }, // gold na pozícii 2,9
|
{ x: 14, y: 9 },
|
||||||
{ x: 7, y: 10 }, // gold na pozícii 7,8
|
{ x: 7, y: 10 },
|
||||||
{ x: 2, y: 6 }
|
{ x: 2, y: 6 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
@ -5453,15 +5453,15 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 4, y: 12 }, // diamant na pozícii 3,8
|
{ x: 4, y: 12 },
|
||||||
{ x: 9, y: 11 },
|
{ x: 9, y: 11 },
|
||||||
{ x: 10, y: 14 },
|
{ x: 10, y: 14 },
|
||||||
{ x: 5, y: 9 },
|
{ x: 5, y: 9 },
|
||||||
{ x: 0, y: 10 }
|
{ x: 0, y: 10 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 14, y: 9 }, // gold na pozícii 2,9
|
{ x: 14, y: 9 },
|
||||||
{ x: 7, y: 10 }, // gold na pozícii 7,8
|
{ x: 7, y: 10 },
|
||||||
{ x: 2, y: 6 }
|
{ x: 2, y: 6 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
@ -6118,15 +6118,15 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 4, y: 12 }, // diamant na pozícii 3,8
|
{ x: 4, y: 12 },
|
||||||
{ x: 9, y: 11 },
|
{ x: 9, y: 11 },
|
||||||
{ x: 10, y: 14 },
|
{ x: 10, y: 14 },
|
||||||
{ x: 5, y: 9 },
|
{ x: 5, y: 9 },
|
||||||
{ x: 0, y: 10 }
|
{ x: 0, y: 10 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 14, y: 9 }, // gold na pozícii 2,9
|
{ x: 14, y: 9 },
|
||||||
{ x: 7, y: 10 }, // gold na pozícii 7,8
|
{ x: 7, y: 10 },
|
||||||
{ x: 2, y: 6 }
|
{ x: 2, y: 6 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
@ -6788,15 +6788,15 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 4, y: 12 }, // diamant na pozícii 3,8
|
{ x: 4, y: 12 },
|
||||||
{ x: 9, y: 11 },
|
{ x: 9, y: 11 },
|
||||||
{ x: 10, y: 14 },
|
{ x: 10, y: 14 },
|
||||||
{ x: 5, y: 9 },
|
{ x: 5, y: 9 },
|
||||||
{ x: 0, y: 10 }
|
{ x: 0, y: 10 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 14, y: 9 }, // gold na pozícii 2,9
|
{ x: 14, y: 9 },
|
||||||
{ x: 7, y: 10 }, // gold na pozícii 7,8
|
{ x: 7, y: 10 },
|
||||||
{ x: 2, y: 6 }
|
{ x: 2, y: 6 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
@ -7460,15 +7460,15 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 4, y: 12 }, // diamant na pozícii 3,8
|
{ x: 4, y: 12 },
|
||||||
{ x: 9, y: 11 },
|
{ x: 9, y: 11 },
|
||||||
{ x: 10, y: 14 },
|
{ x: 10, y: 14 },
|
||||||
{ x: 5, y: 9 },
|
{ x: 5, y: 9 },
|
||||||
{ x: 0, y: 10 }
|
{ x: 0, y: 10 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 14, y: 9 }, // gold na pozícii 2,9
|
{ x: 14, y: 9 },
|
||||||
{ x: 7, y: 10 }, // gold na pozícii 7,8
|
{ x: 7, y: 10 },
|
||||||
{ x: 2, y: 6 }
|
{ x: 2, y: 6 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
@ -8135,15 +8135,15 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 4, y: 12 }, // diamant na pozícii 3,8
|
{ x: 4, y: 12 },
|
||||||
{ x: 9, y: 11 },
|
{ x: 9, y: 11 },
|
||||||
{ x: 10, y: 14 },
|
{ x: 10, y: 14 },
|
||||||
{ x: 5, y: 9 },
|
{ x: 5, y: 9 },
|
||||||
{ x: 0, y: 10 }
|
{ x: 0, y: 10 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 14, y: 9 }, // gold na pozícii 2,9
|
{ x: 14, y: 9 },
|
||||||
{ x: 7, y: 10 }, // gold na pozícii 7,8
|
{ x: 7, y: 10 },
|
||||||
{ x: 2, y: 6 }
|
{ x: 2, y: 6 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
@ -8813,15 +8813,15 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 4, y: 12 }, // diamant na pozícii 3,8
|
{ x: 4, y: 12 },
|
||||||
{ x: 9, y: 11 },
|
{ x: 9, y: 11 },
|
||||||
{ x: 10, y: 14 },
|
{ x: 10, y: 14 },
|
||||||
{ x: 5, y: 9 },
|
{ x: 5, y: 9 },
|
||||||
{ x: 0, y: 10 }
|
{ x: 0, y: 10 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 14, y: 9 }, // gold na pozícii 2,9
|
{ x: 14, y: 9 },
|
||||||
{ x: 7, y: 10 }, // gold na pozícii 7,8
|
{ x: 7, y: 10 },
|
||||||
{ x: 2, y: 6 }
|
{ x: 2, y: 6 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
@ -9490,15 +9490,15 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 4, y: 12 }, // diamant na pozícii 3,8
|
{ x: 4, y: 12 },
|
||||||
{ x: 9, y: 11 },
|
{ x: 9, y: 11 },
|
||||||
{ x: 10, y: 14 },
|
{ x: 10, y: 14 },
|
||||||
{ x: 5, y: 9 },
|
{ x: 5, y: 9 },
|
||||||
{ x: 0, y: 10 }
|
{ x: 0, y: 10 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 14, y: 9 }, // gold na pozícii 2,9
|
{ x: 14, y: 9 },
|
||||||
{ x: 7, y: 10 }, // gold na pozícii 7,8
|
{ x: 7, y: 10 },
|
||||||
{ x: 2, y: 6 }
|
{ x: 2, y: 6 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
@ -10183,15 +10183,15 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 4, y: 12 }, // diamant na pozícii 3,8
|
{ x: 4, y: 12 },
|
||||||
{ x: 9, y: 11 },
|
{ x: 9, y: 11 },
|
||||||
{ x: 10, y: 14 },
|
{ x: 10, y: 14 },
|
||||||
{ x: 5, y: 9 },
|
{ x: 5, y: 9 },
|
||||||
{ x: 0, y: 10 }
|
{ x: 0, y: 10 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 14, y: 9 }, // gold na pozícii 2,9
|
{ x: 14, y: 9 },
|
||||||
{ x: 7, y: 10 }, // gold na pozícii 7,8
|
{ x: 7, y: 10 },
|
||||||
{ x: 2, y: 6 }
|
{ x: 2, y: 6 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
@ -10872,15 +10872,15 @@ const LEVELS_CONFIG = {
|
|||||||
},
|
},
|
||||||
positions: {
|
positions: {
|
||||||
diamonds: [
|
diamonds: [
|
||||||
{ x: 4, y: 12 }, // diamant na pozícii 3,8
|
{ x: 4, y: 12 },
|
||||||
{ x: 9, y: 11 },
|
{ x: 9, y: 11 },
|
||||||
{ x: 10, y: 14 },
|
{ x: 10, y: 14 },
|
||||||
{ x: 5, y: 9 },
|
{ x: 5, y: 9 },
|
||||||
{ x: 0, y: 10 }
|
{ x: 0, y: 10 }
|
||||||
],
|
],
|
||||||
golds: [
|
golds: [
|
||||||
{ x: 14, y: 9 }, // gold na pozícii 2,9
|
{ x: 14, y: 9 },
|
||||||
{ x: 7, y: 10 }, // gold na pozícii 7,8
|
{ x: 7, y: 10 },
|
||||||
{ x: 2, y: 6 }
|
{ x: 2, y: 6 }
|
||||||
],
|
],
|
||||||
crystals: [
|
crystals: [
|
||||||
|
|||||||
@ -198,7 +198,7 @@ const WORLDS_CONFIG = [
|
|||||||
name: 'Ď',
|
name: 'Ď',
|
||||||
title: 'Svet písmena Ď',
|
title: 'Svet písmena Ď',
|
||||||
description: 'Ďabaj s mäkkým písmenom Ď',
|
description: 'Ďabaj s mäkkým písmenom Ď',
|
||||||
color: '#FD79A8', // tmavoružová
|
color: '#FD79A8',
|
||||||
icon: 'images/worlds/world_dh.png',
|
icon: 'images/worlds/world_dh.png',
|
||||||
difficulty: 3,
|
difficulty: 3,
|
||||||
unlockRequirement: null,
|
unlockRequirement: null,
|
||||||
@ -211,7 +211,7 @@ const WORLDS_CONFIG = [
|
|||||||
name: 'Ť',
|
name: 'Ť',
|
||||||
title: 'Svet písmena Ť',
|
title: 'Svet písmena Ť',
|
||||||
description: 'Ťukaj s mäkkým písmenom Ť',
|
description: 'Ťukaj s mäkkým písmenom Ť',
|
||||||
color: '#FDCB6E', // oranžová
|
color: '#FDCB6E',
|
||||||
icon: 'images/worlds/world_th.png',
|
icon: 'images/worlds/world_th.png',
|
||||||
difficulty: 3,
|
difficulty: 3,
|
||||||
unlockRequirement: null,
|
unlockRequirement: null,
|
||||||
|
|||||||
126
css/pexeso.css
126
css/pexeso.css
@ -753,9 +753,6 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Hlavný herný canvas */
|
/* Hlavný herný canvas */
|
||||||
/* Hlavný herný canvas */
|
|
||||||
/* Zmena z flexbox na CSS Grid - karty sa budú rozmiestňovať cez
|
|
||||||
grid-template-columns definovaný v pravidlách .cards-N nižšie. */
|
|
||||||
#gameCanvas {
|
#gameCanvas {
|
||||||
background-image: url("../images/pozadie.jpg");
|
background-image: url("../images/pozadie.jpg");
|
||||||
min-width: 800px; /* Desktopová veľkosť */
|
min-width: 800px; /* Desktopová veľkosť */
|
||||||
@ -767,13 +764,13 @@ body {
|
|||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
|
|
||||||
/* === GRID NASTAVENIE === */
|
/* === GRID NASTAVENIE === */
|
||||||
display: grid; /* Mriežkový layout pre karty */
|
display: grid;
|
||||||
gap: 1.5%; /* Medzera medzi kartami (% zo šírky canvasu) */
|
gap: 1.5%;
|
||||||
padding: 2%; /* Vnútorný odstup od okrajov canvasu */
|
padding: 2%;
|
||||||
align-content: center; /* Vertikálne vycentrovanie gridu ak je menší */
|
align-content: center;
|
||||||
justify-content: center; /* Horizontálne vycentrovanie */
|
justify-content: center;
|
||||||
align-items: stretch; /* Karty vyplnia výšku bunky */
|
align-items: stretch;
|
||||||
justify-items: stretch; /* Karty vyplnia šírku bunky */
|
justify-items: stretch;
|
||||||
|
|
||||||
/* === VZHĽAD === */
|
/* === VZHĽAD === */
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
@ -786,7 +783,6 @@ body {
|
|||||||
filter: drop-shadow(4px 8px 8px rgba(0, 0, 0, 0.30));
|
filter: drop-shadow(4px 8px 8px rgba(0, 0, 0, 0.30));
|
||||||
|
|
||||||
/* === BOX-SIZING === */
|
/* === BOX-SIZING === */
|
||||||
/* Padding sa počíta dovnútra - canvas zostane presne 800x800 */
|
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -794,40 +790,29 @@ body {
|
|||||||
/* ZÁKLADNÉ NASTAVENIE KARTY */
|
/* ZÁKLADNÉ NASTAVENIE KARTY */
|
||||||
/* Toto je predvolené nastavenie pre karty */
|
/* Toto je predvolené nastavenie pre karty */
|
||||||
/* =========================================== */
|
/* =========================================== */
|
||||||
/* =========================================== */
|
|
||||||
/* ZÁKLADNÉ NASTAVENIE KARTY */
|
|
||||||
/* Karta vyplní bunku gridu cez 100% šírky. */
|
|
||||||
/* Aspect-ratio 1/1 zabezpečí štvorec. */
|
|
||||||
/* container-type umožňuje používať cqw units */
|
|
||||||
/* (napr. font-size: 20cqw = 20% šírky karty) */
|
|
||||||
/* =========================================== */
|
|
||||||
.card-container {
|
.card-container {
|
||||||
display: flex; /* Flexbox pre centrovanie obsahu vnútri */
|
display: flex;
|
||||||
width: 100%; /* Vyplní celú šírku gridovej bunky */
|
width: 100%;
|
||||||
height: auto; /* Výška sa dopočíta z aspect-ratio */
|
height: auto;
|
||||||
aspect-ratio: 1 / 1; /* Karta je vždy štvorec */
|
aspect-ratio: 1 / 1;
|
||||||
|
|
||||||
/* Container Queries - umožňuje cqw units pre obsah karty */
|
|
||||||
container-type: inline-size; /* 1cqw = 1% šírky karty */
|
container-type: inline-size;
|
||||||
|
|
||||||
background-image: url('../images/pozadie_button_mobile_2.png');
|
background-image: url('../images/pozadie_button_mobile_2.png');
|
||||||
border: 2px solid #ECCF17 !important;
|
border: 2px solid #ECCF17 !important;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
|
|
||||||
/* Centrované vnútro */
|
flex-direction: column;
|
||||||
flex-direction: column; /* Obrázok nad textom */
|
align-items: center;
|
||||||
align-items: center; /* Horizontálne vycentrovanie */
|
justify-content: center;
|
||||||
justify-content: center; /* Vertikálne vycentrovanie */
|
|
||||||
|
|
||||||
/* Animácie */
|
|
||||||
transition: all 0.5s ease;
|
transition: all 0.5s ease;
|
||||||
|
|
||||||
/* 3D efekt pre flip */
|
|
||||||
perspective: 1000px;
|
perspective: 1000px;
|
||||||
transform-style: preserve-3d;
|
transform-style: preserve-3d;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
/* Box-sizing zabezpečí že border je započítaný v rozmere */
|
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -880,42 +865,33 @@ body {
|
|||||||
animation: correctMatch 0.6s ease;
|
animation: correctMatch 0.6s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =========================================== */
|
|
||||||
/* OBRÁZKY A TEXT V KARTÁCH */
|
|
||||||
/* Všetko v relatívnych jednotkách: */
|
|
||||||
/* - obrázok: 55% rozmerov karty */
|
|
||||||
/* - text: cqw = % šírky karty */
|
|
||||||
/* Takto sa automaticky škáluje s veľkosťou */
|
|
||||||
/* karty bez potreby rôznych pravidiel. */
|
|
||||||
/* =========================================== */
|
|
||||||
.card-container img {
|
.card-container img {
|
||||||
width: 55%; /* 55% šírky karty */
|
width: 55%;
|
||||||
height: 55%; /* 55% výšky karty */
|
height: 55%;
|
||||||
object-fit: contain; /* Zachová pomer strán obrázku */
|
object-fit: contain;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Text na rubovej strane karty (PEXESO) - väčší */
|
/* Text na rubovej strane karty (PEXESO) - väčší */
|
||||||
.card-container span {
|
.card-container span {
|
||||||
font-size: 20cqw; /* 20% šírky karty (napr. 160px karta = 32px font) */
|
font-size: 20cqw;
|
||||||
|
|
||||||
/* Farebný gradient (nezmenené) */
|
|
||||||
background: linear-gradient(180deg, #EF0 0%, #FFD900 100%);
|
background: linear-gradient(180deg, #EF0 0%, #FFD900 100%);
|
||||||
background-clip: text;
|
background-clip: text;
|
||||||
-webkit-background-clip: text;
|
-webkit-background-clip: text;
|
||||||
-webkit-text-fill-color: transparent;
|
-webkit-text-fill-color: transparent;
|
||||||
-webkit-text-stroke: unset;
|
-webkit-text-stroke: unset;
|
||||||
|
|
||||||
/* Text nesmie pretekať kartu */
|
max-width: 90%;
|
||||||
max-width: 90%; /* Max 90% šírky karty */
|
overflow: hidden;
|
||||||
overflow: hidden; /* Skryje pretekajúci text */
|
text-overflow: ellipsis;
|
||||||
text-overflow: ellipsis; /* "..." ak je text príliš dlhý */
|
white-space: nowrap;
|
||||||
white-space: nowrap; /* Neláme text */
|
padding: 0 5%;
|
||||||
padding: 0 5%; /* Malý odstup od okrajov */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Text po otočení karty (konkrétne slovo) - menší aby sa zmestil */
|
|
||||||
.card-container.flipped span {
|
.card-container.flipped span {
|
||||||
font-size: 11cqw; /* 11% šírky karty (pre dlhšie slová) */
|
font-size: 11cqw;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =========================================== */
|
/* =========================================== */
|
||||||
@ -962,9 +938,8 @@ body {
|
|||||||
/* ===== PAUSE MENU ===== */
|
/* ===== PAUSE MENU ===== */
|
||||||
/* =========================================== */
|
/* =========================================== */
|
||||||
|
|
||||||
/* Hlavný container pause menu */
|
|
||||||
.pause-modal {
|
.pause-modal {
|
||||||
display: none; /* Skrytý na začiatku */
|
display: none;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
@ -993,28 +968,17 @@ body {
|
|||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translate(-50%, -50%);
|
transform: translate(-50%, -50%);
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
|
|
||||||
/* Rovnaké rozmery ako execise-window */
|
|
||||||
width: 70%;
|
width: 70%;
|
||||||
max-width: 450px;
|
max-width: 450px;
|
||||||
min-width: 400px;
|
min-width: 400px;
|
||||||
|
|
||||||
/* DÔLEŽITÉ: Používame ROVNAKÉ pozadie ako ostatné modaly */
|
|
||||||
background: url('../images/pozadie_button_mobile_2.png') lightgray 50% / cover no-repeat;
|
background: url('../images/pozadie_button_mobile_2.png') lightgray 50% / cover no-repeat;
|
||||||
|
|
||||||
/* Rovnaký border ako ostatné modaly */
|
|
||||||
border: 4px solid #ECCF17;
|
border: 4px solid #ECCF17;
|
||||||
border-radius: 30px;
|
border-radius: 30px;
|
||||||
|
|
||||||
/* Padding */
|
|
||||||
padding: 2rem 3rem;
|
padding: 2rem 3rem;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
||||||
/* Animácie */
|
|
||||||
transition: all 0.4s ease;
|
transition: all 0.4s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Header pause menu */
|
|
||||||
.pause-modal-header {
|
.pause-modal-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@ -1024,7 +988,6 @@ body {
|
|||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Nadpis "PAUZA" */
|
|
||||||
.pause-modal-header h2 {
|
.pause-modal-header h2 {
|
||||||
font-family: 'Luckiest Guy', sans-serif;
|
font-family: 'Luckiest Guy', sans-serif;
|
||||||
font-size: 64px;
|
font-size: 64px;
|
||||||
@ -1034,19 +997,14 @@ body {
|
|||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
/* Gradient text ako ostatné texty */
|
|
||||||
background: linear-gradient(180deg, #EF0 0%, #FFD900 100%);
|
background: linear-gradient(180deg, #EF0 0%, #FFD900 100%);
|
||||||
background-clip: text;
|
background-clip: text;
|
||||||
-webkit-background-clip: text;
|
-webkit-background-clip: text;
|
||||||
-webkit-text-fill-color: transparent;
|
-webkit-text-fill-color: transparent;
|
||||||
|
|
||||||
/* Text stroke */
|
|
||||||
-webkit-text-stroke-width: 1px;
|
-webkit-text-stroke-width: 1px;
|
||||||
-webkit-text-stroke-color: #000;
|
-webkit-text-stroke-color: #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Close button (X) - ROVNAKÝ ako v pôvodnom .close */
|
|
||||||
.pause-close-btn {
|
.pause-close-btn {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -20px;
|
top: -20px;
|
||||||
@ -1055,8 +1013,6 @@ body {
|
|||||||
border: none;
|
border: none;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
|
||||||
/* Text štýl */
|
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-family: "Luckiest Guy", sans-serif;
|
font-family: "Luckiest Guy", sans-serif;
|
||||||
@ -1064,11 +1020,7 @@ body {
|
|||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
|
|
||||||
/* Cursor */
|
|
||||||
cursor: url('../images/active_cursor4.png') 5 5, pointer;
|
cursor: url('../images/active_cursor4.png') 5 5, pointer;
|
||||||
|
|
||||||
/* Animácie */
|
|
||||||
transition: transform 0.4s ease;
|
transition: transform 0.4s ease;
|
||||||
z-index: 1001;
|
z-index: 1001;
|
||||||
}
|
}
|
||||||
@ -1077,12 +1029,12 @@ body {
|
|||||||
transform: rotate(15deg) scale(1.05);
|
transform: rotate(15deg) scale(1.05);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Body pause menu */
|
|
||||||
.pause-modal-body {
|
.pause-modal-body {
|
||||||
padding: 10px 0;
|
padding: 10px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Menu navigácia */
|
|
||||||
.pause-menu {
|
.pause-menu {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
@ -1108,25 +1060,15 @@ body {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
/* Rozmery tlačidla */
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-width: 250px;
|
min-width: 250px;
|
||||||
height: 64px;
|
height: 64px;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
border-radius: 30px;
|
border-radius: 30px;
|
||||||
|
|
||||||
/* Tieň */
|
|
||||||
filter: drop-shadow(4px 8px 8px rgba(0, 0, 0, 0.30));
|
filter: drop-shadow(4px 8px 8px rgba(0, 0, 0, 0.30));
|
||||||
|
|
||||||
/* Border a pozadie - ROVNAKÉ ako ostatné tlačidlá */
|
|
||||||
border: 4px solid #AC3F0B;
|
border: 4px solid #AC3F0B;
|
||||||
background: url('../images/pozadie_button.png') lightgray 50% / cover no-repeat;
|
background: url('../images/pozadie_button.png') lightgray 50% / cover no-repeat;
|
||||||
|
|
||||||
/* Prechod pre animácie */
|
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
|
|
||||||
/* Text štýlovanie - ROVNAKÉ ako menu-button */
|
|
||||||
font-family: "Luckiest Guy", sans-serif;
|
font-family: "Luckiest Guy", sans-serif;
|
||||||
font-size: 32px;
|
font-size: 32px;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
@ -1134,15 +1076,9 @@ body {
|
|||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
/* Text stroke */
|
|
||||||
-webkit-text-stroke-width: 1px;
|
-webkit-text-stroke-width: 1px;
|
||||||
-webkit-text-stroke-color: #000;
|
-webkit-text-stroke-color: #000;
|
||||||
|
|
||||||
/* Farba textu - BIELA ako v originálnych tlačidlách */
|
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
|
|
||||||
/* Cursor */
|
|
||||||
cursor: url('../images/active_cursor4.png') 5 5, pointer;
|
cursor: url('../images/active_cursor4.png') 5 5, pointer;
|
||||||
z-index: 10000;
|
z-index: 10000;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -175,7 +175,7 @@
|
|||||||
<ul>
|
<ul>
|
||||||
<li><a href="game.html" alt="Reštart" class="menu-button">Reštart</a></li>
|
<li><a href="game.html" alt="Reštart" class="menu-button">Reštart</a></li>
|
||||||
<li><a href="worldsmenu.html" alt="Koniec" class="menu-button">Koniec</a></li>
|
<li><a href="worldsmenu.html" alt="Koniec" class="menu-button">Koniec</a></li>
|
||||||
<li><a href="menu.html" alt="Menu" class="menu-button">Menu</a></li>
|
<li><a href="menu.html" alt="Menu" class="menu-button">Úvodná obrazovka</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
78
index.html
78
index.html
@ -53,7 +53,7 @@
|
|||||||
<li><a href="#projekt" alt="O projekte" class="menu-button show-about">O PROJEKTE</a></li>
|
<li><a href="#projekt" alt="O projekte" class="menu-button show-about">O PROJEKTE</a></li>
|
||||||
<!--<li><a href="game.html" alt="Banik" class="menu-button"><span>TEST Bana</span></a></li>-->
|
<!--<li><a href="game.html" alt="Banik" class="menu-button"><span>TEST Bana</span></a></li>-->
|
||||||
<!--<li><a href="pexeso.html" alt="Jozino" class="menu-button"><span>Test PEXESO</span></a></li>-->
|
<!--<li><a href="pexeso.html" alt="Jozino" class="menu-button"><span>Test PEXESO</span></a></li>-->
|
||||||
<li><a href="superjozino.html" alt="Jozino" class="menu-button"><span>TEST JOZINO</span></a></li>
|
<!--<li><a href="superjozino.html" alt="Jozino" class="menu-button"><span>TEST JOZINO</span></a></li>-->
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
@ -82,34 +82,39 @@
|
|||||||
<div class="modal-arrow-up"></div>
|
<div class="modal-arrow-up"></div>
|
||||||
<div class="modal-text-content">
|
<div class="modal-text-content">
|
||||||
<p>
|
<p>
|
||||||
Vitaj v hre Baník Jožino! Tvojou úlohou je preberať rolu odvážneho baníka a
|
Vitaj v platforme <strong>Baník Jožino</strong>! Ide o logopedickú hru,
|
||||||
hľadať vzácne poklady ukryté v hlbokách podzemnej jaskyne.
|
v ktorej si hravou formou precvičíš slovenské hlásky a slová.
|
||||||
<br><br>
|
<br><br>
|
||||||
<span>Ovládanie postavy:</span><br>
|
<span>Svety a levely:</span><br>
|
||||||
Použi šípky na klávesnici alebo klávesy WASD na pohyb postavy po svete.
|
Platforma obsahuje 16 tematických svetov, každý zameraný na inú
|
||||||
Na vykopanie pokladu stlač medzerník.
|
slovenskú hlásku (R, L, S, Z, C, Š, Ž, Č, D, T, N, Ď, Ť, Ň, K, G).
|
||||||
|
V každom svete ťa čaká 16 levelov s postupne rastúcou náročnosťou.
|
||||||
|
Za každý level môžeš získať 1 až 3 hviezdy podľa tvojho výkonu.
|
||||||
<br><br>
|
<br><br>
|
||||||
<span>Drahokamy:</span><br>
|
<span>Mini hra Baník:</span><br>
|
||||||
V hre sa vyskytujú 3 druhy drahokamov: Zlato, Diamant a Fialový Kryštál.
|
Si odvážny baník a hľadáš poklady v podzemí. Pohybuješ sa pomocou
|
||||||
Na vykopanie diamantu musíš splniť rečové cvičenie. Na vykopanie kryštálu
|
šípok alebo klávesov WASD a kopeš medzerníkom. V hre nájdeš tri druhy
|
||||||
zase posluchové cvičenie.
|
pokladov: <strong>zlato</strong> (jednoduché nazbieranie),
|
||||||
|
<strong>diamant</strong> (spustí rečové cvičenie) a
|
||||||
|
<strong>fialový kryštál</strong> (spustí posluchové cvičenie).
|
||||||
<br><br>
|
<br><br>
|
||||||
<span>Ciele hry:</span><br>
|
<span>Mini hra Pexeso:</span><br>
|
||||||
Pokús sa nazbierať čo najviac pokladov v stanovenom čase. Každý typ
|
Klasické pexeso, ale s obrázkami slov. Otáčaj karty a hľadaj
|
||||||
drahokamu ti prinesie iný počet bodov. Buď opatrný a užívaj si dobrodružstvo!
|
rovnaké dvojice. Keď nájdeš pár, musíš správne vysloviť slovo na
|
||||||
|
karte, aby ti bol bod uznaný.
|
||||||
<br><br>
|
<br><br>
|
||||||
<span>Ovládanie postavy:</span><br>
|
<span>Rečové cvičenie:</span><br>
|
||||||
Použi šípky na klávesnici alebo klávesy WASD na pohyb postavy po svete.
|
Objaví sa slovo s obrázkom a ty ho musíš nahlas vysloviť. Klikni
|
||||||
Na vykopanie pokladu stlač medzerník.
|
na tlačidlo mikrofónu a povedz slovo. Ak ho vyslovíš správne,
|
||||||
|
dostaneš zelenú fajku. Máš na to tri pokusy.
|
||||||
<br><br>
|
<br><br>
|
||||||
<span>Drahokamy:</span><br>
|
<span>Posluchové cvičenie:</span><br>
|
||||||
V hre sa vyskytujú 3 druhy drahokamov: Zlato, Diamant a Fialový Kryštál.
|
Vypočuj si dva zvuky a rozhodni, či sú rovnaké alebo rôzne.
|
||||||
Na vykopanie diamantu musíš splniť rečové cvičenie. Na vykopanie kryštálu
|
Klikni na správne tlačidlo.
|
||||||
zase posluchové cvičenie.
|
|
||||||
<br><br>
|
<br><br>
|
||||||
<span>Ciele hry:</span><br>
|
<span>Cieľ hry:</span><br>
|
||||||
Pokús sa nazbierať čo najviac pokladov v stanovenom čase. Každý typ
|
Prejsť všetky levely, získať čo najviac hviezd a pritom sa
|
||||||
drahokamu ti prinesie iný počet bodov. Buď opatrný a užívaj si dobrodružstvo!
|
zabaviť a zdokonaliť svoju výslovnosť. Veľa šťastia!
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-arrow-down"></div>
|
<div class="modal-arrow-down"></div>
|
||||||
@ -124,21 +129,36 @@
|
|||||||
<div class="modal-arrow-up"></div>
|
<div class="modal-arrow-up"></div>
|
||||||
<div class="modal-text-content">
|
<div class="modal-text-content">
|
||||||
<p>
|
<p>
|
||||||
Baník Jožino je interaktívna logopedická hra vytvorená v rámci diplomovej práce.
|
<strong>Baník Jožino</strong> je interaktívna logopedická platforma
|
||||||
|
vytvorená v rámci diplomovej práce. Je určená deťom s poruchami
|
||||||
|
výslovnosti, najmä vo veku do 8 rokov.
|
||||||
<br><br>
|
<br><br>
|
||||||
<span>Cieľ:</span><br>
|
<span>Cieľ projektu:</span><br>
|
||||||
Pomôcť deťom s rozvojom správnej výslovnosti a artikulácie pomocou hravých cvičení.
|
Pomôcť deťom s rozvojom správnej výslovnosti hravou a motivujúcou
|
||||||
|
formou. Platforma je bezplatná a slúži ako doplnok k odbornej logopedickej
|
||||||
|
terapii, nie ako jej náhrada.
|
||||||
|
<br><br>
|
||||||
|
<span>Obsah platformy:</span><br>
|
||||||
|
16 tematických svetov podľa jednotlivých problémových hlások a
|
||||||
|
viac než 256 levelov naprieč dvoma rôznymi mini hrami:
|
||||||
|
Baník a Pexeso.
|
||||||
<br><br>
|
<br><br>
|
||||||
<span>Technológie:</span><br>
|
<span>Technológie:</span><br>
|
||||||
HTML5, CSS, JavaScript
|
HTML5, CSS3, JavaScript, Web Speech API (rozpoznávanie reči),
|
||||||
|
Howler.js (zvuk), Canvas API (grafika)
|
||||||
<br><br>
|
<br><br>
|
||||||
<span>Autor:</span><br>
|
<span>Autor:</span><br>
|
||||||
Adam Reňak<br>
|
Bc. Adam Reňak
|
||||||
|
<br><br>
|
||||||
|
<span>Vedúci práce:</span><br>
|
||||||
|
Ing. Renát Haluška, PhD.
|
||||||
|
<br><br>
|
||||||
|
<span>Univerzita:</span><br>
|
||||||
Technická univerzita v Košiciach<br>
|
Technická univerzita v Košiciach<br>
|
||||||
Fakulta elektrotechniky a informatiky
|
Fakulta elektrotechniky a informatiky
|
||||||
<br><br>
|
<br><br>
|
||||||
<span>Rok:</span><br>
|
<span>Rok:</span><br>
|
||||||
2025
|
2026
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-arrow-down"></div>
|
<div class="modal-arrow-down"></div>
|
||||||
|
|||||||
@ -93,7 +93,7 @@ function openModal(modal) {
|
|||||||
modal.style.opacity = '0';
|
modal.style.opacity = '0';
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
modal.style.opacity = '1';
|
modal.style.opacity = '1';
|
||||||
setupModalScrolling(); // Inicializuj scrollovanie
|
setupModalScrolling(modal);
|
||||||
}, 10);
|
}, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -113,13 +113,20 @@ function closeModal(modal) {
|
|||||||
/**
|
/**
|
||||||
* Nastavenie scroll funkcionalite pre modal obsah
|
* Nastavenie scroll funkcionalite pre modal obsah
|
||||||
*/
|
*/
|
||||||
function setupModalScrolling() {
|
function setupModalScrolling(modal) {
|
||||||
const modalContent = document.querySelector('.modal-text-content');
|
// Ak nie je modal zadaný, fallback na celý dokument (pre spätnú kompatibilitu)
|
||||||
const arrowUp = document.querySelector('.modal-arrow-up');
|
const scope = modal || document;
|
||||||
const arrowDown = document.querySelector('.modal-arrow-down');
|
|
||||||
|
|
||||||
|
// Hľadáme elementy LEN v rámci daného modalu (nie na celej stránke)
|
||||||
|
const modalContent = scope.querySelector('.modal-text-content');
|
||||||
|
const arrowUp = scope.querySelector('.modal-arrow-up');
|
||||||
|
const arrowDown = scope.querySelector('.modal-arrow-down');
|
||||||
|
|
||||||
|
// Ak niektorý element chýba, nie je čo nastavovať
|
||||||
if (!modalContent || !arrowUp || !arrowDown) return;
|
if (!modalContent || !arrowUp || !arrowDown) return;
|
||||||
|
|
||||||
|
// Funkcia na aktualizáciu vizuálneho stavu šípok
|
||||||
|
// Ak sme na vrchu, šípka hore je stlmená, ak na spodku, šípka dole je stlmená
|
||||||
function updateArrows() {
|
function updateArrows() {
|
||||||
const isAtTop = modalContent.scrollTop <= 5;
|
const isAtTop = modalContent.scrollTop <= 5;
|
||||||
const isAtBottom = modalContent.scrollTop + modalContent.clientHeight >= modalContent.scrollHeight - 5;
|
const isAtBottom = modalContent.scrollTop + modalContent.clientHeight >= modalContent.scrollHeight - 5;
|
||||||
@ -128,17 +135,28 @@ function setupModalScrolling() {
|
|||||||
arrowDown.style.opacity = isAtBottom ? '0.3' : '1';
|
arrowDown.style.opacity = isAtBottom ? '0.3' : '1';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Scroll hore
|
// DÔLEŽITÉ: Listenery pridávame len raz - pri prvom otvorení tohto modalu
|
||||||
|
// Bez tejto kontroly by sa pri každom ďalšom otvorení modalu pridal ďalší listener,
|
||||||
|
// čo by spôsobilo viacnásobný scroll pri každom kliknutí na šípku
|
||||||
|
if (!modalContent.dataset.scrollInitialized) {
|
||||||
|
// Kliknutie na šípku hore - scrolluj obsah smerom nahor
|
||||||
arrowUp.addEventListener('click', function() {
|
arrowUp.addEventListener('click', function() {
|
||||||
modalContent.scrollBy({ top: -100, behavior: 'smooth' });
|
modalContent.scrollBy({ top: -100, behavior: 'smooth' });
|
||||||
});
|
});
|
||||||
|
|
||||||
// Scroll dole
|
// Kliknutie na šípku dole - scrolluj obsah smerom nadol
|
||||||
arrowDown.addEventListener('click', function() {
|
arrowDown.addEventListener('click', function() {
|
||||||
modalContent.scrollBy({ top: 100, behavior: 'smooth' });
|
modalContent.scrollBy({ top: 100, behavior: 'smooth' });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Pri scrollovaní obsahu aktualizuj vizuálny stav šípok
|
||||||
modalContent.addEventListener('scroll', updateArrows);
|
modalContent.addEventListener('scroll', updateArrows);
|
||||||
|
|
||||||
|
// Označ tento modal ako inicializovaný aby sa listenery nepridali znova
|
||||||
|
modalContent.dataset.scrollInitialized = 'true';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Pri každom otvorení modalu aktualizuj stav šípok (nech sú vizuálne správne)
|
||||||
updateArrows();
|
updateArrows();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
67
js/game.js
67
js/game.js
@ -3436,42 +3436,59 @@ function restartCurrentLevel() {
|
|||||||
function goToNextLevel() {
|
function goToNextLevel() {
|
||||||
console.log('Pokúsim sa prejsť na ďalší level...');
|
console.log('Pokúsim sa prejsť na ďalší level...');
|
||||||
|
|
||||||
|
// Získaj aktuálny worldId a levelId z URL parametrov
|
||||||
const urlParams = new URLSearchParams(window.location.search);
|
const urlParams = new URLSearchParams(window.location.search);
|
||||||
const worldId = urlParams.get('worldId') || urlParams.get('world');
|
const worldId = urlParams.get('worldId') || urlParams.get('world');
|
||||||
const levelId = urlParams.get('levelId') || urlParams.get('level');
|
const levelId = urlParams.get('levelId') || urlParams.get('level');
|
||||||
|
|
||||||
|
// Ak v URL chýbajú parametre, nemôžeme zistiť ďalší level - späť do menu
|
||||||
if (!worldId || !levelId) {
|
if (!worldId || !levelId) {
|
||||||
console.log('Nie sú dostupné URL parametre, vraciam sa do menu');
|
console.log('Chýbajú URL parametre (worldId/levelId), vraciam sa do menu');
|
||||||
returnToMenu();
|
returnToMenu();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Použij gameRouter ak je dostupný
|
// Skontroluj, či je funkcia getNextLevel vôbec dostupná (z config/levels.js)
|
||||||
if (window.gameRouter && typeof window.gameRouter.continueToNextLevel === 'function') {
|
if (typeof getNextLevel !== 'function') {
|
||||||
closeAllDialogs();
|
console.error('Funkcia getNextLevel nie je dostupná - config/levels.js pravdepodobne nie je načítaný');
|
||||||
window.gameRouter.continueToNextLevel(worldId, levelId);
|
returnToMenu();
|
||||||
} else {
|
return;
|
||||||
// Fallback - manuálne hľadanie ďalšieho levelu
|
}
|
||||||
console.log('GameRouter nie je dostupný, používam fallback');
|
|
||||||
if (typeof getLevelConfig === 'function') {
|
|
||||||
const currentLevel = getLevelConfig(levelId);
|
|
||||||
if (currentLevel) {
|
|
||||||
const nextLevelNumber = currentLevel.levelNumber + 1;
|
|
||||||
const nextLevelId = `${worldId}_${nextLevelNumber}`;
|
|
||||||
const nextLevel = getLevelConfig(nextLevelId);
|
|
||||||
|
|
||||||
if (nextLevel) {
|
// Získaj konfiguráciu ďalšieho levelu cez oficiálnu funkciu z levels.js
|
||||||
|
const nextLevel = getNextLevel(levelId);
|
||||||
|
|
||||||
|
// Ak ďalší level neexistuje (sme na poslednom leveli sveta), vráť sa do menu
|
||||||
|
if (!nextLevel) {
|
||||||
|
console.log(`Ďalší level po ${levelId} neexistuje - koniec sveta, vraciam sa do menu`);
|
||||||
|
returnToMenu();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Zisti, aký typ hry má ďalší level a zostav správnu URL
|
||||||
|
// gameType môže byť 'banik', 'pexeso' alebo 'mario'
|
||||||
|
const gameUrls = {
|
||||||
|
'banik': 'game.html',
|
||||||
|
'pexeso': 'pexeso.html',
|
||||||
|
'mario': 'superjozino.html'
|
||||||
|
};
|
||||||
|
|
||||||
|
const targetUrl = gameUrls[nextLevel.gameType];
|
||||||
|
|
||||||
|
// Ak typ hry nepoznáme, logni chybu a vráť sa do menu
|
||||||
|
if (!targetUrl) {
|
||||||
|
console.error(`Neznámy typ hry: ${nextLevel.gameType}`);
|
||||||
|
returnToMenu();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Zatvor všetky otvorené dialógy pred presmerovaním
|
||||||
closeAllDialogs();
|
closeAllDialogs();
|
||||||
window.location.href = `game.html?worldId=${worldId}&levelId=${nextLevelId}`;
|
|
||||||
} else {
|
// Presmeruj na ďalší level so správnymi URL parametrami
|
||||||
console.log('Ďalší level neexistuje, vraciam sa do menu');
|
const nextUrl = `${targetUrl}?worldId=${nextLevel.worldId}&levelId=${nextLevel.id}`;
|
||||||
returnToMenu();
|
console.log(`Presmerovávam na ďalší level: ${nextUrl}`);
|
||||||
}
|
window.location.href = nextUrl;
|
||||||
}
|
|
||||||
} else {
|
|
||||||
returnToMenu();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////
|
//////////////////////////////////////////////////
|
||||||
|
|||||||
@ -2051,24 +2051,57 @@ function restartCurrentLevel() {
|
|||||||
function goToNextLevel() {
|
function goToNextLevel() {
|
||||||
console.log('➡️ Prechod na ďalší level...');
|
console.log('➡️ Prechod na ďalší level...');
|
||||||
|
|
||||||
// Pre custom hry alebo demo - reštart
|
// Pre custom hry alebo demo nie je ďalší level - len reštartuj aktuálny
|
||||||
if (currentLevel.id === 'custom' || currentLevel.id === 'demo') {
|
if (currentLevel && (currentLevel.id === 'custom' || currentLevel.id === 'demo')) {
|
||||||
restartCurrentLevel();
|
restartCurrentLevel();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hľadanie ďalšieho levelu
|
// Skontroluj, či je funkcia getNextLevel dostupná (z config/levels.js)
|
||||||
if (typeof getNextLevel === 'function') {
|
if (typeof getNextLevel !== 'function') {
|
||||||
|
console.error('❌ Funkcia getNextLevel nie je dostupná - config/levels.js pravdepodobne nie je načítaný');
|
||||||
|
returnToMenu();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Skontroluj, že poznáme aktuálny level
|
||||||
|
if (!currentLevel || !currentLevel.id) {
|
||||||
|
console.error('❌ Neznámy aktuálny level, vraciam sa do menu');
|
||||||
|
returnToMenu();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Získaj konfiguráciu ďalšieho levelu
|
||||||
const nextLevel = getNextLevel(currentLevel.id);
|
const nextLevel = getNextLevel(currentLevel.id);
|
||||||
if (nextLevel) {
|
|
||||||
window.location.href = `pexeso.html?worldId=${nextLevel.worldId}&levelId=${nextLevel.id}`;
|
// Ak ďalší level neexistuje (posledný level sveta), vráť sa do menu
|
||||||
} else {
|
if (!nextLevel) {
|
||||||
// Žiadny ďalší level - návrat do menu
|
console.log(`Ďalší level po ${currentLevel.id} neexistuje - koniec sveta`);
|
||||||
returnToMenu();
|
returnToMenu();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
|
// Mapovanie typu hry na správny HTML súbor
|
||||||
|
// Ďalší level nemusí byť pexeso - môže to byť baník alebo mario
|
||||||
|
const gameUrls = {
|
||||||
|
'banik': 'game.html',
|
||||||
|
'pexeso': 'pexeso.html',
|
||||||
|
'mario': 'superjozino.html'
|
||||||
|
};
|
||||||
|
|
||||||
|
const targetUrl = gameUrls[nextLevel.gameType];
|
||||||
|
|
||||||
|
// Ak typ hry nepoznáme, logni chybu a vráť sa do menu
|
||||||
|
if (!targetUrl) {
|
||||||
|
console.error(`❌ Neznámy typ hry: ${nextLevel.gameType}`);
|
||||||
returnToMenu();
|
returnToMenu();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Presmeruj na ďalší level so správnymi URL parametrami
|
||||||
|
const nextUrl = `${targetUrl}?worldId=${nextLevel.worldId}&levelId=${nextLevel.id}`;
|
||||||
|
console.log(`✅ Presmerovávam na ďalší level: ${nextUrl}`);
|
||||||
|
window.location.href = nextUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -2079,7 +2112,7 @@ function returnToMenu() {
|
|||||||
|
|
||||||
if (currentLevel.id === 'custom') {
|
if (currentLevel.id === 'custom') {
|
||||||
// Pre custom hry návrat na index
|
// Pre custom hry návrat na index
|
||||||
window.location.href = 'index.html';
|
window.location.href = 'worldsmenu.html';
|
||||||
} else {
|
} else {
|
||||||
// Pre level hry návrat na worlds menu
|
// Pre level hry návrat na worlds menu
|
||||||
window.location.href = 'worldsmenu.html';
|
window.location.href = 'worldsmenu.html';
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user