Harlem Shake Instructables (o en cualquier sitio) (1 / 3 paso)

Paso 1: El python programa

Esto tomó muchas largas horas para completar, pero crítica constructiva sería genial, sobre todo si eres un programador de python que puede ayudar a condensar el código.
El siguiente es el código de python:

ctypes de importación
tiempo de importación
Web Browser de importación
WebBrowser.Open ('

LARGO = ctypes.c_long
DWORD = ctypes.c_ulong
ULONG_PTR = ctypes. POINTER(DWORD)
PALABRA = ctypes.c_ushort

clase MOUSEINPUT(ctypes. Estructura):
_fields_ = (('dx', largo),
('dy', largo),
('mouseData', DWORD),
('dwFlags', DWORD),
('tiempo', DWORD),
('dwExtraInfo', ULONG_PTR))

clase KEYBDINPUT(ctypes. Estructura):
_fields_ = (('wVk ', palabra),
('wScan', palabra),
('dwFlags', DWORD),
('tiempo', DWORD),
('dwExtraInfo', ULONG_PTR))

clase HARDWAREINPUT(ctypes. Estructura):
_fields_ = (('uMsg ', DWORD),
('wParamL', palabra),
('wParamH', palabra))

clase _INPUTunion(ctypes. Unión):
_fields_ = (('mi ', MOUSEINPUT),
('ki', KEYBDINPUT),
('Hola', HARDWAREINPUT))

clase de entrada (ctypes. Estructura):
_fields_ = ((' tipo', DWORD),
('Unión', _INPUTunion))

DEF SendInput(*inputs):
nInputs = len(inputs)
LPINPUT = entrada * nInputs
pInputs = LPINPUT(*inputs)
cbSize = ctypes.c_int(ctypes.sizeof(INPUT))
volver ctypes.windll.user32.SendInput (nInputs, pInputs, cbSize)

INPUT_MOUSE = 0
INPUT_KEYBOARD = 1
INPUT_HARDWARD = 2

DEF Input(structure):
Si isinstance (estructura MOUSEINPUT):
devolver la entrada (INPUT_MOUSE, _INPUTunion(mi=structure))
Si isinstance (estructura KEYBDINPUT):
devolver la entrada (INPUT_KEYBOARD, _INPUTunion(ki=structure))
Si isinstance (estructura HARDWAREINPUT):
devolver la entrada (INPUT_HARDWARE, _INPUTunion(hi=structure))
elevar TypeError (' no se puede crear entrada estructura!')

WHEEL_DELTA = 120
XBUTTON1 = 0X0001
XBUTTON2 = 0X0002
MOUSEEVENTF_ABSOLUTE = 0X8000
MOUSEEVENTF_HWHEEL = 0X01000
MOUSEEVENTF_MOVE = 0X0001
MOUSEEVENTF_MOVE_NOCOALESCE = 0X2000
MOUSEEVENTF_LEFTDOWN = 0X0002
MOUSEEVENTF_LEFTUP = 0X0004
MOUSEEVENTF_RIGHTDOWN = 0X0008
MOUSEEVENTF_RIGHTUP = 0X0010
MOUSEEVENTF_MIDDLEDOWN = 0X0020
MOUSEEVENTF_MIDDLEUP = 0X0040
MOUSEEVENTF_VIRTUALDESK = 0 X 4000
MOUSEEVENTF_WHEEL = 0 X 0800
MOUSEEVENTF_XDOWN = 0X0080
MOUSEEVENTF_XUP = 0X0100

DEF MouseInput (banderas, x, y, datos):
volver MOUSEINPUT (x, y, datos, indicadores, 0, ninguno)

VK_LBUTTON = 0 x 01 # botón izquierdo del ratón
VK_RBUTTON = 0 x 02 # botón derecho del ratón
VK_CANCEL = proceso de # rotura de Control 0 x 03
VK_MBUTTON = 0 x 04 # botón central del ratón (ratón de tres botones)
VK_XBUTTON1 = 0 x 05 # X 1 ratón botón
VK_XBUTTON2 = 0 x 06 # X 2 ratón botón
VK_BACK = tecla de retroceso de # 0x08
VK_TAB = 0 x 09 # ficha clave
VK_CLEAR = tecla # 0x0C
VK_RETURN = tecla ENTER 0x0D #
VK_SHIFT = 0 x 10 # tecla de mayúsculas
VK_CONTROL = tecla CTRL de 0x11 #
VK_MENU = 0x12 # clave ALT
VK_PAUSE = tecla de pausa # 0 x 13
VK_CAPITAL = tecla de CAPS LOCK # 0x14
VK_KANA = 0x15 # el modo de Kana de IME
VK_HANGUL = 0x15 # Hangul IME modo
VK_JUNJA = 0x17 # modo Junja de IME
VK_FINAL = 0x18 # IME modo final
VK_HANJA = 0x19 # el modo IME Hanja
VK_KANJI = 0x19 # el modo Kanji de IME
VK_ESCAPE = 0x1B tecla de # ESC
VK_CONVERT = 0x1C # IME convertir
VK_NONCONVERT = nonconvert IME # 0x1D
VK_ACCEPT = 0x1E # IME aceptar
VK_MODECHANGE = solicitud de cambio de modo de 0x1F # IME
VK_SPACE = 0 X 20 # BARRA ESPACIADORA
VK_PRIOR = 0x21 # tecla página arriba
VK_NEXT = 0x22 # PAGE DOWN key
VK_END = 0x23 # final clave
VK_HOME = tecla de casa # 0x24
VK_LEFT = flecha izquierda # 0x25
VK_UP = tecla de flecha arriba de # 0x26
VK_RIGHT = flecha derecha # 0x27
VK_DOWN = tecla de flecha abajo de # 0x28
VK_SELECT = 0x29 # clave seleccione
VK_PRINT = 0x2A tecla PRINT #
VK_EXECUTE = 0x2B # ejecutar tecla
VK_SNAPSHOT = 0x2C tecla de imprimir pantalla #
VK_INSERT = tecla de # INS 0x2D
VK_DELETE = 0x2E tecla de # DEL
VK_HELP = 0x2F tecla de ayuda #
VK_LWIN = tecla de Windows izquierda # 0x5B (teclado Natural)
VK_RWIN = 0x5C # tecla de Windows derecha (teclado Natural)
VK_APPS = 0x5D # aplicaciones clave (teclado Natural)
VK_SLEEP = tecla de computadora dormir # 0x5F
VK_NUMPAD0 = tecla de teclado numérico 0 # 0x60
VK_NUMPAD1 = tecla de teclado numérico 1 0x61 #
VK_NUMPAD2 = tecla de teclado numérico 2 0x62 #
VK_NUMPAD3 = tecla de teclado numérico 3 0x63 #
VK_NUMPAD4 = 0x64 # teclado numérico 4 clave
VK_NUMPAD5 = tecla de teclado numérico 5 0x65 #
VK_NUMPAD6 = tecla de teclado numérico 6 # 0x66
VK_NUMPAD7 = tecla de teclado numérico 7 # 0x67
VK_NUMPAD8 = tecla de teclado numérico 8 0x68 #
VK_NUMPAD9 = tecla de teclado numérico 9 # 0x69
VK_MULTIPLY = 0x6A # multiplicar clave
VK_ADD = 0x6B # agregar clave
VK_SEPARATOR = tecla de separador # 0x6C
VK_SUBTRACT = 0x6D tecla de resta de #
VK_DECIMAL = tecla Decimal # de 0x6E
VK_DIVIDE = tecla de división # 0x6F
VK_F1 = 0x70 # F1 clave
VK_F2 = 0x71 # F2 clave
VK_F3 = 0x72 # F3 clave
VK_F4 = 0x73 # F4 clave
VK_F5 = 0x74 # F5 clave
VK_F6 = clave de F6 # 0 x 75
VK_F7 = 0x76 # F7 clave
VK_F8 = 0x77 # F8 tecla
VK_F9 = tecla de F9 # de 0x78
VK_F10 = 0x79 # F10 clave
VK_F11 = tecla de F11 de # 0x7A
VK_F12 = 0x7B # F12 clave
VK_F13 = 0x7C tecla de # F13
VK_F14 = en 0x7D tecla de # F14
VK_F15 = 0x7E tecla de # F15
VK_F16 = 0x7F F16 # tecla
VK_F17 = 0 x 80 # F17 clave
VK_F18 = 0x81 # F18 clave
VK_F19 = 0x82 # F19 clave
VK_F20 = 0x83 # F20 clave
VK_F21 = 0x84 # F21 clave
VK_F22 = 0x85 # F22 clave
VK_F23 = 0x86 # F23 clave
VK_F24 = 0x87 # F24 clave
VK_NUMLOCK = tecla de BLOQ NUM # 0x90
VK_SCROLL = 0x91 # clave de Bloq Despl
VK_LSHIFT = 0xA0 # izquierda MAYÚS tecla
VK_RSHIFT = tecla de cambio derecha 0xA1 #
VK_LCONTROL = tecla CONTROL izquierda de 0xA2 #
VK_RCONTROL = 0xA3 # tecla de CONTROL derecha
VK_LMENU = tecla de menú izquierda # 0xA4
VK_RMENU = 0xA5 # tecla de menú derecha
VK_BROWSER_BACK = tecla navegador detrás de 0xA6 #
VK_BROWSER_FORWARD = tecla navegador adelante de 0xA7 #
VK_BROWSER_REFRESH = tecla 0xA8 # navegador actualizar
VK_BROWSER_STOP = tecla de navegador detenga 0xA9 #
VK_BROWSER_SEARCH = 0xAA # navegador Search key
VK_BROWSER_FAVORITES = tecla de navegador favoritos # 0xAB
VK_BROWSER_HOME = 0xAC # navegador Inicio y casa llave
VK_VOLUME_MUTE = 0xAD # tecla Volumen Mute
VK_VOLUME_DOWN = tecla de bajar volumen de # 0xAE
VK_VOLUME_UP = 0xAF # Volume Up key
VK_MEDIA_NEXT_TRACK = 0xB0 # pista siguiente tecla
VK_MEDIA_PREV_TRACK = 0xB1 # pista anterior clave
VK_MEDIA_STOP = tecla de Media parada # 0xB2
VK_MEDIA_PLAY_PAUSE = tecla de Play/Pause medios 0xB3 #
VK_LAUNCH_MAIL = tecla de Start Mail 0xB4 #
VK_LAUNCH_MEDIA_SELECT = 0xB5 # tecla de seleccionar medios
VK_LAUNCH_APP1 = 0xB6 # Inicio aplicación 1 llave
VK_LAUNCH_APP2 = 0xB7 # Inicio aplicación 2 clave
VK_OEM_1 = 0xBA # se utiliza para diversos caracteres; puede variar por el teclado.                                # Para el teclado estándar de Estados Unidos, la ';:' tecla
VK_OEM_PLUS = 0xBB # para cualquier país o región, la tecla '+'
VK_OEM_COMMA = 0xBC # para cualquier país o región, la clave ','
VK_OEM_MINUS = 0xBD # para cualquier país o región, el '-' clave
VK_OEM_PERIOD = 0xBE # para cualquier país o región, el '.' clave
VK_OEM_2 = 0xBF # se utiliza para diversos caracteres; puede variar por el teclado.                                # Para el teclado estándar de Estados Unidos, la clave '/?'
VK_OEM_3 = 0xC0 # se utiliza para diversos caracteres; puede variar por el teclado.                                # Para el teclado estándar de Estados Unidos, el '' ~' clave
VK_OEM_4 = 0xDB # se utiliza para diversos caracteres; puede variar por el teclado.                                # Para el teclado estándar de Estados Unidos, el ' [{' clave
VK_OEM_5 = 0xDC # se utiliza para diversos caracteres; puede variar por el teclado.                                # Para el teclado estándar de Estados Unidos, el ' \|' clave
VK_OEM_6 = 0xDD # se utiliza para diversos caracteres; puede variar por el teclado.                                # Para el teclado estándar de Estados Unidos, el ']}' clave
VK_OEM_7 = 0xDE # se utiliza para diversos caracteres; puede variar por el teclado.                                # Para el teclado estándar de Estados Unidos, la clave de 'single-/ double-cita'
VK_OEM_8 = 0xDF # se utiliza para diversos caracteres; puede variar por el teclado.
VK_OEM_102 = 0xE2 # o el ángulo del soporte tecla o la tecla de barra invertida en el teclado de 102 teclas RT
VK_PROCESSKEY = 0xE5 # IME proceso clave
VK_PACKET = 0xE7 # se utiliza para pasar a Unicode caracteres como si fueran pulsaciones de teclas. La clave VK_PACKET es la palabra baja de un valor de tecla Virtual de 32 bits utilizado para métodos de entrada de teclado no. Para obtener más información, ver nota en KEYBDINPUT, SendInput, WM_KEYDOWN y WM_KEYUP
VK_ATTN = 0xF6 # Attn clave
VK_CRSEL = tecla CrSel de 0xF7 #
VK_EXSEL = 0xF8 # ExSel clave
VK_EREOF = tecla de borrar EF # 0xF9
VK_PLAY = 0xFA # juego clave
VK_ZOOM = tecla de Zoom # 0xFB
VK_PA1 = clave de # PA1 0xFD
VK_OEM_CLEAR = tecla # 0xFE

KEYEVENTF_EXTENDEDKEY = 0X0001
KEYEVENTF_KEYUP = 0X0002
KEYEVENTF_SCANCODE = 0X0008
KEYEVENTF_UNICODE = 0X0004

KEY_0 = 0 X 30
KEY_1 = 0X31
KEY_2 = 0X32
KEY_3 = 0X33
KEY_4 = 0X34
KEY_5 = 0X35
KEY_6 = 0X36
KEY_7 = 0X37
KEY_8 = 0X38
KEY_9 = 0 X 39
KEY_A = 0 X 41
KEY_B = 0X42
KEY_C = 0X43
KEY_D = 0X44
KEY_E = 0X45
KEY_F = 0X46
KEY_G = 0X47
KEY_H = 0X48
KEY_I = 0X49
KEY_J = 0X4A
KEY_K = 0X4B
KEY_L = 0X4C
KEY_M = 0X4D
KEY_N = 0X4E
KEY_O = 0X4F
KEY_P = 0 X 50
KEY_Q = 0X51
KEY_R = 0X52
KEY_S = 0X53
KEY_T = 0X54
KEY_U = 0X55
KEY_V = 0X56
KEY_W = 0X57
KEY_X = 0X58
KEY_Y = 0X59
KEY_Z = 0X5A

serial de importación
codecs de importación
ctypes de importación
tiempo de importación
de importación sueño

SendInput = ctypes.windll.user32.SendInput

PUL = ctypes. Pointer(ctypes.c_ulong)
clase KeyBdInput(ctypes. Estructura):
_fields_ = [("wVk", ctypes.c_ushort),
("wScan", ctypes.c_ushort),
("dwFlags", ctypes.c_ulong),
("tiempo", ctypes.c_ulong),
("dwExtraInfo", PUL)]

clase HardwareInput(ctypes. Estructura):
_fields_ = [("uMsg", ctypes.c_ulong),
("wParamL", ctypes.c_short),
("wParamH", ctypes.c_ushort)]

clase MouseInput(ctypes. Estructura):
_fields_ = [("dx", ctypes.c_long),
("dy", ctypes.c_long),
("mouseData", ctypes.c_ulong),
("dwFlags", ctypes.c_ulong),
("time",ctypes.c_ulong),
("dwExtraInfo", PUL)]

clase Input_I(ctypes. Unión):
_fields_ = [("ki", KeyBdInput),
("mi", MouseInput),
("Hola", HardwareInput)]

clase de entrada (ctypes. Estructura):
_fields_ = [("tipo", ctypes.c_ulong),
("ii", Input_I)]

DEF PressKey(hexKeyCode):

extra = ctypes.c_ulong(0)
ii_ = Input_I()
ii_.Ki = KeyBdInput (hexKeyCode, 0x48, 0, 0, ctypes.pointer(extra))
x = Input (ctypes.c_ulong(1), ii_)
ctypes.windll.user32.SendInput (1, ctypes.pointer(x), ctypes.sizeof(x))

DEF ReleaseKey(hexKeyCode):

extra = ctypes.c_ulong(0)
ii_ = Input_I()
ii_.Ki = KeyBdInput (hexKeyCode, 0x48, 0x0002, 0, ctypes.pointer(extra))
x = Input (ctypes.c_ulong(1), ii_)
ctypes.windll.user32.SendInput (1, ctypes.pointer(x), ctypes.sizeof(x))

DEF KeybdInput (código, banderas):
volver KEYBDINPUT (código, código, banderas, 0, ninguno)

DEF HardwareInput (mensaje, parámetro):
volver HARDWAREINPUT (mensaje & 0xFFFFFFFF,
parámetro y 0xFFFF,
parámetro >> 16 & 0xFFFF)

Def del ratón (banderas, x = 0, y = 0, datos = 0):
devolver la entrada (MouseInput (banderas, x, y, datos))

definición de teclado (código, banderas = 0):
devolver la entrada (KeybdInput (código, banderas))

definición Hardware (mensaje, parámetro = 0):
devolver la entrada (HardwareInput (mensaje, parámetro))

#pressFunctions ###
DEF PA():
PressKey(KEY_A)
DEF PB():
PressKey(KEY_B)
DEF PC():
PressKey(KEY_C)
DEF PD():
PressKey(KEY_D)
DEF PE():
PressKey(KEY_E)
DEF PF():
PressKey(KEY_F)
DEF PG():
PressKey(KEY_G)
DEF PH():
PressKey(KEY_H)
DEF PI():
PressKey(KEY_I)
DEF PJ():
PressKey(KEY_J)
DEF PK():
PressKey(KEY_K)
DEF PL():
PressKey(KEY_L)
DEF PM():
PressKey(KEY_M)
DEF PN():
PressKey(KEY_N)
DEF PO():
PressKey(KEY_O)
DEF PP():
PressKey(KEY_P)
DEF PQ():
PressKey(KEY_Q)
DEF PR():
PressKey(KEY_R)
DEF PS():
PressKey(KEY_S)
DEF PT():
PressKey(KEY_T)
DEF PU():
PressKey(KEY_U)
DEF PV():
PressKey(KEY_V)
DEF PW():
PressKey(KEY_W)
DEF PX():
PressKey(KEY_X)
DEF PY():
PressKey(KEY_Y)
DEF PZ():
PressKey(KEY_Z)
DEF PCTRL():
PressKey(VK_CONTROL)
DEF PSHIFT():
PressKey(VK_SHIFT)
DEF PCOLON():
PressKey(VK_OEM_1)
DEF PQUOTE():
PressKey(VK_OEM_7)
DEF POPENBRACKET():
PressKey(VK_OEM_4)
DEF PCLOSEBRACKET():
PressKey(VK_OEM_6)
DEF PBACKSLASH():
PressKey(VK_OEM_2)
DEF PPLUS():
PressKey(VK_OEM_PLUS)
DEF PMINUS():
PressKey(VK_OEM_MINUS)
DEF P0():
PressKey(KEY_0)
DEF P1():
PressKey(KEY_1)
DEF P2():
PressKey(KEY_2)
DEF P3():
PressKey(KEY_3)
DEF P4():
PressKey(KEY_4)
DEF P5():
PressKey(KEY_5)
DEF P6():
PressKey(KEY_6)
DEF P7():
PressKey(KEY_7)
DEF P8():
PressKey(KEY_8)
DEF P9():
PressKey(KEY_9)
DEF PSPACE():
PressKey(VK_SPACE)
DEF PENTER():
PressKey(VK_RETURN)
DEF PPERIOD():
PressKey(VK_OEM_PERIOD)
DEF PCOMMA():
PressKey(VK_OEM_COMMA)
DEF PFOREWARDSLASH():
PressKey(VK_OEM_5)
DEF PF12():
PressKey(VK_F12)
################################

#releaseFunctions ###
DEF RA():
ReleaseKey(KEY_A)
DEF RB():
ReleaseKey(KEY_B)
DEF RC():
ReleaseKey(KEY_C)
DEF RD():
ReleaseKey(KEY_D)
DEF RE():
ReleaseKey(KEY_E)
DEF RF():
ReleaseKey(KEY_F)
DEF RG():
ReleaseKey(KEY_G)
DEF RH():
ReleaseKey(KEY_H)
DEF RI():
ReleaseKey(KEY_I)
DEF RJ():
ReleaseKey(KEY_J)
DEF RK():
ReleaseKey(KEY_K)
DEF RL():
ReleaseKey(KEY_L)
DEF RM():
ReleaseKey(KEY_M)
DEF RN():
ReleaseKey(KEY_N)
DEF RO():
ReleaseKey(KEY_O)
DEF RP():
ReleaseKey(KEY_P)
DEF RQ():
ReleaseKey(KEY_Q)
DEF RR():
ReleaseKey(KEY_R)
DEF RS():
ReleaseKey(KEY_S)
DEF RT():
ReleaseKey(KEY_T)
DEF RU():
ReleaseKey(KEY_U)
DEF RV():
ReleaseKey(KEY_V)
DEF RW():
ReleaseKey(KEY_W)
DEF RX():
ReleaseKey(KEY_X)
DEF RY():
ReleaseKey(KEY_Y)
DEF RZ():
ReleaseKey(KEY_Z)
DEF RCTRL():
ReleaseKey(VK_CONTROL)
DEF RSHIFT():
ReleaseKey(VK_SHIFT)
DEF RCOLON():
ReleaseKey(VK_OEM_1)
DEF RQUOTE():
ReleaseKey(VK_OEM_7)
DEF RCOLON():
ReleaseKey(VK_OEM_1)
DEF RQUOTE():
ReleaseKey(VK_OEM_7)
DEF ROPENBRACKET():
ReleaseKey(VK_OEM_4)
DEF RCLOSEBRACKET():
ReleaseKey(VK_OEM_6)
DEF RBACKSLASH():
ReleaseKey(VK_OEM_2)
DEF RPLUS():
ReleaseKey(VK_OEM_PLUS)
DEF RMINUS():
ReleaseKey(VK_OEM_MINUS)
DEF R0():
ReleaseKey(KEY_0)
DEF R1():
ReleaseKey(KEY_1)
DEF R2():
ReleaseKey(KEY_2)
DEF R3():
ReleaseKey(KEY_3)
DEF R4():
ReleaseKey(KEY_4)
DEF R5():
ReleaseKey(KEY_5)
DEF R6():
ReleaseKey(KEY_6)
DEF R7():
ReleaseKey(KEY_7)
DEF R8():
ReleaseKey(KEY_8)
DEF R9():
ReleaseKey(KEY_9)
DEF RSPACE():
ReleaseKey(VK_SPACE)
DEF RENTER():
ReleaseKey(VK_RETURN)
DEF RPERIOD():
ReleaseKey(VK_OEM_PERIOD)
DEF RCOMMA():
ReleaseKey(VK_OEM_COMMA)
DEF RFOREWARDSLASH():
ReleaseKey(VK_OEM_5)
DEF RF12():
ReleaseKey(VK_F12)
##################################

Time.Sleep(3)
#open consola ###
PCTRL()
PSHIFT()
PJ()
RCTRL()
RSHIFT()
RJ()
#############################################
String='javascript:(function() {función c() {var e=document.createElement("link");e.setAttribute("type","text/css");e.setAttribute("rel","stylesheet");e.setAttribute("href",f);e.setAttribute("class",l);document.body.appendChild(e)} función h() {var e=document.getElementsByClassName (l); para (var t = 0; t < e.length;t++){document.body.removeChild(e[t])}} function función de p() {var e=document.createElement("div");e.setAttribute("class",a);document.body.appendChild(e);setTimeout(function(){document.body.removeChild(e)},100)} d {return {altura : e.offsetHeight,width:e.offsetWidth}}function v(i) {var s = d (i); volver s.height > e & & s.height < n & & s.width > t & & s.width < r} function m(e) {var t = e; var n = 0; mientras que (! t){n+=t.offsetTop;t=t.offsetParent}Return n} función g() {var e=document.documentElement;if (! window.innerWidth){return window.innerHeight}else si (e & &! isNaN (e.clientHeight)) {return e.clientHeight}return 0} y(){if(window.pageYOffset) {return window.pageYOffset}return Math.max(document.documentElement.scrollTop,document.body.scrollTop)} función E(e) {var t = m (e); volver t > = w & & t < = b + w} función S() {var e=document.createElement("audio"); e.setAttribute("class",l);e.src=i;e.loop=false;e.addEventListener("canplay",function(){setTimeout(function(){x(k)} 500); setTimeout (function () {N (); p (); para (var e = 0; e < O.length;e++){T(O[e])}},15500)},true);e.addEventListener("ended",function(){N();h()}, true); e.innerHTML= "< p > Si estás leyendo esto, es porque su navegador no soporta el elemento audio. Le recomendamos que obtenga un navegador nueva. < /p >< p > "; document.body.appendChild (e); e.play ()} function x(e) {e.className +=" "+ s +" "+ o} función T(e) {e.className +=" "+ s +" "+ u [Math.floor (Math.random () *u.length)]} función N() {var e=document.getElementsByClassName(s); var t = new RegExp ("\\\b"+s+"\\\b"); para (var n = 0; n < e.length;){e[n].className=e[n].className.replace(t,"")}} var e = 30; var t = 30; var n = 350; var r = 350; var i="//s3.amazonaws.com/moovweb-marketing/playground/harlem-shake.mp3";var s =" mw-harlem_shake_ "; var o ="im_first"; var u = ["im_drunk","im_baked","im_trippin","im_blown"]; var a ="mw-strobe_light"; var f="//s3.amazonaws.com/moovweb-marketing/playground/harlem-shake-style.css";var l ="mw_added_css"; var b = g (); var w = y (); var C=document.getElementsByTagName("*"); var k = null; para (var L = 0; L < C.length; L++) {var A=C[L];if(v(A)){if(E(A)){k=A;break}}}if(A===null) {console.warn ("no pudo encontrar un nodo de ese tamaño. Por favor trate de otra página."); Return}c(); S (); var O = []; para (var L = 0; L < C.length; L++) {var A=C[L];if(v(A)){O.push(A)}}})()'
Time.Sleep(3)
carta en cadena:
Letras de #check
if(Letter=='a'):
PA()
RA()
if(Letter=='A'):
PSHIFT()
PA()
RA()
RSHIFT()
if(Letter=='b'):
PB()
RB()
if(Letter=='B'):
PSHIFT()
PB()
RB()
RSHIFT()
if(Letter=='c'):
PC()
RC()
if(Letter=='C'):
PSHIFT()
PC()
RC()
RSHIFT()
if(Letter=='d'):
PD()
RD()
if(Letter=='D'):
PSHIFT()
PD()
RD()
RSHIFT()
if(Letter=='e'):
PE()
RE()
if(Letter=='E'):
PSHIFT()
PE()
RE()
RSHIFT()
if(Letter=='f'):
PF()
RF()
if(Letter=='F'):
PSHIFT()
PF()
RF()
RSHIFT()
if(Letter=='g'):
PG()
RG()
if(Letter=='G'):
PSHIFT()
PG()
RG()
RSHIFT()
if(Letter=='h'):
PH()
RH()
if(Letter=='H'):
PSHIFT()
PH()
RH()
RSHIFT()
if(Letter=='i'):
PI()
RI()
if(Letter=='I'):
PSHIFT()
PI()
RI()
RSHIFT()
if(Letter=='j'):
PJ()
RJ()
if(Letter=='J'):
PSHIFT()
PJ()
RJ()
RSHIFT()
if(Letter=='k'):
PK()
RK()
if(Letter=='K'):
PSHIFT()
PK()
RK()
RSHIFT()
if(Letter=='l'):
PL()
RL()
if(Letter=='L'):
PSHIFT()
PL()
RL()
RSHIFT()
if(Letter=='m'):
PM()
RM()
if(Letter=='M'):
PSHIFT()
PM()
RM()
RSHIFT()
if(Letter=='n'):
PN()
RN()
if(Letter=='N'):
PSHIFT()
PN()
RN()
RSHIFT()
if(Letter=='o'):
PO()
RO()
if(Letter=='O'):
PSHIFT()
PO()
RO()
RSHIFT()
if(Letter=='p'):
PP()
RP()
if(Letter=='P'):
PSHIFT()
PP()
RP()
RSHIFT()
if(Letter=='q'):
PQ()
RQ()
if(Letter=='Q'):
PSHIFT()
PQ()
RQ()
RSHIFT()
if(Letter=='r'):
PR()
RR()
if(Letter=='R'):
PSHIFT()
PR()
RR()
RSHIFT()
if(Letter=='s'):
PS()
RS()
if(Letter=='S'):
PSHIFT()
PS()
RS()
RSHIFT()
if(Letter=='t'):
PT()
RT()
if(Letter=='T'):
PSHIFT()
PT()
RT()
RSHIFT()
if(Letter=='u'):
PU()
RU()
if(Letter=='U'):
PSHIFT()
PU()
RU()
RSHIFT()
if(Letter=='v'):
PV()
RV()
if(Letter=='V'):
PSHIFT()
PV()
RV()
RSHIFT()
if(Letter=='w'):
PW()
RW()
if(Letter=='W'):
PSHIFT()
PW()
RW()
RSHIFT()
if(Letter=='x'):
PX()
RX()
if(Letter=='X'):
PSHIFT()
PX()
RX()
RSHIFT()
if(Letter=='y'):
PY()
RY()
if(Letter=='Y'):
PSHIFT()
PY()
RY()
RSHIFT()
if(Letter=='z'):
PZ()
RZ()
if(Letter=='Z'):
PSHIFT()
PZ()
RZ()
RSHIFT()
##################################
#Special caracteres ###
if(Letter=='\\'):
PFOREWARDSLASH()
RFOREWARDSLASH()
if(Letter=='*'):
PSHIFT()
P8()
R8()
RSHIFT()
if(Letter==':'):
PSHIFT()
PCOLON()
RCOLON()
RSHIFT()
if(Letter=='"'):
PSHIFT()
PQUOTE()
RQUOTE()
RSHIFT()
if(Letter=='('):
PSHIFT()
P9()
R9()
RSHIFT()
if(Letter==')'):
PSHIFT()
P0()
R0()
RSHIFT()
if(Letter=='{'):
PSHIFT()
POPENBRACKET()
ROPENBRACKET()
RSHIFT()
if(Letter=='}'):
PSHIFT()
PCLOSEBRACKET()
RCLOSEBRACKET()
RSHIFT()
if(Letter=="'"):
PQUOTE()
RQUOTE()
if(Letter=='/'):
PBACKSLASH()
RBACKSLASH()
if(Letter==';'):
PCOLON()
RCOLON()
if(Letter=='='):
PPLUS()
RPLUS()
if(Letter=='+'):
PSHIFT()
PPLUS()
RPLUS()
RSHIFT()
if(Letter=='_'):
PSHIFT()
PMINUS()
RMINUS()
RSHIFT()
if(Letter=='-'):
PMINUS()
RMINUS()
if(Letter=='['):
POPENBRACKET()
ROPENBRACKET()
if(Letter==']'):
PCLOSEBRACKET()
RCLOSEBRACKET()
Si (letra == '&'):
PSHIFT()
P7()
R7()
RSHIFT()
Si (letra =='< '):
PSHIFT()
PCOMMA()
RCOMMA()
RSHIFT()
Si (letra =='> '):
PSHIFT()
PPERIOD()
RPERIOD()
RSHIFT()
if(Letter=='!'):
PSHIFT()
P1()
R1()
RSHIFT()
if(Letter==','):
PCOMMA()
RCOMMA()
if(Letter=='.'):
PPERIOD()
RPERIOD()
#################################
#Numbers ###
if(Letter=='0'):
P0()
R0()
if(Letter=='1'):
P1()
R1()
if(Letter=='2'):
P2()
R2()
if(Letter=='3'):
P3()
R3()
if(Letter=='4'):
P4()
R4()
if(Letter=='5'):
P5()
R5()
if(Letter=='6'):
P6()
R6()
if(Letter=='7'):
P7()
R7()
if(Letter=='8'):
P8()
R8()
if(Letter=='9'):
P9()
R9()
#################################
#Space###########################
Si (letra ==' '):
PSPACE()
RSPACE()
#################################
#Sumbit##########################
PENTER()
RENTER()
PF12()
RF12()
#################################

Artículos Relacionados

Cómo ser Polite en Instructables (o en cualquier sitio como él)

Cómo ser Polite en Instructables (o en cualquier sitio como él)

este Instructable va a mostrar cómo ser un buen miembro en cualquier sitio como Instructables. Algunos de ustedes serán capaces de analizar sólo a través de este porque ya practican la etiqueta, pero otros, bien... Tienes lo que quiero decir. Esto de
Conseguir en cualquier sitio y Msn en la escuela o el trabajo

Conseguir en cualquier sitio y Msn en la escuela o el trabajo

te digo cómo llegar a cualquier sitio en Internet si tu en la escuela o en el trabajo.Mayoría de los sitios este aspecto cuando seHTTp:// www.123456.comPero en algunos casos se ven como estehttps:// www.123456.comAviso que hay una S después de la P e
Entrar en cualquier sitio que puede ser bloqueada - apenas tienen acceso a mi PC

Entrar en cualquier sitio que puede ser bloqueada - apenas tienen acceso a mi PC

en este instructable utilizo una página al azar - yes.google.com acceder a instructables.com cuando se bloquea. Esto es posible debido a la reasignación de dominio.Esta idea está también en el instructivo aquí.Paso 1: Lo que usted necesitaUn PC con W
Editar cualquier sitio web o página web permanentemente

Editar cualquier sitio web o página web permanentemente

Permanentemente editar un sitio web es muy bueno para hacer a alguien tonto.Al igual que había hacer mi tonto cusion de todos modos, tiene dos métodos:mediante el panel de herramientas de desarrolladores del navegador.uso de javascript.Paso 1: Usando
Cómo registro vapor MP3s música de cualquier sitio de Internet

Cómo registro vapor MP3s música de cualquier sitio de Internet

la mayor parte del servicio de música suscribirse a sitios web no ofrecen música descarga función a menos que usted paga para las músicas, como Rhapsody, Pandora, iLike, Leem y así sucesivamente. Así que necesita algunas habilidades técnicas para ayu
Papel coctelera de Harlem

Papel coctelera de Harlem

los Harlem Shake es tan agotador!He sacudida hace casi 3 meses... recto.Momento de entregar la responsabilidad de un tipo de papel que puedo poner en cualquier batidos. El coche, la lavadora, la abuela...Hacer tantos como quieras y deja su mini-me sa
Instructables en tu web o Blog - actualizado!

Instructables en tu web o Blog - actualizado!

Este Instructable muestra cómo puede integrar una lista de enlaces a su Instructables en su sitio web, con formato como en su página de perfil. Se está actualizado automáticamente cada vez que la página se carga y se puede ordenar por views, rating,
La mejor carpintería instructable leerá...

La mejor carpintería instructable leerá...

En los próximos 3 minutos que es.  Como se trata de la primera Instructable he escrito que queria comenzar con algo sencillo y crear en la complejidad desde aquí.  Realmente el escritorio he construido en el Instructable siguiente fue diseñado especí
Autodesk adquiere Instructables: Qué significa para los fabricantes de

Autodesk adquiere Instructables: Qué significa para los fabricantes de

este mi artículo solo publicado en hacer "Autodesk adquiere Instructables: lo que significa para los fabricantes"La gran novedad esta semana fue "Autodesk adquiere Instructables." Me ha tomado unos días de pensar realmente acerca de es
Cómo encontrar un gran director de Instructables.com

Cómo encontrar un gran director de Instructables.com

Es un trabajo grande: no estamos hablando acerca de cualquier sitio web viejo, estamos hablando de una comunidad, Curiosa, extravagante, fuera de las líneas gente apasionada por explorar el mundo que les rodea y compartir lo que aprenden en el camino
Haz videos gratis y juegos de cualquier página web en flash

Haz videos gratis y juegos de cualquier página web en flash

- Nota: no soy responsable de qué apuros ilegales o problemas entrar mediante el uso de este instructable es sólo para fines informativos.en este instructable le mostraré cómo obtener videos y juegos flash de cualquier sitio en internet explorerPaso
Cómo entrar en el concurso de útil coser Instructables y Etsy

Cómo entrar en el concurso de útil coser Instructables y Etsy

Resultados del concurso están arriba!Introducción:¡ Bienvenido a la página del concurso coser útil! Etsy y Instructables se han asociado para lanzar el concurso coser útil para celebrar nuestras dos comunidades. Participantes se llevar sus conocimien
Encontrar la dirección IP de un sitio web utilizando el símbolo del sistema

Encontrar la dirección IP de un sitio web utilizando el símbolo del sistema

este Instructable le mostrará cómo encontrar la dirección IP de cualquier sitio web que desee y encontrar de donde proviene la IP.Y con este método en lugar de hacer ping a la dirección muestra la velocidad de conexión más rápida entre conexiones de
Broma día de los inocentes, cómo a bloque sitios web de redes sociales

Broma día de los inocentes, cómo a bloque sitios web de redes sociales

este instructable le mostrará cómo bloquear los medios de comunicación social o cualquier sitio web como una broma del día de los inocentes, o para mantener sus trabajadores honestos y productivos mientras en el trabajo