A simple 8-puzzle game made as a Vue.js component
Vue-8-puzzle
An itty-bitty slide puzzle game made as Vue.js component.
Images/Videos for source
Auto-resize
Install and Usage
$ npm install vue-8-puzzle --save
import Vue from 'vue'
import PuzzleBoard from 'vue-8-puzzle'
import videoSrc from 'myvideo.webm'
let v = new Vue({
  el: '#app',
  template: `
    <app>
      <puzzle-board
      :src="videoSrc" />
    </app>`,
  components: {
    PuzzleBoard
  }
})
Props
| Props | Type | Description | Default | 
|---|---|---|---|
| src | String | source path | - | 
| sources | Array | source paths | - | 
| cols | number | number of columns | 4 | 
| rows | number | number of rows | 4 | 
| autoResize | boolean | when true the component fits to its root automatically | false | 
| showNumber | boolean | when true the component shows tile numbers on the video | true | 
Events
| Event | Payload | Description | 
|---|---|---|
| init | none | the puzzle is initialized | 
| start | none | the tile start to move | 
| change | none | the tile changes | 
| finish | none | all the tile is on correct position |