微信小程序 扎金花简单实例

发布时间 - 2026-01-10 23:12:16    点击率:

微信小程序  扎金花

实现效果图:

app.json:

{
 "pages":[
  "pages/index/index"
 ],
 "window":{
  "navigationBarBackgroundColor": "#333333", 
  "navigationBarTextStyle":"white",
  "navigationBarTitleText": "*",
  "backgroundColor":"#ffffff",
  "backgroundTextStyle":"light",
  "enablePullDownRefresh":false
 }
}

  index.js:

Page({
 data:{
 num1:1,
 num2:2,
 num3:3,
 imgNum1:1,
 imgNum2:2,
 imgNum3:3,
 b1:"white",
 b2:"white",
 b3:"white",
 flag:true,
 butype:"primary",
 butext:"开始",
 hidden:true,
 score:0
 },
 
 start:function(){
  var that=this;
  that.setData({
    butype:"default",
    butext:"停止"
  })
  if(this.data.flag){
  this.go=setInterval(function(){
    that.setData({
       num1:Math.ceil(Math.random()*10),
       num2:Math.ceil(Math.random()*10),
       num3:Math.ceil(Math.random()*10),
       imgNum1:Math.ceil(Math.random()*4),
       imgNum2:Math.ceil(Math.random()*4),
       imgNum3:Math.ceil(Math.random()*4),
       b1:"#"+Math.floor(Math.random()*1000000),
       b2:"#"+Math.floor(Math.random()*1000000),
       b3:"#"+Math.floor(Math.random()*1000000)
    })
  },100)
  this.setData({
   flag:false,
   hidden:true,
   score:0
   
  })
   
  }else{
    
   clearInterval(this.go)
   this.setData({
    flag:true,
    butype:"primary",
    butext:"开始",
    b1:"white",
    b2:"white",
    b3:"white"
   })
   var n1=this.data.num1;
   var n2=this.data.num2;
   var n3=this.data.num3;
   var img1=this.data.imgNum1;
   var img2=this.data.imgNum2;
   var img3=this.data.imgNum3;
   var result=n1+n2+n3;
   
   if(img1==img2&&img2==img3){
    result+=20;
   }else if(img1==img2 || img2==img3 || img1==img3){
    result+=10;
   }
    
   var newarr=new Array();
   newarr.push(n1)
   newarr.push(n2)
   newarr.push(n3)
   
   for(var i=0;i<newarr.length;i++){
      for(var j = i + 1;j<newarr.length;j++){
        if(newarr[i]>newarr[j]){
           var tmp = newarr[i];
           newarr[i] = newarr[j];
           newarr[j] = tmp;
         }
      }
    }
 
   if(((newarr[2]-newarr[1])==1)&&((newarr[1]-newarr[0])==1)){
     result+=30;
   }else if(newarr[2]==newarr[1] || newarr[2]==newarr[0] || newarr[0]==newarr[1]){
     result+=10;
   }else if(newarr[2]==newarr[1]&&newarr[2]==newarr[0]){
    result+=40;
   }
   this.setData({
    hidden:false,
    score:result
   })
     }
 },
 onShareAppMessage: function () {
  return {
   title: "大小之争",
   desc: '激烈的竞技游戏',
   path: '/pages/index/index'
  }
 }
 
 
})

  index.wxml:

<view style="text-align:center;position:fixed;top:10px;left:0;width:100%;color:green;font-weight:bolder" hidden="{{hidden}}">恭喜你得了{{score}}分!</view>
<view style="clear:both;overflow:hidden;display:flex;margin-top:50px">
  <view class="container" style="background:{{b1}};" >
    <text class="text">{{num1}}</text>
    <image class="img" src="../../images/{{imgNum1}}.png" style="transform: rotate({{deg1}}deg)"></image>
    <text class="text1">{{num1}}</text>
  </view>
 
  <view class="container" style="background:{{b2}};">
    <text class="text">{{num2}}</text>
    <image class="img" src="../../images/{{imgNum2}}.png" style="transform: rotate({{deg2}}deg)"></image>
    <text class="text1">{{num2}}</text>
  </view>
  <view class="container" style="background:{{b3}};">
    <text class="text">{{num3}}</text>
    <image class="img" src="../../images/{{imgNum3}}.png" style="transform: rotate({{deg3}}deg)"></image>
    <text class="text1">{{num3}}</text>
  </view>
