日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

原生js實現的金山打字小游戲(實例代碼詳解)

瀏覽:179日期:2024-05-17 08:47:28

首先先來看一下效果圖

原生js實現的金山打字小游戲(實例代碼詳解)原生js實現的金山打字小游戲(實例代碼詳解)

如果感興趣的就來看一下Js源碼吧

//計分板var board = { dom: document.getElementById('score'), maxLost: 3, //最大丟失量 lost: 0, //當前丟失了多少個 score: 0, //當前分數 render: function() { //顯示 this.dom.innerHTML = '<p>得分:' + this.score + '</p><p>丟失:' + this.lost + ' / ' + this.maxLost + '</p>'; }, //增加一個丟失數 addLost: function() { if (this.lost === this.maxLost) { return; //游戲已經結束了 } this.lost++; if (this.lost === this.maxLost) { //丟失量達到最大 game.gameOver(); } this.render(); }, reset: function() { this.lost = 0; this.score = 0; this.render(); }, //增加得分 addScore: function(number) { if (this.lost === this.maxLost) { //已經結束了 return; } this.score += number; this.render(); }};board.render();var letters = []; //目前的所有字母,一個字母就是一個對象//字母的容器var divContainer = document.getElementById('letter-container');/** * 產生一個字母對象,并將其加入到數組中 */function createLetter() { //創建img元素 var img = document.createElement('img'); img.className = 'letter'; divContainer.appendChild(img); //設置src路徑 var charNumber = getRandom(65, 65 + 26); //字母的隨機ASCII碼 var char = String.fromCharCode(charNumber); img.src = 'http://www.b3g6.com/bcjs/img/letter/' + char + '.png'; //left隨機 var left = getRandom(0, divContainer.clientWidth - img.width); img.style.left = left + 'px'; var letter = { dom: img, char: char, left: left, top: -img.height, //初始的top值 speed: getRandom(100, 500), //速度: 像素/秒 render: function() { this.dom.style.top = this.top + 'px'; }, // 每調用一次該方法,字母移動一段距離 // duration是經過的時間: 秒 move: function(duration) { var dis = duration * this.speed; //計算距離 this.top += dis; this.render(); }, kill: function() { //自殺 // 從數組中移除 var index = letters.indexOf(this); //找到字母在數組中的下標 if (index >= 0) { letters.splice(index, 1); } // 移除dom元素 this.dom.remove(); } }; letter.render(); letters.push(letter);}// 根據最小值和最大值產生一個隨機整數(不包含最大值)function getRandom(min, max) { // Math.random() 0~1 // Math.random() * (max - min) 0 ~ (max - min) // Math.random() * (max - min) + min min ~ max return Math.floor(Math.random() * (max - min) + min);}//游戲對象,統籌規劃var game = { timerProduce: null, //自動產生字母的timerid timerMove: null, //自動移動的timerid isOver: false, //自動的,不斷的,產生字母 startProduce: function() { if (this.timerProduce) { return; //正在產生中,什么也不做 } this.timerProduce = setInterval(createLetter, 500); }, //停止自動產生字母 stopProduce: function() { clearInterval(this.timerProduce); this.timerProduce = null; }, //開始不斷的移動所有字母 startMove: function() { if (this.timerMove) { return; } var duration = 0.016; //間隔時間,秒 this.timerMove = setInterval(function() { for (var i = 0; i < letters.length; i++) { var letter = letters[i]; //要移動的字母 letter.move(duration); //判斷該字母是不是可以消除了 if (letter.top >= divContainer.clientHeight) { letter.kill(); i--; //丟失 board.addLost(); } } }, duration * 1000); }, //停止移動所有字母 stopMove: function() { clearInterval(this.timerMove); this.timerMove = null; }, gameOver: function() { this.stopMove(); this.stopProduce(); document.getElementById('over').style.display = 'block'; this.isOver = true; }, restart: function() { //清空字母 for (var i = 0; i < letters.length; i++) { var letter = letters[i]; letter.kill(); i--; } this.startMove(); this.startProduce(); board.reset(); this.isOver = false; document.getElementById('over').style.display = 'none'; }};game.startProduce();game.startMove();//注冊事件window.onkeydown = function(e) { if (game.isOver) { return; } var key = e.key.toUpperCase(); //匹配 for (var i = 0; i < letters.length; i++) { var letter = letters[i]; if (letter.char === key) { letter.kill(); board.addScore(10); return; //只移除一個 } }};

僅僅使用js的面向對象編程,可愛的金山打字小游戲就實現了

總結

