微信小程序?qū)崿F(xiàn)猜數(shù)字小游戲的實(shí)戰(zhàn)過程
功能介紹
用戶輸入1-100之間的數(shù)字,根據(jù)結(jié)果提示用戶猜的大小,如果用戶猜對可以重新開始(還可以設(shè)置猜的次數(shù))
效果圖
點(diǎn)擊開始游戲界面
?
游戲規(guī)則界面
關(guān)于其他界面
?我的首頁(效果圖)使用的是index03 開始游戲使用的是index 游戲規(guī)則使用的是index01 關(guān)于其他使用的是index02
(創(chuàng)建文件在app.json里面,這是我的app.json創(chuàng)建的文件)
(由于我的首頁效果圖使用的是index03,所以要放在前面)
?一.首頁效果圖(index03)的代碼
WXML代碼
<!--pages/index03/index03.wxml--> <view class="box2"> //url是我要跳轉(zhuǎn)的頁面 <navigator url="../index/index"> <button type="primary">開始游戲</button> </navigator> </view> <view class="box2"> <navigator url="../index01/index01"> <button type="warn">游戲規(guī)則</button> </navigator> </view> <view class="box3"> <navigator url="../index02/index02"> <button type="default">關(guān)于其他</button> </navigator> </view>
WXSS代碼
/* pages/index03/index03.wxss */ .box2{ margin-top: 200rpx; width: 100%; height: 100rpx; } .box3{ margin-top: 240rpx; width: 100%; height: 100rpx; }
二.開始游戲頁面(index)代碼
WXML代碼
<!-- index.wxml --> <view class="demo-box"> <form> <block wx:if="{{isGameStart}}"> <input type="number" placeholder="請輸入1-100之間數(shù)字" bindinput="getNumber"></input> <button type='primary' form-type="reset" bindtap='guess' class="btn">提交</button> </block> <block wx:else> <button type="primary" bindtap='restartGame'>重新開始</button> </block> </form> <text id="tip">{{tip}}</text> </view>
WXSS代碼
/**index.wxss**/ input{ border: 2rpx solid green; margin: 30rpx 0; height: 90rpx; /* 圓角邊框 */ border-radius: 20rpx; } #tip{ /* 固定高度 */ height: 800rpx; } .demo-box{ height: 400rpx; } navigator{ text-align: center; }
index.js代碼
// index.js Page({ data: { }, initial:function(){ this.setData({ // Math.round取整 //Math.random()取隨機(jī)數(shù)只是0-1之間的小數(shù) 所以在此我們*100取0-100之間隨機(jī)數(shù) answer:Math.round(Math.random()*100), // 回合數(shù) count:0, // 提示語句 tip:'', // 用戶猜的數(shù)字 x:-1, // 游戲已經(jīng)開始 isGameStart:true }); //控制臺打印出來系統(tǒng)隨機(jī)數(shù)答案 console.log("答案是"+this.data.answer); }, // 獲取用戶輸入的數(shù)字 getNumber:function(e){ this.setData({ x : e.detail.value }); }, // 本回合開始猜數(shù)字 guess:function(){ // 獲取用戶本回合填寫的數(shù)字 let x = this.data.x; // 重置x為未獲得新數(shù)字狀態(tài) this.setData({x:-1}); if(x<0){ // 提示語 wx.showToast({ title: '不能小于0', }); }else if(x>100){ wx.showToast({ title:'不能大于100', }); }else{ // 回合數(shù)增加 let count = this.data.count + 1; // 獲取當(dāng)前提示信息 let tip = this.data.tip; // 獲取正確答案 let answer = this.data.answer; if(x == answer){ tip += '\n第' + count +'回合:' + x +',猜對了!'; // 游戲結(jié)束 this.setData({isGameStart:false}); }else if(x > answer){ tip += '\n第' + count +'回合:' + x +',大了!'; }else{ tip += '\n第' + count +'回合:' + x +',小了!'; } //count回合數(shù),這里我設(shè)置的是用戶只能猜5次 if(count == 5){ tip += '\n游戲結(jié)束'; this.setData({isGameStart:false}); } // 更新提示語句和回合數(shù) this.setData({ tip:tip, count:count }); } }, // 游戲重新開始 restartGame:function(){ this.initial(); }, //options(Object) onLoad: function(options) { this.initial(); }
三.游戲規(guī)則頁面(index01)代碼
WXML代碼
<!--pages/index01/index01.wxml--> <view class="demo-box"> <text> 1.系統(tǒng)隨機(jī)生成1-100的數(shù)字讓玩家猜 2.玩家共有5次機(jī)會 3.在5次之內(nèi)玩家猜成功 4.點(diǎn)擊開始游戲進(jìn)入界面 5.猜對或猜對玩家可重新開始 </text> </view>
WXSS代碼
/* pages/index01/index01.wxss */ .demo-box{ display: flex; //垂直布局 flex-direction: column; align-items: center; justify-content: space-around; /* width: 400rpx; */ height: 100vh; } text{ margin: 0 50rpx; //行高 line-height: 100rpx; }
四.關(guān)于其他頁面(index02)代碼
WXML代碼
<!--pages/index02/index02.wxml--> <view class="demo-box"> <text> 1.游戲僅供娛樂 2.此游戲有很多不足 3.玩家可以提供您寶貴意見 4.玩家根據(jù)提示猜,會有很大幫助 </text> </view>
WXSS代碼
/* pages/index02/index02.wxss */ .demo-box{ display: flex; flex-direction: column; align-items: center; justify-content: space-around; /* width: 400rpx; */ height: 100vh; } text{ margin: 0 50rpx; line-height: 100rpx; }
(游戲規(guī)則跟關(guān)于其他兩個(gè)頁面的代碼是一樣的,這個(gè)僅供參考。還是有很多的不足之處)
總結(jié)
到此這篇關(guān)于微信小程序?qū)崿F(xiàn)猜數(shù)字小游戲的文章就介紹到這了,更多相關(guān)微信小程序猜數(shù)字小游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
微信小程序?qū)W習(xí)筆記之登錄API與獲取用戶信息操作圖文詳解
這篇文章主要介紹了微信小程序?qū)W習(xí)筆記之登錄API與獲取用戶信息操作,結(jié)合實(shí)例形式分析了微信小程序登陸請求及后臺交互相關(guān)操作技巧,并結(jié)合圖文形式進(jìn)行說明,需要的朋友可以參考下2019-03-03js實(shí)現(xiàn)時(shí)鐘定時(shí)器
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)時(shí)鐘定時(shí)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03JavaScript中的單引號和雙引號報(bào)錯(cuò)的解決方法
數(shù)據(jù)中夾雜單引號(')或者雙引號("),這種語句往往會造成JavaScript報(bào)錯(cuò)。對此一般采用/'或者/"的解決2014-09-09Bootstrap的popover(彈出框)2秒后定時(shí)消失的實(shí)現(xiàn)代碼
Bootstrap Popover(彈出框)是使用定制的 Jquery 插件創(chuàng)建的。它可以用來顯示任何元素的一些信息。這篇文章主要介紹了Bootstrap的popover(彈出框)2秒后定時(shí)消失功能,需要的朋友參考下2017-02-02詳解SPA中前端路由基本原理與實(shí)現(xiàn)方式
這篇文章主要介紹了詳解SPA中前端路由基本原理與實(shí)現(xiàn)方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09