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'>開(kāi)始</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: { // 開(kāi)始游戲 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; // 開(kāi)放點(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)專(zhuā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. 解決Python 進(jìn)程池Pool中一些坑2. 三個(gè)不常見(jiàn)的 HTML5 實(shí)用新特性簡(jiǎn)介3. Python獲取抖音關(guān)注列表封號(hào)賬號(hào)的實(shí)現(xiàn)代碼4. Python使用jupyter notebook查看ipynb文件過(guò)程解析5. ajax請(qǐng)求添加自定義header參數(shù)代碼6. python利用os模塊編寫(xiě)文件復(fù)制功能——copy()函數(shù)用法7. Python如何讀寫(xiě)CSV文件8. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究9. php測(cè)試程序運(yùn)行速度和頁(yè)面執(zhí)行速度的代碼10. 無(wú)線標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁(yè)
