Building a snake engine in JavaScript
It is time to get your hands dirty. Let's see how to create an engine in JavaScript to manage a snake game using our board, our factory, and the power of QML.
Please create a new engine.js
file with the following snippet:
.import "factory.js" as Factory .import "board.js" as Board var COLUMN_COUNT = 50; var ROW_COUNT = 29; var BLOCK_SIZE = 1; var factory = new Factory.GameFactory(); var board = new Board.Board(COLUMN_COUNT, ROW_COUNT, BLOCK_SIZE); var snake = []; var direction;
The first lines are the Qt way to import a JavaScript file from another JavaScript file. Then, we can easily instantiate a factory
variable and a 50x29 board
variable. The snake
array contains all the snake game items instantiated. This array will be useful to move our snake. Finally, the direction
variable is a 2d vector handling the current snake direction.
This is the first function of our engine:
function start() { initEngine(); createSnake(); createWalls...