最近看到南湖微科普小程序游戏环节感觉还可以,于是模仿了下

<view class='current' animation="{{animation}}">
{{current.title}}
</view>
<view class='caozuo'>
<text bindtap="type1btn">可回收</text>
<text bindtap="type2btn">有害垃圾</text>
<text bindtap="type3btn">其他</text>
</view>
<view class='score'>分数:{{score}}</view>

  

.current{ width:100px;height:100px;border-radius:5px; margin:20px auto;text-align:center;line-height:100px;color:#fff;background:red; }
.caozuo{display: flex;justify-content:space-between;margin-top: 15px;font-size:14px;text-align: center;}
.caozuo text{text-align: center;flex:1;}
.score{ text-align:center;margin-top:20px;font-size:14px;color:red; }

  

Page({
data: {
current:{},
score:0,
arr:[
{
id:1,
title:"手机壳",
type:"1"
},
{
id:2,
title: "枯枝",
type: "3"
},
{
id:3,
title: "纸盒",
type: "1"
},
{
id:4,
title: "涂改溢瓶",
type:"2"
},
{
id:5,
title: "药水瓶",
type: "2"
},
{
id: 6,
title: "电视机",
type: "1"
},
{
id: 7,
title: "菜叶",
type: "3"
}
]
},
onReady: function () {
this.animation = wx.createAnimation()
},
onLoad: function (options) {
// type:1可回收 2 有害垃圾 3 其他垃圾
// 不能重复
var that = this;
that.newdata();
}, newdata(current,arr){
//每次操作过后数组更新一次
var that = this;
var current = that.data.current;
var arr = that.data.arr; var currentIndex = Math.floor(Math.random() * arr.length)
var newarr = arr.filter(function (currentvalue, index, array) {
return index != currentIndex
}) if (arr.length === 0 ){
wx.showToast({
title: '恭喜闯关成功',
})
return
} that.setData({
current: arr[currentIndex],
arr: newarr
}) },
scoreAdd() {
//分数添加
var that = this;
var score = that.data.score;
score += 2;
that.setData({
score: score
})
},
scoreReduce() {
//分数减去
var that = this;
var score = that.data.score;
score -= 1;
that.setData({
score: score
})
},
select(type){
//区分点击按钮
var that = this;
var current = that.data.current;
var arr = that.data.arr;
if (arr.length != 0) {
if (current.type === type) {
that.scale()
that.newdata();
that.scoreAdd()
} else {
that._toast()
that.scoreReduce()
}
} else {
wx.showToast({
title: '恭喜闯关成功',
})
}
},
type1btn() {
//可回收
var that = this;
that.select("1")
},
type2btn() {
//有害垃圾
var that = this;
that.select("2")
},
type3btn() {
//其他垃圾
var that = this;
that.select("3")
},
_toast(){
wx.showToast({
title: '不对应',
})
},
scale: function () {
this.animation.scale(0.6).step()
this.animation.scale(1).step()
this.setData({ animation: this.animation.export() })
}
})

  

微信小程序 - 仿南湖微科普小程序游戏环节的更多相关文章

  1. 微信小程序仿朋友圈功能开发(发布、点赞、评论等功能)

    微信小程序仿朋友圈功能开发(发布.点赞.评论等功能) 1.项目分析 项目整体分为三个部分 发布 展示 详情页 graph LR 朋友圈发布 --内容发布--> 内容展示 内容展示 --点击展示卡 ...

  2. 微信小程序--仿微信小程序朋友圈Pro(内容发布、点赞、评论、回复评论)

    微信小程序--仿微信小程序朋友圈Pro(内容发布.点赞.评论.回复评论) 项目开源地址M朋友圈Pro 求个Star 项目背景 ​ 基于原来的开源项目 微信小程序仿朋友圈功能开发(发布.点赞.评论等功能 ...

  3. 微信小程序开发公测,小程序账号申请办法攻略

    11月3号晚上 10 点,微信公众平台发布公告,宣布微信小程序正式开放公测.此次小程序公测允许开发者将产品提交至微信公众平台审核,但是暂时不支持发布,也就是说普通消费者若想体验小程序,还需要等待一段时 ...

  4. 挑战App Store,微信通过“跳一跳”秀了一下“小程序”的肌肉

    2017年即将结束的时候,微信放了一个大招.随着最新的微信v6.6.1版本更新,基于小程序的"小游戏"板块正式上线.微信上首发的这款"小游戏"叫"跳一 ...

  5. 微信小程序开发教程 #043 - 在小程序开发中使用 npm

    本文介绍了如何在微信小程序开发中使用 npm 中包的功能,大大提高微信小程序的开发效率,同时也是微信小程序系列教程的视频版更新. 微信小程序在发布之初没有对 npm 的支持功能,这也是目前很多前端开发 ...

  6. 微信小程序开发——前端如何区分小程序运行环境

    前言: 之前用vue做h5项目,对于接口请求,都是根据前端访问域名来判断运行环境,然后自动适配对应的服务器地址的.这样的好处就是在开发.测试及发布上线全程都不需要手动去改接口请求地址,只要提前配置好就 ...

  7. 微信小程序开发——打开另一个小程序

    微信小程序打开另一个小程序,有两种方法:1.超链接:2.点击按钮. 全局配置: 跳转到其他小程序,需要在当前小程序全局配置中配置需要跳转的小程序列表,代码如下: App.json { ... &quo ...

  8. 微信小程序唤起其他微信小程序 / 移动应用App唤起小程序

    微信小程序唤起其他微信小程序 / 移动应用App唤起小程序 1. 微信小程序唤起微信小程序 小程序唤起其他小程序很简单 先上链接 小程序跳转小程序 Navigator组件 推荐使用 小程序跳转小程序 ...

  9. xampp安装和使用:windows和linux使用安装微擎小程序

    1.官网下载xampp XAMPP:Apache+MySQL+PHP+PERL,适用于windows+linux+macos x+Solaris等多系统使用 官网地址:https://www.apac ...

随机推荐

  1. XOR and Favorite Number (莫对算法)

    E. XOR and Favorite Number time limit per test 4 seconds memory limit per test 256 megabytes input s ...

  2. [Leetcode] LRU 算法实现

    Design and implement a data structure for Least Recently Used (LRU) cache. It should support the fol ...

  3. [LeetCode] 4. Median of Two Sorted Arrays ☆☆☆☆☆

    There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two ...

  4. .NET中使用switch和java不一样的地方。

    1.不能这样贯穿 我们知道,java 和 C在使用switch时候可以这样. switch (i) { //java中此处不使用break // 执行了case 1:对应的语句后直接 贯穿到 case ...

  5. 【洛谷 P1707】 刷题比赛 (矩阵加速)

    题目连接 很久没写矩阵加速了,复习一下,没想到是一道小毒瘤题. 状态矩阵\(a[k],b[k],c[k],a[k+1],b[k+1],c[k+1],k,k^2,w^k,z^k,1\) 转移矩阵 0, ...

  6. HDU 1284 钱币兑换问题 (dp)

    题目链接 Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法.   Input 每行只有一个正整数N,N小于327 ...

  7. 爬虫--BeautifulSoup

    什么是BeautifulSoup? BeautifulSoup支持的一些解析库 基本使用 from bs4 import BeautifulSoup html =""" ...

  8. MSSQL数据库 事务隔离级别

    数据库事务的隔离级别有4个,由低到高依次为Read uncommitted .Read committed .Repeatable read .Serializable ,这四个级别可以逐个解 脏读 ...

  9. bufferd对象详解

    使用buffer类处理二进制数据 在客户端javascript脚本代码中,对于二进制数据并没有提供一个很好的支持.然后在nodejs中需要处理像TCP流或文件流时,必须要处理二进制数据.因此在node ...

  10. SQL SERVER 创建远程数据库链接 mysql oracle sqlserver

    遇到的坑 在连接Oracle时,因为服务器为10g 32位版本,然后在本地安装了32为10g客户端,然后一直报错[7302.7303],后来下载了12c 64位版本,安装成功后,问题解决 原因:mss ...