qq炫舞10星什么时候出的没出校正制度的时候大概是多少

先锋游戏知道信息频道欢迎您
我下载的QQ炫舞下载好了 准备安装时出现此运用无法在你的电脑上运行‘若要找到适用你的电脑的版本,请咨询软件发布者 这是怎么回事
[╰╰??伶伶??╯╯] [ 20:06:07] (<span id="tgd) (<span id="tfd) &&
最佳答案不兼容吧,你啥系统啊
嗯嗯,应该是不兼容了,xp的现在用的不多了,你可以换个w7的试试 其他答案游戏不支持你电脑的系统。最好用xp系统的电脑。不知道啊
昵称: 验证码:
评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述
qq炫舞相关知识
qq炫舞其他问题用python做了一个 qq炫舞 机器人
2个晚上的时间,累计大约有6个多小时吧,用 python 实现了一个 qq炫舞 的机器人。
qq炫舞这个游戏就是很多年前比较流行的,出现 一排上下左右,在规定时间内正确输入,然后再在关键点狠拍空格键的那种游戏。
媳妇最近去了这个公司上班,工作需要,去接触了这款游戏。我也在旁边观摩了一阵,自己怎么也玩不好,然后就想到是不是可以自己动手做一个自动玩这个游戏的机器人。
主要参考了这几篇文章,
1,用Python实现QQ找茬游戏外挂工具
2.用Python制作游戏外挂
里面把关键技术都说的差不多了,我在这里只大概总结一下自己的心得。(时间太晚。。困死了,明天还要上班)
实现思路是
一个死循环不停在游戏中截图,
检测到该按方向键的时候, 检测所有方向键,并给游戏发送 方向键 键盘事件
检测到该按空格键的时候, 按下空格键
所有的检测都是基于 像素颜色来检测的
1. 了解到 python 有 autopy 这个库, 可以模拟一些窗口消息。
但是我在这个例子里没有用到,而是用的 win32api 这个库。
win32api 这个库,可以像 windows sdk 一样,调用 windows sdk 的函数,非常方便,也更接近 windows 底层
2. 用到了 PIL 库 , 尤其是 PIL 库 截图的部分.
3. 图像检测,是哪个方向键(上下左右?),以及是不是该按方向键,还是该按空格键,都是基于像素颜色的检验。
上面参考的文章里面,给出了 匹配相似图的算法,但是我发现在我这里 貌似不能用。
他们的做法我大概看了一下,印象是取图片 所有像素 数值的和,与 目标图片的 像素和 做比对。
但是我这里 上下左右4个按钮 ,像素和应该基本一样,所以这种方法不能用,采取了最笨拙的 ,比对关键点颜色是否为蓝色 来判定的。
4.了解了一下 python的多线程,虽然最后没有用上。但是做了一下科普.
5. windows sdk 的 keybd_event 第二个参数是 硬件扫描码。
如果传0 的话,在模拟 键盘消息时候,会出现 在游戏中模拟 无效的情况,必须用 MapVirtualKey() 填写正确的 值,
游戏才认为输入有效。
大量使用了 windows 的画图工具量坐标。。
7. 本来想用 python
面向对象一下, 想封装一下。。可是太晚了,今天把功能实现了很高兴了,来不及封装。代码就先这样吧。
8. 由于本轮开始的判定,写的不那么精确,导致偶尔出现 本轮开始判定不准确,不会输入方向键的情况。但是只要多花点时间,是能够改好的。
9. 用自己的 "挂" 和其他 “选手“ pk了一把, 3个人里面我排第2。。至少证明我的挂在不做调优的情况下,是能够战胜一批对手的。。是管用的。
嗯,大概关于这个脚本就到这里吧。
奶奶最近的病吓了我好几天,好在是病情在好转,让人欣慰。
睡得这么晚,明天的跑步计划又泡汤了。
赶紧去睡觉。
最后上代码,功能实现了,但是很乱,凑合看吧,当个留念。纪念自己第一个没啥技术含量的 “外挂"
#!/usr/bin/python
#coding=utf-8
import math
import win32gui
import win32con
import win32api
# import autopy
from PIL import ImageGrab
from PIL import Image
import time
import threading
# game window handler
g_game_window = N
# upper-left corner coordinate of game window
g_game_window_x = N
g_game_window_y = N
g_game_rect = N
# upper-left corner coordinate of arrows box
g_input_box_x = N
g_input_box_y = N
g_input_box_width = 330;
g_input_box_height = 44;
# const numbers
k_window_name = u"QQ炫舞"
k_input_offset_x = 366;
k_input_offset_y = 486;
k_arrow_width = 25;
k_arrow_height = 25;
#k_arrow_space = 9;
k_arrow_space = 10;
k_arrow_first_offset_x = 33;
k_arrow_first_offset_y = 10;
k_max_arrows_count = 8;
# enum of dir
k_dir_up = 0;
k_dir_down = 1;
k_dir_left= 2;
k_dir_right = 3;
k_dir_unknown = 4;
# color of flag
k_flag_r = 255
k_flag_g = 125
k_flag_b = 90
# flag pos
start_x = 539
start_y = 464
dest_x = 652
dest_y = 464
check_offset = 100;
def getGameWindow():
print 'getGameWindow';
global k_window_name
wind = win32gui.FindWindow(None,k_window_name)
初始化 参数值
def initSettings():
global g_game_
global g_game_window_x;
global g_game_window_y;
global g_input_box_x;
global g_input_box_y;
global k_input_offset_x;
global k_input_offset_y;
# get window handle
g_game_window = getGameWindow();
if g_game_window == 0:
print "Please launch game before run this script!"
print "Game window handle: " + str(g_game_window);
# place window to foreground
win32gui.ShowWindow(g_game_window,win32con.SW_RESTORE);
win32gui.SetForegroundWindow(g_game_window);
# get game window aabb box
g_game_rect = win32gui.GetWindowRect(g_game_window);
g_game_window_x = g_game_rect[0];
g_game_window_y = g_game_rect[1];
# input box coordinate
g_input_box_x = g_game_window_x + k_input_offset_x;
g_input_box_y = g_game_window_y + k_input_offset_y;
print "input box coordinate: (" + str(g_input_box_x) + "," + str(g_input_box_y) + ")"
判断是否是箭头的颜色
def isArrowColor(colorVal):
if colorVal[2] &= 190 and colorVal[0] & 140: # blue 210?
检查箭头数量是否是奇数
def isArrowsNumOdd(imgInputBox):
global g_input_box_x
global g_input_box_y
# for curCheckBoxNum in range(k_max_arrows_count):
# for eachPt in range()
imgWidth = imgInputBox.size[0];
imgHeight = imgInputBox.size[1];
if isArrowColor(imgInputBox.getpixel((imgWidth/2,imgHeight/2))):
return isO
获取箭头坐标列表
def getArrowsList(img,isOdd):
imgWidth = img.size[0];
imgHeight = img.size[1];
length = 0;
loopTimes = int(k_max_arrows_count / 2);
length = 1;
loopTimes = loopTimes - 1;
baseCoordX = 0;
baseCoordY = imgHeight / 2 - k_arrow_height / 2;
baseCoordX = imgWidth / 2 - k_arrow_width/2 - loopTimes * (k_arrow_width + k_arrow_space);
baseCoordX = imgWidth / 2 - k_arrow_space / 2 - (loopTimes - 1) * k_arrow_space - loopTimes * k_arrow_
#baseCoordX = baseCoordX + g_input_box_x
baseCoordX = baseCoordX + g_input_box_x + 1 # +1 fix offset
baseCoordY = baseCoordY + g_input_box_y
arrowsList = [];
for i in range(k_max_arrows_count):
curX = baseCoordX + i * (k_arrow_width + k_arrow_space);
curY = baseCoordY;
arrowBox = (curX,curY,curX + k_arrow_width,curY + k_arrow_height);
image = ImageGrab.grab(arrowBox);
#image.save("./output/" + str(i) + ".png","png");
arrowsList.append(image);
return arrowsL
def grabArrows():
print 'grabArrows';
global g_input_box_x;
global g_input_box_y;
global k_arrow_
global k_arrow_
global k_arrow_
global k_max_arrows_
global g_input_box_
global g_input_box_
inputBox = (g_input_box_x,g_input_box_y,g_input_box_x + g_input_box_width , g_input_box_y + g_input_box_height);
imgInputBox = ImageGrab.grab(inputBox);
#imgInputBox.save("./output/inputBox.png","png");
isOdd = isArrowsNumOdd(imgInputBox);
return getArrowsList(imgInputBox,isOdd);
根据图片,检测是哪个方向键
def checkDir(img):
key points coordinate:
if isArrowColor(img.getpixel((6,8))) and isArrowColor(img.getpixel((18,8))):
print "up"
return k_dir_
elif isArrowColor(img.getpixel((6,17))) and isArrowColor(img.getpixel((18,17))):
print "down"
return k_dir_
elif isArrowColor(img.getpixel((6,8))) and isArrowColor(img.getpixel((6,17))):
print "left"
return k_dir_
elif isArrowColor(img.getpixel((18,8))) and isArrowColor(img.getpixel((18,17))):
print "right"
return k_dir_
print "unknown"
return k_dir_
根据箭头列表,确定方向键列表
def getArrowsKeys(arrowsList):
print "keys -------------------- "
keysList = [];
for i in range(len(arrowsList)):
checkResult = checkDir(arrowsList[i]);
if checkResult != k_dir_unknown:
keysList.append(checkResult);
return keysL
def pressDirKey(keyList):
for i in range(len(keyList)):
dir = keyList[i];
keyCode = 0;
if dir == k_dir_up:
keyCode = 38;
elif dir == k_dir_down:
keyCode = 40;
elif dir == k_dir_left:
keyCode = 37;
elif dir == k_dir_right:
keyCode = 39;
hardwareScanCode = win32api.MapVirtualKey(keyCode,0)
win32api.keybd_event(keyCode,hardwareScanCode,0,0);
win32api.keybd_event(keyCode,hardwareScanCode,win32con.KEYEVENTF_KEYUP,0);
def pressSpaceKey():
keyCode = 32;
hardwareScanCode = win32api.MapVirtualKey(keyCode,0)
win32api.keybd_event(keyCode,hardwareScanCode,0,0);
win32api.keybd_event(keyCode,hardwareScanCode,win32con.KEYEVENTF_KEYUP,0);
检测是否是 flag 节奏标 的 颜色
def isFlagColor(colorVal):
# for i in range(len(colorVal)):
# print colorVal[i];
#if colorVal[0] == k_flag_r and colorVal[1] == k_flag_g and colorVal[2] == k_flag_b:
#if colorVal[0] & 255:
if colorVal[0] & 240:
if colorVal[1] &= 90 or colorVal[1] &= 120:
if colorVal[2] &= 50 or colorVal[2] &= 85:
is_in_turn = T
def startTurn():
print "start turn";
global is_in_
is_in_turn = T
arrowsList = grabArrows();
keyList = getArrowsKeys(arrowsList);
pressDirKey(keyList);
def endTurn():
print "end turn";
global is_in_
is_in_turn = F
def triggerSpace():
print "trigger space"
pressSpaceKey();
检测 什么时候 开始新一轮,什么时候 要按
# 并且按下 空格键
def checkTimer():
global start_x
global start_y
global dest_x
global dest_y
global is_in_
start_x = start_x + g_game_window_x;
start_y = start_y + g_game_window_y;
dest_x = dest_x + g_game_window_x;
dest_y = dest_y + g_game_window_y;
# startBlockImg = ImageGrab.grab((start_x,start_y,start_x + check_offset,start_y + check_offset));
# startBlockImg.save("./output/check.png","png");
while True:
# time.sleep(0.01);
# print "is in turn?" + str(is_in_turn);
if not is_in_turn:
startBlockImg = ImageGrab.grab((start_x,start_y,start_x + check_offset,start_y + check_offset));
if isFlagColor(startBlockImg.getpixel((1,3))):
startTurn();
destBlockImg = ImageGrab.grab((dest_x,dest_y,dest_x + check_offset,dest_y + check_offset));
if isFlagColor(destBlockImg.getpixel((1,3))):
triggerSpace();
endTurn();
def mainFunc():
if not initSettings():
checkTimer();
# th = threading.Thread(target = checkTimer)
# th.setDaemon(True);
# th.start();
# dealFunc();
if __name__ == '__main__':
print 'AutoDance'
mainFunc();
print 'AutoDance exit!'
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!《QQ炫舞》十周年庆典取消收券两小时 不取消收券的商品有什么
QQ炫舞十周年活动马上就要到来了,按照每年周年庆的习惯,都会为全体玩家开启限时免券的活动,那么今年的活动内容有哪些呢?下面就跟随小编一起来看看详细的介绍吧,希望大家喜欢。
《QQ炫舞》十周年庆典...
QQ炫舞十周年活动马上就要到来了,按照每年周年庆的习惯,都会为全体玩家开启限时免券的活动,那么今年的活动内容有哪些呢?下面就跟随小编一起来看看详细的介绍吧,希望大家喜欢。
《QQ炫舞》十周年庆典取消收券两小时介绍
每一年的周年庆,都带给了玩家们数不尽的惊喜与好礼。每一年的周年庆,都会为全体玩家们开启限时免券活动,当然今年也不例外。
为了兼顾到玩家上线时间的不同,本次免券将分为两个时间段进行,分别是5月26日下午16点至17点,晚上21点至22点。
在活动期间,商城除以下物品外全部取消收券!
【不取消收券商品】
小编在这为大家带来了关于《QQ炫舞》十周年时光任意门玩法介绍。
当然,五月还有什么活动呢?小编在这也为大家准备了《QQ炫舞》2018五月活动大全。
看了上文小编带来的《QQ炫舞》十周年庆典取消收券两小时介绍,你是否了解了相关内容信息,知道了呢!更多最好玩的就来九游下载吧!
正在加载,请稍后...
植物大战僵尸1
安卓平台下载
苹果平台下载大家都在搜:
扫描二维码安装房天下APP
手机浏览器访问房天下
> > 问题详情
登陆QQ炫舞的时候,出现了以下图,是不是显卡的问题?
浏览次数:0
二手房经纪人
虎门大桥交通事故虎门大桥虎门大桥图片虎门大桥资料
房天下知识为您分享了一条干货
二手房经纪人
现在好像没有什么验房子的机构吧~
二手房经纪人
不伤手的立白~~~感觉雕牌和白猫奥妙也不错
对的,是显卡的问题,我的炫舞也是这种情况,你可以下载驱动精灵,他们说有用,但是我下载驱动精灵了,是没用的,你可以试一试,或者去电脑城重新买一个显卡,这个比较实际,记得把我的答案选为最佳哦~
下载房天下APP
提问获取更多回答
ask:3,asku:1,askr:26,askz:10,askd:63,RedisW:0askR:1,askD:106 mz:nohit,askU:0,askT:0askA:108
Copyright &
北京拓世宏业科技发展有限公司
Beijing Tuo Shi Hong Ye Science&Technology Development Co.,Ltd 版权所有
违法信息举报邮箱:当前位置: >
qq炫舞脸黑认证书怎么获得 黑脸认证书有什么用
脸黑认证书是个什么东东啊,有玩家在自己的包裹里莫名的看到了这个道具,甚至都不知道从什么地方拿到的好么,一度以为是系统直接赠送到自己的包裹里的,其实不是哦,这是打造失败时的产物。
黑脸认证书获取:
获取的途径非常的单一也简单,就是玩家在合成坐骑印章的过程中,如果失败的话就会拿到该道具了。
好吧,说白了就是人品失败产物了,若是人品好的,直接就合成成功了,算是给到非酋一个拯救自己命运的机会了。
那玩家只要成功的收集到了20个脸黑认证书就一定能够打造出坐骑印章了,一定要时候20个,且100%合成,也就是说非酋玩家了不得脸黑20次也能出这个坐骑印章奖励哦。
这个坐骑印章实际就是让不能够飞行的坐骑激活自身的飞行能力,这个大家都知道的,可惜现在官方就只开放了猫咪老师,无法想象让一只猫飞行是什么场景,至于这个坐骑印章需要使用羽化粉尘和飞升粉尘才能合成,不同于飞行印章哦,这个大家要注意咯。
步战三国: 即刻开战,萌妹陪你撸三国
热门游戏榜
&#160;&#160;

我要回帖

更多关于 炫舞时代有时候上不去 的文章

 

随机推荐