成品效果
/** * js配置 */ var cOnfig= { width: 300, height: 300, img: "./img/fj.jpg", gameDom: document.getElementById("game"), row: 3, //3行 col: 3 //3列 } //经过计算的一些数据 var computed = { num: config.col * config.row, //方块数量 w: config.width / config.col, //每个小方块的宽度 h: config.height / config.row //每个小方块的高度 } //方块对象的数组,每个对象中记录了方块的正确坐标、当前坐标、dom元素、以及一些实用方法 var blocks; /** * 为全局变量blocks赋值 */ function setBlocks() { blocks = []; var points = getPointsArray(); //该数组用于设置每个方块的正确坐标 var shuffledPoints = [...points]; //复制后的数组用于在洗牌后设置方块的当前坐标 shuffle(shuffledPoints);//洗牌 for (var i = 0; ib.isEmpty); //判断是否相邻 if(Math.abs(block.curLeft - emptyBlock.curLeft) + Math.abs(block.curTop - emptyBlock.curTop) !== computed.w){ return; } //交换 var bLeft = block.curLeft; var bTop = block.curTop; block.curLeft = emptyBlock.curLeft; block.curTop = emptyBlock.curTop; emptyBlock.curLeft = bLeft; emptyBlock.curTop = bTop; block.update(); emptyBlock.update(); if(isWin()){ setTimeout(() => { alert("游戏胜利") }, 500); } } /** * 数组洗牌 * @param {*} arr */ function shuffle(arr) { for (var i = 0; i
总结
以上所述是小编给大家介绍的基于JS实现简单滑块拼图游戏,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!