【实测】用python解决 找色差方块小游戏

简介: 【实测】用python解决 找色差方块小游戏

这几天群里很火的小游戏:找色差

image.png


   大家玩的不亦乐乎,纷纷群内炫耀自己的分数。

image.png


   所以,我这就赶紧写了脚本,否则我的分数 太丢人了....


   首先新建个.py文件。引入selenium 正常的开头:

   

image.png

   

   进入了这个小功能的首页后,就是要点击开始按钮了:

image.png


   我用它的class来定位:

image.png


   点击后便开始了。


image.png


这里我找到了颜色不同的属性,利用这一点,我们可以很简单的去对比,找出那个rgb颜色 数值不同的,就是颜色不同的。

image.png


代码中,根据xpath 来获取到 这些方块。用的复数哦~


注意我们的代码,应该是在一个无限的大循环下。


这个循环就是每一关:


image.png

然后我们遍历这个all, 来找出那个不同的元素,并点击。


image.png



这里我不断的用前一个去比后一个,如果相同则继续。否则就继续比更下一个,判断出谁是特殊。

如果到最后俩个还没确定,引起all[i+2] 下标越界, 那说明就是最后俩个。

但是倒数第二个,如果是特殊的,那么上一次循环,它做为all[i+1]时,应该已经被比出来了。

所以如果引发报错,那么就一定是最后一个,也就是当前的all[i+1]是特殊点。


这里逻辑比较绕,大家可以自己多想几次。


然后就是测试时间:

image.png


大家可以优化下这个代码,看看谁的分最高!


考验算法能力的时候到了!!!

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get('https://www.zhaosecha.com/')
time.sleep(2)
driver.find_element_by_class_name('play-btn').click() # 开始按钮
while True:
    all = driver.find_elements_by_xpath('//*[@id="box"]/*') #获取所有方块
    for i in range(len(all)):
        if all[i].get_attribute('style') != all[i+1].get_attribute('style') : #特殊方块存在其一
            try:
                if all[i].get_attribute('style') != all[i+2].get_attribute('style'):  # 那么确定i是特殊点
                    all[i].click()
                    break
                else: #确定i+1是特殊点
                    all[i+1].click()
                    break
            except: #如果报错,说明已经比对到最后俩个方块。而前面的如果已经比对过,那说明应该不是特殊的。否则已经被比出来了
                all[i+1].click() #所以确定是最后一个特殊方块。
                break
    time.sleep(0.1)

最后再透漏个更快几倍的办法。

就是利用xpath直接找出属性style不等于正常值的那个按钮直接点击哦…

有兴趣的小伙伴可以自行试试~


相关文章
|
24天前
|
人工智能 机器人 测试技术
【python】python小游戏——开心消消乐(源码)【独一无二】
【python】python小游戏——开心消消乐(源码)【独一无二】
|
1月前
|
Python
python小游戏7
python小游戏7
|
1月前
|
Python
python小游戏6
python小游戏6
|
1月前
|
Python
python小游戏5
python小游戏5
|
1月前
|
Python
python小游戏4
python小游戏4
|
1月前
|
Python
python小游戏1
python小游戏1
|
1月前
|
安全 C++ Python
小游戏实战-Python实现石头剪刀布+扫雷小游戏
小游戏实战-Python实现石头剪刀布+扫雷小游戏
35 0
|
1月前
|
数据可视化 安全 数据安全/隐私保护
使用Python做个可视化的“剪刀石头布”小游戏
使用Python做个可视化的“剪刀石头布”小游戏
29 0
|
1月前
|
Python
python小游戏3
python小游戏3
|
1月前
|
算法 编译器 C语言
C语言猜数字小游戏(也包含python实现的用法)
本文基于VS2022、pycharm和前面的知识,写一个凭借分支与循环的小游戏,比如: 写一个猜数字游戏 游戏要求: 电脑自动生成1~100的随机数 玩家猜数字,猜数的过程中,根据猜测数据的大小给出大了或小了的反馈,直到猜对,游戏结束 在pyhton中生成随机数是比较简单的,可以直接导入random的包,直接生成随机数,导致写猜数字小游戏变成了判读语句和循环语句嵌套就能写出来,所以我不做过多的介绍了,可以直接看后面的代码展示,想了解更多的python可看python的基础知识,这里面有我在学习python的过程中写的笔记
31 0