Modifier l’état du jeu
Pour modifier la grille, ajouter ou supprimer des éléments, vous pouvez utiliser l’objet game
, qui fournit un ensemble de méthodes dédiées.
getCell
Cette méthode permet d’obtenir un élément à une position donnée dans la grille, puis de modifier ses propriétés :
const game = createGame()
const element = game.getCell(9, 4)
element.visible = false
Note
setCell
Cette méthode permet de modifier directement un élément à une position donnée.
Elle prend trois paramètres : x
, y
, et un objet contenant les propriétés à modifier.
game.setCell(3, 4, {
visible: false,
dialog: 'Je suis invisible'
})
setAll
setAll
permet de modifier tous les éléments portant un symbole donné :
game.setAll('#', {
visible: false
})
addToCell
Ajoute un nouvel élément sur une case donnée.
Paramètres : position x
, position y
, et symbole de l’élément à ajouter.
game.addToCell(3, 2, '#')
Attention
player
L’objet game.player
permet d’accéder au joueur, et de modifier sa position
et sa sprite
:
game.player.position = [5, 6]
game.player.sprite = `
..1..
.111.
11111
.1.1.
.1.1.
`
width
et height
Pour obtenir les dimensions du monde, utilisez les propriétés game.width
et game.height
.
Ces propriétés sont en lecture seule.
alert(`largeur : ${game.width}, hauteur : ${game.height}`)
loadMap
Pour charger une nouvelle carte, utilisez game.loadMap()
.
La méthode prend deux paramètres :
- Une nouvelle
map
sous forme de chaîne multilignes, - Une position optionnelle pour replacer le joueur.
game.loadMap(
`
########
#......#
#......#
#......#
#......#
#......#
#......#
########
`,
[3, 5]
)
🎛️ updateFilter
Vous pouvez mettre à jour les paramètres du filtre en cours avec la méthode updateFilter
.
Elle prend en argument un objet contenant les réglages à modifier (les autres resteront inchangés).
const game = createGame({
filter: {
name: 'fractal',
settings: {
sideCount: 12,
scale: 0.9,
rotation: 0
}
}
})
game.updateFilter({
scale: 0.3
})
Attention
updateFilter
ne permet pas de changer le nom du filtre, uniquement ses réglages.