贪吃蛇微信小程序源码

  每日分享两个小程序源码

下载地址:无极低码:wheart.cnhttps://wheart.cn/so/home?m=dw&rid=f6d836c8-d54a-11ed-96fa-52540016e6ac

 

<!--snake.wxml-->
<view class="control" bindtouchstart="tapStart" bindtouchmove="tapMove" bindtouchend="tapEnd"><view class="score"><view class="title">snake</view><view class="scoredetail"><view class="scoredesc">得分</view><view class="scorenumber">{{score}}</view></view><view class="scoredetail"><view class="scoredesc">历史最高</view><view class="scorenumber">{{maxscore}}</view></view>
</view>
<view class="ground"><view wx:for="{{ground}}"  class="rows" wx:for-item="cols"><view wx:for="{{cols}}" class="block block_{{item}}" ></view></view>
</view>
<modal class="modal" hidden="{{modalHidden}}" no-cancel bindconfirm="modalChange"><view> 游戏结束,重新开始吗? </view>
</modal>
</view>
//snake.js
var app = getApp();Page({data:{score: 0,//比分maxscore: 0,//最高分startx: 0,starty: 0,endx:0,endy:0,//以上四个做方向判断来用ground:[],//存储操场每个方块rows:28,cols:22,//操场大小snake:[],//存蛇food:[],//存食物direction:'',//方向modalHidden: true,timer:''} ,onLoad:function(){var maxscore = wx.getStorageSync('maxscore');if(!maxscore) maxscore = 0this.setData({maxscore:maxscore});this.initGround(this.data.rows,this.data.cols);//初始化操场this.initSnake(3);//初始化蛇this.creatFood();//初始化食物this.move();//蛇移动},//计分器storeScore:function(){if(this.data.maxscore < this.data.score){this.setData({maxscore:this.data.score})wx.setStorageSync('maxscore', this.data.maxscore)}},//操场initGround:function(rows,cols){for(var i=0;i<rows;i++){var arr=[];this.data.ground.push(arr);for(var j=0;j<cols;j++){this.data.ground[i].push(0);}}},//蛇initSnake:function(len){for(var i=0;i<len;i++){this.data.ground[0][i]=1;this.data.snake.push([0,i]);}},//移动函数move:function(){var that=this;this.data.timer=setInterval(function(){that.changeDirection(that.data.direction);that.setData({ground:that.data.ground});},400);},tapStart: function(event){this.setData({startx: event.touches[0].pageX,starty: event.touches[0].pageY})},tapMove: function(event){this.setData({endx: event.touches[0].pageX,endy: event.touches[0].pageY})},tapEnd: function(event){var heng = (this.data.endx) ? (this.data.endx - this.data.startx) : 0;var shu = (this.data.endy) ? (this.data.endy - this.data.starty) : 0;if(Math.abs(heng) > 5 || Math.abs(shu) > 5){var direction = (Math.abs(heng) > Math.abs(shu)) ? this.computeDir(1, heng):this.computeDir(0, shu);switch(direction){case 'left':if(this.data.direction=='right')return;break;case 'right':if(this.data.direction=='left')return;break;case 'top':if(this.data.direction=='bottom')return;break;case 'bottom':if(this.data.direction=='top')return;break;default:}this.setData({startx:0,starty:0,endx:0,endy:0,direction:direction})}},computeDir: function(heng, num){if(heng) return (num > 0) ? 'right' : 'left';return (num > 0) ? 'bottom' : 'top';},creatFood:function(){var x=Math.floor(Math.random()*this.data.rows);var y=Math.floor(Math.random()*this.data.cols);var ground= this.data.ground;ground[x][y]=2;this.setData({ground:ground,food:[x,y]});},changeDirection:function(dir){switch(dir){case 'left':return this.changeLeft();break;case 'right':return this.changeRight();break;case 'top':return this.changeTop();break;case 'bottom':return this.changeBottom();break;default:}},changeLeft:function(){var arr=this.data.snake;var len=this.data.snake.length;var snakeHEAD=arr[len-1][1];var snakeTAIL=arr[0];var ground=this.data.ground;ground[snakeTAIL[0]][snakeTAIL[1]]=0;  for(var i=0;i<len-1;i++){arr[i]=arr[i+1];   };var x=arr[len-1][0];var y=arr[len-1][1]-1;arr[len-1]=[x,y];this.checkGame(snakeTAIL);for(var i=1;i<len;i++){ground[arr[i][0]][arr[i][1]]=1;} this.setData({ground:ground,snake:arr});return true;},changeRight:function(){var arr=this.data.snake;var len=this.data.snake.length;var snakeHEAD=arr[len-1][1];var snakeTAIL=arr[0];var ground=this.data.ground;ground[snakeTAIL[0]][snakeTAIL[1]]=0;  for(var i=0;i<len-1;i++){arr[i]=arr[i+1];   };var x=arr[len-1][0];var y=arr[len-1][1]+1;arr[len-1]=[x,y];this.checkGame(snakeTAIL);for(var i=1;i<len;i++){ground[arr[i][0]][arr[i][1]]=1;} this.setData({ground:ground,snake:arr});//    var y=this.data.snake[0][1];//    var x=this.data.snake[0][0];//     this.data.ground[x][y]=0;//     console.log(this.data.ground[x]);//      console.log(this.data.snake);//     for(var i=0;i<this.data.snake.length-1;i++){//         this.data.snake[i]=this.data.snake[i+1];//     }//     this.data.snake[this.data.snake.length-1][1]++;//     for(var j=1;j<this.data.snake.length;j++){//         this.data.ground[this.data.snake[j][0]][this.data.snake[j][1]]=1;//     }return true;},changeTop:function(){var arr=this.data.snake;var len=this.data.snake.length;var snakeHEAD=arr[len-1][1];var snakeTAIL=arr[0];var ground=this.data.ground;ground[snakeTAIL[0]][snakeTAIL[1]]=0;  for(var i=0;i<len-1;i++){arr[i]=arr[i+1];   };var x=arr[len-1][0]-1;var y=arr[len-1][1];arr[len-1]=[x,y];this.checkGame(snakeTAIL);for(var i=1;i<len;i++){ground[arr[i][0]][arr[i][1]]=1;} this.setData({ground:ground,snake:arr});return true;},changeBottom:function(){var arr=this.data.snake;var len=this.data.snake.length;var snakeHEAD=arr[len-1];var snakeTAIL=arr[0];var ground=this.data.ground;ground[snakeTAIL[0]][snakeTAIL[1]]=0;  for(var i=0;i<len-1;i++){arr[i]=arr[i+1];   };var x=arr[len-1][0]+1;var y=arr[len-1][1];arr[len-1]=[x,y];this.checkGame(snakeTAIL);for(var i=1;i<len;i++){ground[arr[i][0]][arr[i][1]]=1;} this.setData({ground:ground,snake:arr});return true;},checkGame:function(snakeTAIL){var arr=this.data.snake;var len=this.data.snake.length;var snakeHEAD=arr[len-1];if(snakeHEAD[0]<0||snakeHEAD[0]>=this.data.rows||snakeHEAD[1]>=this.data.cols||snakeHEAD[1]<0){clearInterval(this.data.timer);this.setData({modalHidden: false,})  }for(var i=0;i<len-1;i++){if(arr[i][0]==snakeHEAD[0]&&arr[i][1]==snakeHEAD[1]){clearInterval(this.data.timer);this.setData({modalHidden: false,})}}if(snakeHEAD[0]==this.data.food[0]&&snakeHEAD[1]==this.data.food[1]){arr.unshift(snakeTAIL);this.setData({score:this.data.score+10});this.storeScore();this.creatFood();}},modalChange:function(){this.setData({score: 0,ground:[],snake:[],food:[],modalHidden: true,direction:''})this.onLoad();}});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/65400.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win10系统激活提示无法连接到你组织的激活服务器如何解决

1、在桌面新建一个文本文档&#xff0c;把以下代码复制进去&#xff0c;如图所示&#xff1a; slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX slmgr /skms kms.03k.org slmgr /ato 2、点击文件选择“另存为”&#xff0c;在弹出的界面中&#xff0c;将保存位置选择在桌面&#xff…

无法在此设备上激活WINDOWS因为无法连接到你的组织的激活服务器

在搜索框里搜索 cmd&#xff0c; 使用管理员权限运行&#xff0c;执行一句命令&#xff1a; slmgr /skms http://kms.03k.org点完回车以后&#xff0c;再打一句命令激活 slmgr /ato查激活日期 按下Windows R &#xff0c;输入cmd&#xff0c;出来dos对话框后&#xff0c;输入…

microsoft微软登录新账户/切换账户失败,一直转圈,提示“你似乎没有连接到internet”

无论有没有微软账户&#xff0c;是切换账户还是新电脑登录&#xff0c;原理都是一样的&#xff0c;先使用一个账号注册/登录/设置好微软账户&#xff0c;然后再进行你原本的操作。 在可以进入到桌面并且联网的情况下&#xff0c;登录不上微软账户的几种常用解决方法&#xff1…

登录微软账号时无法连接到网络

登录微软账号时无法连接到网络 关闭代理&#xff0c;手动设置ipv4DNS地址&#xff08;微软dns服务器&#xff1a;4.2…2.1)&#xff0c;改完记得改回来。

解决微软newbing chat的Sorry, looks like your network settings are preventing access to this featur问题

2023.03.25最近大家都有疑惑&#xff0c;已经"魔法"了&#xff0c;突然newbing chat用不了&#xff0c;弹出“Sorry, looks like your network settings are preventing access to this featur”&#xff0c; 已下是解决方法&#xff08;步骤操作的前提&#xff1a;…

成功解决长时间挂起虚拟机后再次打开无法连接网络,并提示网络激活失败(亲测有效)

成功解决长时间挂起虚拟机后再次打开无法连接网络&#xff0c;并提示网络激活失败&#xff08;亲测有效&#xff01;&#xff09; 之前做区块链的一个虚拟机很久没打开&#xff0c;一直处于挂起状态&#xff0c;一直提示网络连接激活失败。试了很多种方法没解决&#xff0c;更…

专治疑难系列 - 无法激活网络的解决方法

‍‍&#x1f3e1;博客主页&#xff1a; Passerby_Wang的博客_CSDN博客-系统运维,云计算,Linux基础领域博主 &#x1f310;所属专栏&#xff1a;『转治疑难系列』 &#x1f30c;上期文章&#xff1a; 无 &#x1f4f0;如觉得博主文章写的不错或对你有所帮助的话&#xff0c;还…

Nature综述:应对新出现的抗真菌耐药性对人类健康的威胁

编译&#xff1a;微科盟小木&#xff0c;编辑&#xff1a;微科盟居居、江舜尧。 微科盟原创微文&#xff0c;欢迎转发转载&#xff0c;转载须注明来源《微生态》公众号。 导读 侵袭性真菌感染对公共健康构成了重大威胁&#xff0c;是抗菌素耐药性的一个未得到充分认识的组成部分…

在传染病中,肠道微生物-免疫力-营养在优化治疗策略中的作用

谷禾健康 传染病&#xff0c;肠道微生物&#xff0c;营养 传染病和感染目前是许多地区尤其是低收入国家主要死亡原因&#xff0c;也是婴儿和老年人等弱势群体的主要风险。免疫系统在这些感染的易感性、持续性和清除中起着至关重要的作用。由于 70-80% 的免疫细胞存在于肠道中&a…

Microbiome:人类肠道和病原菌的可移动抗性组驱动环境中抗生素抗性增长

点击蓝字 关注我们 编译&#xff1a;张璐 校稿&#xff1a;张慧林 论文ID 原名&#xff1a;Mobile resistome of human gut and pathogen drives anthropogenic bloom of antibiotic resistance 译名&#xff1a;人类肠道和病原菌的可移动抗性组驱动环境中抗生素抗性增长 第…

抗生素对微生物组和人体健康的影响

谷禾健康 说起抗生素&#xff0c;可能会觉得有些抽象&#xff0c;那如果说阿莫西林、头孢、红霉素、阿奇霉素等等这些日常生活经常使用的药物&#xff0c;会不会有一些熟悉的感觉。当我们发现身体有一些小炎症(如头痛发热、喉咙痒疼、咳嗽)的时候&#xff0c;首先会想到要使用这…

肠道菌群、性激素与疾病:探索它们的交互作用

谷禾健康 我们的身体中有很多不同的器官&#xff0c;组织&#xff0c;腺体等会产生许多信号分子来精确控制和影响身体的反应和活动&#xff0c;这些信号分子包括激素、神经递质、生长因子、细胞因子等。它们可以促进或抑制细胞的生长和分化&#xff0c;调节细胞间的相互作用和通…

抗生素对肠道微生物群的影响

在与细菌性疾病的斗争中&#xff0c;抗生素是不可避免的。抗生素是人类使用了几十年的治疗细菌感染的救命药物。 虽然抗生素挽救了数百万人的生命&#xff0c;但它们也会消灭一些常驻细菌。现有文献已经确定了与抗生素相关的肠道微生物群失调&#xff08;多样性降低&#xff09…

国外问卷调查项目详解(真正的保姆级教程)

大家好&#xff0c;我是小飞匠&#xff0c;也聊了不少关于国外问卷调查项目的话题&#xff0c;但是不少朋友对于国外问卷调查还是不太了解&#xff0c;今天来做一个国外问卷调查项目详解(全网最全最细致的教程)&#xff0c;如果能够给到大家一点点帮助那也是极好的。 什么是国…

扒一扒传智播客深藏在背后的内幕

扒一扒传智播客深藏在背后的内幕 —— 传智坚持开Java基础班有何猫腻 Java基础太简单&#xff0c;自学一个月就能搞定&#xff1f;大学学了计算机基础的&#xff0c;感觉报基础班有点浪费钱&#xff0c;浪费时间&#xff01;找工作会项目都行了&#xff0c;基础班感觉没多大用…

“马导”怒怼“小鲜肉”,当马儿遇到配音,短视频内容让人捧腹

“马导”怒怼“小鲜肉”&#xff0c;当马儿遇到配音&#xff0c;短视频内容让人捧腹 搞笑配音短视频其实是非常受人欢迎的&#xff0c;尤其是有才华的作者为小动物们配上的搞笑配音&#xff0c;更是让小动物们有了一种拟人的感觉&#xff0c;叫人一看就觉得非常有趣。比如关于以…

中国的程序员培训是不是有问题?

中国技术开放日的出海团对日本进行了为期一周的访问。笔者随行了头两天&#xff0c;参加 Slush Asia 大会&#xff0c;并访问了 Gungho 和 Deloitte 两家企业。虽然已经在日本生活了四年&#xff0c;但这样的体验却甚少&#xff0c;对中日两国的技术力有不少思考。 不知从什么时…

b站韩顺平老师的坦克大战

一.主要的几个类 Mypanel WwyTankGame01AnemyTank //写代码时候把单词拼错了哈哈不好意思BombRecorderNodeShotTankHero 二.功能实现的思路 1.画出敌我坦克 2.实现发射子弹 3.击中时坦克爆炸和消失 4.解决出界问题 5.解决碰撞问题 三.功能的实现 1. Mypanel 这个类…

Linux的入门全解

基于Ubuntu的Linux入门指南 写在前面浅谈LinuxWindows与LinuxLinux起源与发展初学者的学习方式 虚拟机与Ubuntu的安装虚拟机的安装与配置Linux系统的安装与配置 软件的安装与使用Windows与Linux的文件传输工具&#xff1a;VMToolsUbuntu下的软件商城&#xff1a;snap文本编辑器…

校园社交平台(SpringBoot+React前后端分离项目)

项目已开源&#xff0c;欢迎star&#xff01;&#xff01;&#xff01; 项目gitee地址&#xff1a;校园社交平台: ⭐基于ReactSpring Boot的前后端分离项目。校园社交平台&#xff0c;旨在为大学校园提供一个社交平台&#xff0c;通过发布动态为校园学生提供分享校园生活&…