到此這篇關于原生js實現的金山打字小游戲的文章就介紹到這了,更多相關js金山打字游戲內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
а√天堂中文在线资源8| 一级欧洲+日本+国产| 蜜臀久久99精品久久久久久9| 九一国产精品| 婷婷综合网站| 国产亚洲网站| 蜜桃一区二区三区在线| 免费人成在线不卡| 亚洲开心激情| 国产精品日韩久久久| 亚洲欧美网站| 伊人久久亚洲| 日本久久二区| 欧美一区=区三区| 国产色99精品9i| 国产精品亚洲片在线播放| 国产精品白浆| 中文字幕在线视频网站| 欧美一区二区性| 在线视频亚洲| 日本亚洲不卡| 日韩中文字幕麻豆| 日本成人在线不卡视频| 日韩av一区二| 日韩成人午夜精品| 麻豆国产欧美日韩综合精品二区| 久久精品三级| 久久免费国产| 亚洲深夜影院| 蜜臀av性久久久久蜜臀aⅴ四虎| 中文字幕一区二区三区四区久久| 日韩精品视频网站| 国产精品美女在线观看直播| 精品久久视频| 久久影院一区| 亚洲精品自拍| 国产精品日韩精品在线播放| 激情视频网站在线播放色| 国产超碰精品| 婷婷综合在线| 日本欧美韩国一区三区| 国产传媒在线观看| 国产精品日本欧美一区二区三区| 青青青国产精品| 色综合五月天| 亚洲欧美日本视频在线观看| 国产日韩三级| 91精品一区二区三区综合在线爱 | 午夜电影一区| 丰满少妇一区| 黑丝一区二区三区| 亚洲精品少妇| 久久久久久夜| 妖精视频成人观看www| 久久精品99国产精品日本| 国产+成+人+亚洲欧洲在线| 女人天堂亚洲aⅴ在线观看| 日韩精品91亚洲二区在线观看| 极品av在线| 日本91福利区| 国模 一区 二区 三区| 欧美在线不卡| 91成人精品视频| 精品网站999| 亚洲午夜国产成人| 91精品xxx在线观看| 日韩精品免费观看视频| 日韩欧美不卡| 免费欧美在线视频| 国产一区二区三区网| 免费视频最近日韩| 成人亚洲欧美| 欧美日韩亚洲一区| 夜夜嗨一区二区| av免费不卡国产观看| 日韩精品成人在线观看| 香蕉久久精品| 成人在线免费观看91| 日本亚洲视频| 香蕉精品视频在线观看| 成年男女免费视频网站不卡| 国产亚洲欧美日韩在线观看一区二区| 欧美另类专区| 久久亚洲人体| 日韩区一区二| 亚洲女同中文字幕| 日韩免费视频| 久久久久亚洲精品中文字幕| 亚洲欧美网站在线观看| 在线日韩欧美| 福利一区视频| 国产精东传媒成人av电影| 石原莉奈一区二区三区在线观看| 999国产精品永久免费视频app| 国产精品sm| 天堂俺去俺来也www久久婷婷| 91成人超碰| 久久婷婷久久| 精品视频黄色| 国产欧美亚洲一区| 狠狠久久婷婷| 久久久久久美女精品| 精品国产99| 91精品日本| 日韩精品一区二区三区中文| 性色一区二区| 女人天堂亚洲aⅴ在线观看| 91精品韩国| 色婷婷色综合| 91视频精品| 成人综合一区| 超级白嫩亚洲国产第一| 久久精品理论片| 国产精品v日韩精品v欧美精品网站| 亚洲精品护士| 中文字幕中文字幕精品| 久久aⅴ国产紧身牛仔裤| 婷婷精品进入| 亚洲精品极品少妇16p| 久久精品国产www456c0m| 国产综合色区在线观看| 亚洲一级少妇| 九色porny丨国产首页在线| 国产精品99一区二区三区| 免费看久久久| 麻豆国产欧美日韩综合精品二区| 国产精品久久久久久久久久白浆| 91精品国产一区二区在线观看| 亚洲欧美久久久| 中文视频一区| 日韩综合一区二区三区| 国产亚洲久久| 欧美激情 亚洲a∨综合| 精品少妇av| 91亚洲国产高清| 超碰成人av| 亚洲特级毛片| 一区免费在线| 日韩影院在线观看| 亚洲欧美日韩一区在线观看| 西西人体一区二区| 亚洲一区二区三区免费在线观看 | 欧美激情另类| 成人在线网站| 欧美女激情福利| 久久国产88| 婷婷综合电影| 精品视频自拍| 国产99久久| 蜜桃视频一区二区三区| 欧美日韩中出| 国产精品99一区二区三| 亚洲国产专区校园欧美| 亚洲精品护士| 国产精品va| 欧美日韩在线播放视频| 国产亚洲亚洲| 国产欧美丝祙| 日韩欧美午夜| 午夜在线精品偷拍| 国产日本精品| 欧美aa在线观看| 亚洲欧美视频一区二区三区| 日本vs亚洲vs韩国一区三区二区| 久久的色偷偷| 久久男女视频| 亚洲3区在线| 精品久久视频| 欧美+亚洲+精品+三区| 亚洲狼人精品一区二区三区| 国产激情久久| 日韩成人三级| 免费观看在线色综合| 国产精品久久久久久妇女| 精品日韩视频| 日本成人手机在线| 日韩美女一区二区三区在线观看| 久色成人在线| 毛片不卡一区二区| 欧美在线资源| 老司机精品在线| 先锋影音国产一区| 国产一区二区三区国产精品 | 欧美成人亚洲| 欧美日韩1区| 精品亚洲美女网站| 日韩精品欧美大片| 播放一区二区| 日本色综合中文字幕| 丝袜av一区| 91p九色成人| 尤物网精品视频| 精品三级av| 亚洲精品看片| 丝袜美腿一区| 国产欧美午夜| 亚洲一区二区三区四区五区午夜 | 免费观看在线色综合| 欧美激情国产在线| 亚洲欧洲日韩|