</view>
 
<button bindtap="start" type="{{butype}}" style="margin:20px">{{butext}}</button>
 
 
<view style="font-size:13px;padding:20px;color:gray">
  <view>1.如果三张数字相同得40分,如果三张数字是连续的得30分,如果两个数字是相同的得10分</view>
  <view>2.如果三张花色一样得20分,如果两张花色一样得10分</view>
  <view>3.三张数字之和</view>
  <view>以上所有数字的总和为总分</view>
</view>

  index.wxss:


.container{width:30%;height:200px;position:relative;border:1px solid #787775;box-sizing:border-box; display: inline-block;flex:1;margin:10px;border-radius:10px;box-shadow:
 5px 5px 3px #787775}
.text{width:30px;height:30px;position:absolute;top:15px;left:15px;font-size: 25px;font-weight: bolder}
.img{width:50px;height:50px;position:absolute;top:50%;left:50%;margin-left:-25px;margin-top:-25px}
.text1{width:30px;height:30px;position:absolute;bottom:15px;right:15px;font-size: 25px;font-weight: bolder;transform: rotate(180deg)}

 1.png:

2.png:

3.png

 

4.png

 

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# 微信小程序  # 扎金花  # 扎金花详解  # 扎金花实例  # 微信小程序 template模板详解及实例  # 微信小程序 基础组件与导航组件详细介绍  # 微信小程序 UI与容器组件总结  # 微信小程序 常用工具类详解及实例  # 微信小程序 基础知识css样式media标签  # 微信小程序 http请求封装详解及实例代码  # 微信小程序 开发经验整理  # 微信小程序开发之相册选择和拍照详解及实例代码  # 三张  # 希望能  # 两张  # 谢谢大家  # 之争  # 恭喜你  # random  # ceil  # default  # floor  # primary  # Math  # start  # function  # hidden  # score  # butext  # setInterval  # var  # setData 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  Laravel如何实现用户注册和登录?(Auth脚手架指南)  英语简历制作免费网站推荐,如何将简历翻译成英文?  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  如何快速使用云服务器搭建个人网站?  网易LOFTER官网链接 老福特网页版登录地址  如何确保FTP站点访问权限与数据传输安全?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  深入理解Android中的xmlns:tools属性  Bootstrap整体框架之JavaScript插件架构  Swift开发中switch语句值绑定模式  Laravel怎么使用Intervention Image库处理图片上传和缩放  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  Laravel如何为API生成Swagger或OpenAPI文档  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  LinuxShell函数封装方法_脚本复用设计思路【教程】  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  如何用搬瓦工VPS快速搭建个人网站?  JavaScript实现Fly Bird小游戏  如何在Ubuntu系统下快速搭建WordPress个人网站?  如何在服务器上三步完成建站并提升流量?  Python并发异常传播_错误处理解析【教程】  详解Huffman编码算法之Java实现  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  EditPlus中的正则表达式 实战(4)  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  网站建设整体流程解析,建站其实很容易!  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  JS实现鼠标移上去显示图片或微信二维码  Laravel如何配置和使用缓存?(Redis代码示例)  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  Python结构化数据采集_字段抽取解析【教程】  教你用AI将一段旋律扩展成一首完整的曲子  Laravel Fortify是什么,和Jetstream有什么关系  浅述节点的创建及常见功能的实现  怎么用AI帮你设计一套个性化的手机App图标?  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  Python函数文档自动校验_规范解析【教程】  JS去除重复并统计数量的实现方法