首页 > 其他分享 >代码实现自动化连连看

代码实现自动化连连看

时间:2023-11-16 19:01:05浏览次数:26  
标签:连连看 提示 代码 showHint CURRENT 自动化 Constants HINTS

代码实现自动化连连看“蝴蝶翩翩连”

HTML小游戏"蝴蝶翩翩连"代码取得后,我们来分析如何实现自动完成连连看

通过引用的javascript文件可以得到游戏是”butterfly-kyodai.min.js“来实现,用到了[email protected]这个开源的桌面和移动 HTML5 2D 游戏开发框架。

如果想要实现自动完成连连看,首先要去了解学习下phaser这个框架,储备到必要的框架知识才能实现。

通过努力完成了、效果如下:

代码实现自动化连连看_模拟点击

分数:34199

代码实现自动化连连看_模拟点击_02

这里经过分析,要想达到系统自动连,最简单的方式就是利用提示功能,找出痤标再模块点击即可,这里就需要阅读代码找出在什么地方实现的提示,默认提示次数是有限制的,将限制取消,让其每次提示不减少提示次数

下面贴出主要改的地方:

这里HBuilderX使用格式化插件是Beautify Formator,将 Beautify Formator的配置"wrap_line_length"改为200

使用HBuilderX打开目录,将butterfly-kyodai.min.js文件打开,使用"编辑"-“重排代码格式”,格式化一下方便查看修改,

提示次数的处理

查找 Constants.CURRENT_HINTS--

this.hintTiles = [], 0 < Constants.CURRENT_HINTS && (Constants.CURRENT_HINTS--, this.showHint(!1));

改为

this.hintTiles = [];
// 0 < Constants.CURRENT_HINTS && (Constants.CURRENT_HINTS--, this.showHint(!1));
this.showHint(!1);

代码实现自动化连连看_连连看_03

模拟点击

查找E.prototype.showHint

在这个方法里增加代码

,
					//模拟点击
					this.backend.handleGameMove({
						call: "tileClicked",
						tileX:  e[0].x, 
						tileY:  e[0].y  
					}) ;
					
					this.backend.handleGameMove({
						call: "tileClicked",
						tileX: e[1].x ,
						tileY: e[1].y 
					}) ;


代码实现自动化连连看_连连看_04

改完这两处,打开测试下效果,这里一直点击提示就能自动完成连了


实现系统自动连

找到ButterflyKyodai的E.prototype.create根据Phaser框架的写法,增加一定时器来处理,循环10000次点击,一口气就连完了

查找E.prototype.create = function()

;
					this.game.time.events.repeat(1,10000,this.hintPressed, this);

代码实现自动化连连看_模拟点击_05

 效果完成

代码实现自动化连连看_连连看_06

标签:连连看,提示,代码,showHint,CURRENT,自动化,Constants,HINTS
From: https://blog.51cto.com/u_12668715/8431001

相关文章

  • 计算机程序的自动化
    计算机程序的自动化是指通过编写程序来实现特定任务的自动执行。自动化程序可以根据预定义的规则和条件,自动完成一系列操作,而无需人工干预。这样可以提高工作效率,减少人力成本,并减少错误发生的可能性。计算机程序的自动化可以应用于各个领域,例如:批量处理:自动化程序可以处理大......
  • 直播带货App开发步骤和部分代码分享!
    随着互联网的快速发展,直播带货已经成为一种新型的电商模式,深受广大消费者的喜爱,为了满足这一市场需求,开发一款直播带货App至关重要,本文将详细介绍直播带货App的开发步骤,并分享一些通用代码,帮助大家更好地了解这方面的知识。一、需求分析在开发直播带货App之前,我们需要明确App的功能......
  • 提高APP安全性的必备加固手段——深度解析代码混淆技术
    ​ ​提高APP安全性的必备加固手段——深度解析代码混淆技术APP加固方式iOSAPP加固是优化APK安全性的一种方法,常见的加固方式有混淆代码、加壳、数据加密、动态加载等。下面介绍一下iOSAPP加固的具体实现方式。混淆代码: 使用ProGuard工具可以对代码进行混淆,使......
  • 机器人和自动化技术
    一、定义机器人是指由计算机程序控制的可编程机器,它们能够执行人类工作或其他任务。自动化技术是指利用计算机和机器人等技术,实现生产过程的自动化,以提高生产效率、质量和安全性。二、发展现状随着科技的不断进步,机器人和自动化技术的发展也越来越快速。目前,机器人技术和自动化技术......
  • 软件自动化测试作用简析,为什么要选择第三方软件测评机构?
    软件自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。一、自动化测试的作用1.测试效能大幅度提高传统的测试方法被外行人戏称为......
  • Scoket 传输代码实现
    前提:开发工具:IDEA,创建包:com.north.test,才能直接复制服务端packagecom.north.test;importjavax.swing.*;importjava.io.IOException;importjava.io.InputStream;importjava.io.OutputStream;importjava.net.ServerSocket;importjava.net.Socket;import......
  • 使用MobaTextEditor编辑的代码在linux上运行报错
    在windows上通过ssh登录linux节点处理数据,使用MobaTextEditor编辑shell脚本后,在linux上运行总是报错找不到路径 报错 其根本原因是windows下每一行的结尾符是\n\r,而linux下是\n,所以windows下编写的shell脚本拷贝到linux下时会多一个\r,在运行时会乱码在运行前通过以下命令......
  • 如何l利用`ThreadLocal`、`HandlerInterceptor`、`HandlerMethodArgumentResolver`来
    核心类ThreadLocal、HandlerInterceptor、HandlerMethodArgumentResolver1.ThreadLocal2.WebMvcConfigurer -addArgumentResolvers3.HandlerMethodArgumentResolver -supportsParameter -resolveArgumentThreadLocal:可以理解为一个线程安全的Map。//用户上下......
  • 微服务 在 Java 代码中发送 http 请求(跨服务远程调用)
    1.注册RestTemplate对象到Spring容器中(Bean的注入只能放在配置类里,而启动类本身就是配置类)@SpringBootApplicationpublicclassOrderServiceApplication{publicstaticvoidmain(String[]args){SpringApplication.run(OrderServiceApplication.class,......
  • 安防监控LiteCVR平台视频画面六分屏的开发步骤(附代码)
    视频监控分屏画面技术是一种用于同时显示多个监控摄像头画面的技术。全屏显示时,单一摄像头占据整个屏幕,提供对单个区域的详细监控。多画面分屏则支持将多个摄像头的画面以网格形式分割在同一屏幕上,便于同时监控多个区域。视频监控联网LiteCVR视频集中存储平台不仅支持1、4、9、1......