国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

原生JS實現記憶翻牌游戲

瀏覽:140日期:2024-04-27 10:21:44

本文實例為大家分享了JS實現記憶翻牌游戲的具體代碼,供大家參考,具體內容如下

html代碼

<div id='game'> <!-- div.block*16>div.pic --></div>

css代碼

* { padding: 0; margin: 0;}#game { width: 600px; height: 600px; margin: 0 auto;}.block { float: left; box-sizing: border-box; width: 25%; height: 25%; border: 2px solid #ddd; background-color: #f0f0f0;}.block:hover { background-color: #2b84d0;}.pic { width: 100%; height: 100%; background-repeat: no-repeat; background-position: center center; transform: scaleX(0); transition: transform .2s;}.block.on .pic { transform: scaleX(1)}

js代碼

var game = { el: ’’, level: 0, blocks: 0, gameWidth: 600, gameHeight: 600, dataArr: [], judgeArr: [], turnNum: 0, picNum: 20, maxLevel: 3, // 最高游戲級別 init: function (options) { this.initData(options); this.render(); this.handle(); }, initData: function (options) { this.options = options; this.el = options.el; this.level = options.level > this.maxLevel ? this.maxLevel : options.level; this.blocks = (this.level * 2) * (this.level * 2); this.getdataArr(); }, getdataArr: function () { var randomArr = this.randomArr(); var halfBlocks = this.blocks / 2; var dataArr = []; for(var i = 0; i < halfBlocks; i ++) { var num = randomArr[i]; var info = { url: ’./images/’ + num + ’.png’, id: num } dataArr.push(info, info); } console.log(dataArr); this.dataArr = this.shuffle(dataArr); }, randomArr: function () { var picNum = this.picNum; var arr = []; for(var i = 0; i < picNum; i ++) { arr.push(i + 1); } console.log(arr); return this.shuffle(arr); }, shuffle: function (arr) { return arr.sort(function () { return 0.5 - Math.random(); }) var length = arr.length - 1; for(var i = length ; i >= 0; i --) { var randomIndex = Math.floor(Math.random() * (i + 1)); var temp = arr[randomIndex]; arr[randomIndex] = arr[i]; arr[i] = temp; } return arr; }, render: function () { var blocks = this.blocks; var gameWidth = this.gameWidth; var gameHeight = this.gameHeight; var level = this.level; var blockWidth = gameWidth / ( level * 2 ); var blockHeight = gameHeight / ( level * 2 ); var dataArr = this.dataArr; for(var i = 0; i < blocks; i ++) { var info = dataArr[i]; var oBlock = document.createElement(’div’); var oPic = document.createElement(’div’); oPic.style.backgroundImage = ’url(’ + info.url + ’)’; oBlock.style.width = blockWidth + ’px’; oBlock.style.height = blockHeight + ’px’; oBlock.picid = info.id; oPic.setAttribute(’class’, ’pic’); oBlock.setAttribute(’class’, ’block’); oBlock.appendChild(oPic); this.el.appendChild(oBlock); handle: function () { var self = this; this.el.onclick = function (e) { var dom = e.target; var isBlock = dom.classList.contains(’block’); if(isBlock) { self.handleBlock(dom); } } }, handleBlock: function (dom) { var picId = dom.picid; var judgeArr = this.judgeArr; var judgeLength = judgeArr.push({ id: picId, dom: dom }); dom.classList.add(’on’); if(judgeLength === 2) { this.judgePic(); } this.judgeWin(); }, judgePic: function () { var judgeArr = this.judgeArr; var isSamePic = judgeArr[0].id === judgeArr[1].id; if(isSamePic) { this.turnNum += 2; } else { var picDom1 = judgeArr[0].dom; var picDom2 = judgeArr[1].dom; setTimeout(function () { picDom1.classList.remove(’on’); picDom2.classList.remove(’on’); }, 800) } judgeArr.length = 0; }, judgeWin: function () { if(this.turnNum === this.blocks) { setTimeout(function () { alert(’勝利’); }, 300) } }}game.init({ el: document.getElementById(’game’), level: 2})

原生JS實現記憶翻牌游戲

更多有趣的經典小游戲實現專題,分享給大家:

C++經典小游戲匯總

python經典小游戲匯總

python俄羅斯方塊游戲集合

JavaScript經典游戲 玩不停

java經典小游戲匯總

javascript經典小游戲匯總

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 欧美极品在线 | 国产精品激情丝袜美女 | 二区久久国产乱子伦免费精品 | 国产亚洲欧美一区 | 久久精品国产99国产精品亚洲 | 国产精品久久久久久久久久免费 | 91天堂网| 视频二区欧美 | free性丰满白嫩白嫩的hd | 亚洲国产精品一区二区三区在线观看 | 日韩在线播放中文字幕 | 在线亚洲精品视频 | 怡红院最新免费全部视频 | 久久中文字幕综合不卡一二区 | 久久久久久久久久免观看 | 久久免费毛片 | 日韩在线视频一区二区三区 | 杨幂精品国产专区91在线 | 欧美搞黄视频 | dy888午夜国产午夜精品 | 精品国产高清在线看国产 | a毛片免费观看完整 | 91精品一区二区综合在线 | 67194午夜| 日韩高清不卡在线 | 91免费国产精品 | 色综合久久久久久 | 性猛交毛片 | 国产一级做a爰片在线看免费 | 女初高中福利视频在线观看 | 深夜爽爽福利gif在线观看 | 久久精品国产三级不卡 | 在线观看精品自拍视频 | 中文字幕精品视频 | 亚洲在线中文字幕 | 步兵社区 | 在线播放另类 | 免费看欧美一级特黄a毛片 免费看片aⅴ免费大片 | 久久视频一区 | 精品国产欧美一区二区五十路 | 日本精品视频一视频高清 |