实例介绍
【实例简介】
【实例截图】
【核心代码】
//index.js
//获取应用实例
var app = getApp()
Page({
data: {
circleList: [],//圆点数组
awardList: [],//奖品数组
colorCircleFirst: '#FFDF2F',//圆点颜色1
colorCircleSecond: '#FE4D32',//圆点颜色2
colorAwardDefault: '#F5F0FC',//奖品默认颜色
colorAwardSelect: '#e74c3c',//奖品选中颜色
indexSelect: 0,//被选中的奖品index
isRunning: false,//是否正在抽奖
isAdd: true, //是否上分
currentPoints: 0,//当前分
totalPoints:1000,//总分
currentMagnification: 1,//当前倍率
totalSelect:0, //总选择数
isTodayFinish: false, //今天的积分是否已用完
selectPoints: 5, //每押注一次需要的积分
imageAward: [
'../../images/1.jpg',
'../../images/3.jpg',
'../../images/9.jpg',
'../../images/2.jpg',
'../../images/1.jpg',
'../../images/4.jpg',
'../../images/7.jpg',
'../../images/3.jpg',
'../../images/5.jpg',
'../../images/2.jpg',
'../../images/1.jpg',
'../../images/4.jpg',
'../../images/6.jpg',
'../../images/5.jpg',
'../../images/1.jpg',
'../../images/3.jpg',
'../../images/2.jpg',
'../../images/4.jpg',
'../../images/7.jpg',
'../../images/8.jpg',
],//奖品图片数组
},
onLoad: function () {
var _this = this;
//圆点设置
var leftCircle = 7.5;
var topCircle = 7.5;
var circleList = [];
for (var i = 0; i < 24; i ) {
if (i == 0) {
topCircle = 15;
leftCircle = 15;
} else if (i < 6) {
topCircle = 7.5;
leftCircle = leftCircle 102.5;
} else if (i == 6) {
topCircle = 15
leftCircle = 620;
} else if (i < 12) {
topCircle = topCircle 94;
leftCircle = 620;
} else if (i == 12) {
topCircle = 565;
leftCircle = 620;
} else if (i < 18) {
topCircle = 570;
leftCircle = leftCircle - 102.5;
} else if (i == 18) {
topCircle = 565;
leftCircle = 15;
} else if (i < 24) {
topCircle = topCircle - 94;
leftCircle = 7.5;
} else {
return
}
circleList.push({ topCircle: topCircle, leftCircle: leftCircle });
}
this.setData({
circleList: circleList
})
//圆点闪烁
setInterval(function () {
if (_this.data.colorCircleFirst == '#FFDF2F') {
_this.setData({
colorCircleFirst: '#FE4D32',
colorCircleSecond: '#FFDF2F',
})
} else {
_this.setData({
colorCircleFirst: '#FFDF2F',
colorCircleSecond: '#FE4D32',
})
}
}, 500)
//奖品item设置
var awardList = [];
//间距,怎么顺眼怎么设置吧.
var topAward = 25;
var leftAward = 25;
var unitNumber = 0; //押注个数
var unitIntegral = 0; //单个分数
for (var j = 0; j < 20; j ) {
unitIntegral = (j 1)*(_this.data.currentMagnification)*10;
if (j==0 || j==4 || j==10 || j==14){
unitIntegral = 10;
}else if(j==1 || j==7 || j==15){
unitIntegral = 15;
}else if(j==2){
unitIntegral = 45;
}else if(j==3 || j==9 || j==16){
unitIntegral = 20;
}else if(j==5 || j==11 || j==17){
unitIntegral = 25;
}else if(j==6 || j==18){
unitIntegral = 30;
}else if(j==8 || j==13){
unitIntegral = 35;
}else if(j==12){
unitIntegral = 0;
}else{
unitIntegral = 40
}
if (j == 0) {
topAward = 25;
leftAward = 25;
} else if (j < 5) {
topAward = topAward;
//166.6666是宽.15是间距.下同
leftAward = leftAward 120 15;
} else if (j < 11) {
leftAward = leftAward;
//150是高,15是间距,下同
topAward = topAward 120 15;
} else if (j < 15) {
leftAward = leftAward - 120 - 15;
topAward = topAward;
} else if (j < 20) {
leftAward = leftAward;
topAward = topAward - 120 - 15;
}
var imageAward = this.data.imageAward[j];
awardList.push({ topAward: topAward, leftAward: leftAward, imageAward: imageAward , unitNumber: unitNumber, unitIntegral: unitIntegral});
}
this.setData({
awardList: awardList
})
},
//开始游戏
startGame: function () {
if (this.data.isRunning || this.data.totalSelect == 0) return
this.setData({
isRunning: true
})
var _this = this;
var indexSelect = 0
var i = 0;
var timer = setInterval(function () {
indexSelect ;
if(indexSelect >= 20){
indexSelect = 0
}
//转盘速度
var random = Math.floor(Math.random() * 20);
i = random;
if (i > 500) {
//去除循环
clearInterval(timer)
//获奖提示
indexSelect = _this.data.indexSelect;
var awardListCopy = _this.data.awardList;
var getPoints = awardListCopy[indexSelect].unitIntegral*awardListCopy[indexSelect].unitNumber;
var _totalPoints = _this.data.totalPoints;
_totalPoints = getPoints;
for(var m=0;m<20;m ){
awardListCopy[m].unitNumber = 0;
}
_this.setData({
isRunning: false,
totalPoints: _totalPoints,
awardList: awardListCopy,
totalSelect: 0
})
if (_this.data.totalPoints == 0){
wx.showModal({
title: '别灰心',
content: '您今天的积分已用完,请明天再来挑战吧!',
showCancel: false,//去掉取消按钮
success: function (res) {
if (res.confirm) {
_this.setData({
isTodayFinish: true
})
}
}
})
}
}
_this.setData({
indexSelect: indexSelect,
})
}, (100 i))
},
unitOperation: function(event){
var index = event.target.id;
var _this = this;
var awardListCopy = _this.data.awardList;
var _totalPoints = _this.data.totalPoints;
var unitNumber = _this.data.awardList[index].unitNumber;
var selectPoints = _this.data.selectPoints
var _totalSelect = _this.data.totalSelect;
var addNumberArray = [];
if (index==0 || index==4 || index==10 || index==14){
addNumberArray.push(0, 4, 10, 14);
}else if(index==1 || index==7 || index==15){
addNumberArray.push(1, 7, 15);
}else if(index==2){
addNumberArray.push(2);
}else if(index==3 || index==9 || index==16){
addNumberArray.push(3, 9, 16);
}else if(index==5 || index==11 || index==17){
addNumberArray.push(5, 11, 17);
}else if(index==6 || index==18){
addNumberArray.push(6, 18);
}else if(index==8 || index==13){
addNumberArray.push(8, 13);
}else if(index==12){
addNumberArray.push(12);
}else{
addNumberArray.push(19);
}
if (_this.data.isAdd && _totalPoints >= selectPoints){
for (var n=0;n<addNumberArray.length;n ){
var aIndex = addNumberArray[n]
if (aIndex == 12){
return
}
awardListCopy[aIndex].unitNumber = 1;
}
_totalSelect = 1;
_totalPoints -= selectPoints;
}else if(!_this.data.isAdd && unitNumber > 0){
for (var n=0;n<addNumberArray.length;n ){
var aIndex = addNumberArray[n]
if (aIndex == 12){
return
}
awardListCopy[aIndex].unitNumber -= 1;
}
_totalSelect -= 1
_totalPoints = selectPoints;
}else{
return
}
_this.setData({
awardList: awardListCopy,
totalPoints: _totalPoints,
totalSelect: _totalSelect
})
},
addNumber: function(){
this.setData({
isAdd: true
})
},
minusNumber: function(){
this.setData({
isAdd: false
})
},
})
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论