vue實(shí)現(xiàn)打地鼠小游戲
本文實(shí)例為大家分享了vue實(shí)現(xiàn)打地鼠小游戲的具體代碼,供大家參考,具體內(nèi)容如下
效果圖如下:
代碼如下:
<template> <div class='game'> <h2>打地鼠游戲</h2> <div class='wraper'> <div v-for='n in TOTAL' :key='n'> <div : @click='clickItem'>{{n}}號(hào)地鼠</div> </div> </div> <div class='scoped'> <div class='set'> <p>設(shè)置參數(shù)</p> <p> 速度: <input type='number' v-model='setSpeed'> </p> <p> 總數(shù):<input type='number' v-model='setNum'> </p> <p> <button @click='playGame'>開始</button> </p> </div> <div class='count set'> <h3>統(tǒng)計(jì)分?jǐn)?shù)面板</h3> <h3>總數(shù): {{TOTAL}}</h3> <h3>擊中: {{clickNum}}</h3> <h3>擊中率: {{level}}%</h3> </div> </div> </div></template> <script> export default { name: ’App’, data () { return { clickFlag: true, // 單個(gè)地鼠只能點(diǎn)擊一次 setNum: 40, // 綁定設(shè)置地洞數(shù)量 setSpeed: 1000, // 綁定設(shè)置地鼠出現(xiàn)速度 speed: 2000, // 地鼠出現(xiàn)速度 random: ’’, // 隨機(jī)出現(xiàn)的地鼠位置 TOTAL: 40, // 地鼠總數(shù) count: 0, // 統(tǒng)計(jì)總共出現(xiàn)了多少次地鼠同于判斷不能大于總數(shù) clickNum: 0, // 點(diǎn)中地鼠統(tǒng)計(jì) timmerId: null }; }, computed: { // 統(tǒng)計(jì)打中的地鼠數(shù)量 level: function () { let num = ((this.clickNum / this.TOTAL) * 100).toFixed(2) || 0; return num; } }, created () { }, mounted () { }, methods: { // 開始游戲 playGame () { this.random = ’’; this.speed = parseInt(this.setSpeed); this.TOTAL = parseInt(this.setNum); clearInterval(this.timmerId); this.timmerId = setInterval(() => { this.random = Math.floor(Math.random() * this.TOTAL + 1); this.clickFlag = true; // 開放點(diǎn)擊 this.count++; if (this.count >= this.TOTAL) { clearInterval(this.timmerId); } }, this.speed); }, // 點(diǎn)擊地鼠 clickItem () { if (this.clickFlag) { (this.count < this.TOTAL) && this.clickNum++; this.clickFlag = false; } } }};</script><style lang='less' scoped>.game { border: 1px solid #ccc; width: 1200px; padding: 10px; user-select: none; &::after { content: ''; display: block; clear: both; } h2 { font-size: 16px; color: #eee; padding: 10px 0; margin-bottom: 20px; border-bottom: 1px solid #ccc; } .wraper { width: 900px; float: left; } .scoped { width: 260px; height: 540px; float: left; padding-left: 15px; border-left: 1px solid #ccc; h3 { font-size: 16px; color: #fff; } .set { height: 200px; width: 100%; border: 1px solid #ccc; p { padding: 10px; text-align: center; color: #fff; font-size: 16px; button { width: 90%; } } } .count { .set; margin-top: 20px; padding-top: 25px; text-align: center; line-height: 40px; h3 { font-weight:normal; } } } .item { display: inline-block; height: 100px; width: 100px; border-radius: 50px; margin: 0 10px 10px 0; text-align: center; line-height: 100px; font-size: 20px; border: 1px solid #ccc; div { height: 100%; background: #eee; border-radius: 50px; } }}</style>
更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,分享給大家:
C++經(jīng)典小游戲匯總
python經(jīng)典小游戲匯總
python俄羅斯方塊游戲集合
JavaScript經(jīng)典游戲 玩不停
java經(jīng)典小游戲匯總
javascript經(jīng)典小游戲匯總
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法2. ASP中實(shí)現(xiàn)字符部位類似.NET里String對(duì)象的PadLeft和PadRight函數(shù)3. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))4. 微信開發(fā) 網(wǎng)頁(yè)授權(quán)獲取用戶基本信息5. JavaWeb Servlet中url-pattern的使用6. asp批量添加修改刪除操作示例代碼7. 詳解瀏覽器的緩存機(jī)制8. XML入門的常見問(wèn)題(一)9. HTML5 Canvas繪制圖形從入門到精通10. css代碼優(yōu)化的12個(gè)技巧
