Anuncios Google

5. Expresiones

Tutoriales Avanzados Homebrewes

Las expresiones han ido apareciendo en nuestros programas y ahora vamos a entrar en detalle y aprender sobre ellas. Algunas que ya hemos visto son la sentencia if y ">". Crearemos un sencillo programa que haga uso de las expresiones. Este programa se parecerá al anterior pero más detallado. Inicia un nuevo archivo pero no añadas nada de código a menos que te lo pida, al igual que en el anterior tutorial.

Usando expresiones.

Lo primero que veremos serán las expresiones aritméticas, las cuales tan simples que no entraré en detalles. Podemos sumar, restar, etc, con ellas. Ej:

x = 3 + 5 -- Suma
y = 3 - 1 -- Resta
a = 4 * 5 -- Multiplicación
b = 10 / 2 -- División
c = 2 ^ 8 -- Potencia

Recuerda que lo que te he enseñado hará que tengas una base. No te explicaré cada comando. Al igual que aprendes a usar lo que te cuento, serás capaz de buscar información y aplicarla por ti mismo para lo que no te enseño aquí.

El siguiente conjunto de expresiones serán las expresiones relacionales. Las usarás mucho para comparar datos. Estas expresiones devuelven verdadero o falso (lo que se conoce como valores booleanos). Son:

== (igual)
~= (distinto)
< (menor que)
> (mayor que)
<= (menor o igual que)
>= (mayor o igual que)

Podemos usarlas para comprobar cualquier tipo de información. Por ejemplo, si la salud de uno de tus enemigos es cero, ¿no debería morir? O podemos comprobar si tenemos suficiente dinero para comprar una espada nueva. La mayor parte de las veces serán usadas con el siguiente conjunto de expresiones.

Primero mi favorita, la sentencia if. Ésta comprueba si una condición es verdadera y si lo es ejecutará una sección de código. También podemos añadir que si la condición no es verdadera haga otra cosa. Una expresión sencilla de if se escribe:

if <condición> then
<ejecuta código>
end

Ahora un ejemplo de la vida real. Supongamos que tenemos un programa con dos variables, miDinero y Precio. miDinero es la cantidad de dinero que tenemos y el Precio es el precio de lo que queremos comprar. En un juego tendremos que comprobar si tenemos suficiente dinero para comprar algo. Si lo tenemos, debemos restar la cantidad de nuestro dinero y mostrar un mensaje de compra en pantalla. Si no tenemos dinero suficiente entonces mostraremos un mensaje en pantalla diciendo que no hay suficiente dinero para comprarlo. Podría ser algo así:

miDinero = 253
Precio = 100
 
if miDinero > Precio then
miDinero = miDinero - Precio
screen:print(100,100,"Compra realizada",azul)
else
screen:print(100,100,"No hay suficiente dinero",azul)
end

Analicémoslo. Primero, tenemos nuestras variables que nos dicen cuanto dinero tenemos y cuanto cuesta lo que queremos comprar. Luego tenemos nuestra expresión. Esto se reduce a "si 253 > 100 entonces". Pregunta si el valor de la variable miDinero es mayor que el valor de la variable Precio. La siguiente línea tomará el valor de Precio y lo restará del valor miDinero, en otras palabras, 253 - 100, y almacenará el resultado en miDinero. Luego mostramos "Compra realizada" en pantalla. En la siguiente línea tenemos else (si no), el cual es parte del código que se ejecutará en caso de que miDinero NO sea mayor que Precio, y en ese caso mostrará "No hay suficiente dinero" en pantalla. Finalmente, siempre se acaba con la expresión end (fin).

En el ejemplo de arriba, tenemos suficiente dinero para realizar la compra, por lo tanto la sección de código del else no se ejecutará.

Muchas veces no necesitarás usar else, pero en otras muchas necesitarás más de un else. En ese caso usarás elseif. Ej:

miNumero = 4
 
if miNumero == 1 then
screen:print(100,100,"Tu numero de la suerte es 1",azul)
elseif miNumero == 2 then
screen:print(100,100,"Tu numero de la suerte es 2",azul)
elseif miNumero == 3 then
screen:print(100,100,"Tu numero de la suerte es 3",azul)
else
screen:print(100,100,"Tu numero no es muy afortunado!",azul)
end

Este ejemplo comprueba si miNumero es igual a 1, 2 ó 3. Si lo es, mostrará "Tu numero de la suerte es (número)". Pero si miNumero no es igual a 1, 2 ó 3 entonces mostrará "Tu numero no es muy afortunado!". Fíjate que en este ejemplo podría simplificarse el código hasta quedar con un solo else y sin elseif usando if miNumero > 0 and miNumero < 4 then. A continuación aprenderemos la palabra clave and y algunas otras.

Los operadores lógicos pueden usarse para comparar más de una cosa, tal como mencioné antes. Vamos a aprender dos de ellos, and y or. Existe también not.

Digamos que estás haciendo un RPG, quizás algo parecido a Diablo. El jugador de tu juego va a intentar equiparse con una espada Dragon Slayer. Por lo tanto el jugador tiene que ser nivel 20 y ser de la clase Guerrero para poder equiparle con esa espada. Al principio del programa podríamos tener un array que guardara esa información, algo así:

Jugador = { }
Jugador[1] = { nivel = 15, clase = "guerrero", arma = "cuchillo" }

Más tarde en tu código puedes comprobar si el jugador puede equiparse con esa espada, algo así:

if Jugador[1].nivel >= 20 and Jugador[1].clase == "guerrero" then
Jugador[1].arma = "Dragon Slayer"
end

La primera línea comprueba si el nivel del jugador es mayor o igual a 20 y si la clase del jugador es guerrero. Si AMBAS son verdaderas entonces al jugador se le pondrá la Dragon Slayer. Si sólo una es verdadera, la expresión resulta falsa y, por lo tanto, el arma no cambiará. En este caso, la clase del jugador es guerrero pero su nivel es sólo 15, lo que no es mayor o igual que 20. Nuestro jugador no puede usar el arma en el ejemplo. No estás restringido a usar un solo and, por ejemplo puedes usar esto en un programa:

if sombrero == "azul" and camiseta == "rojo" and edad > 15 and estado ~= "Florida" then
screen:print(100,100,"Estas aceptado!",amarillo)
end

El uso de or es exactamente igual excepto que sólo UNA condición tiene que ser verdadera para entrar en el if. Ej:

miCoche = "Mustang"
 
if miCoche == "Corvette" or miCoche == "Mustang" then
screen:print(10,20,"Buen coche!",verde)
end

En el ejemplo se comprueba si miCoche es igual a Corvette o si miCoche es igual a Mustang. Si cualquiera de las dos es verdadera, entonces mostrará "Buen coche!" por pantalla; miCoche no es igual a Corvette pero sí a Mustang, por lo tanto entra en el if.

Ok, ahora vamos a poner esto en acción. Vamos a coger el programa que hicimos en el pasado tutorial y editarlo con cosas nuevas que hemos aprendido aquí. Abre tu archivo si aún lo tienes, si no, no te alarmes, puedes descargarlo de aquí.

En el último tutorial hicimos que la salud del enemigo descendiera en cinco puntos cada vez que presionamos el botón X. En este tutorial vamos a añadir expresiones para hacer que el programa traiga otro enemigo cuando el actual muera. También tenemos que comprobar cuando no queden más enemigos.

Lo primero que vamos a hacer es añadir una variable que nos dirá cual es el enemigo con el que estamos luchando. Asignaremos un número a esa variable. Si te fijas, en nuestro array de enemigos tenemos cinco enemigos indexados por números del uno al cinco. Nos referiremos a esos enemigos con esos números. Añade esta variable justo debajo de la variable "verde" en la parte alta del código:

EnemigoActual = 1

Ahora vamos a añadir código para comprobar si la salud del enemigo actual es cero y si lo es incrementaremos la variable EnemigoActual en uno, pero sólo si el valor de EnemigoActual no es superior a cinco (nuestro último enemigo). Encima de la línea if pad:cross() añade este código:

if Enemigo[EnemigoActual].salud == 0 and EnemigoActual <= 4 then
EnemigoActual = EnemigoActual + 1
end

Fíjate que estamos usando nuestra variable EnemigoActual en vez de un número en nuestro array Enemigo. De esta forma ponemos en la variable EnemigoActual el enemigo adecuado y en cualquier sitio de nuestro código en el que uses el array Enemigo, podemos usar EnemigoActual en vez de tener que comprobar para cada enemigo individual (Enemigo[1], Enemigo[2], etc). Esto hace el código más automático. La variable EnemigoActual no pasará de cinco con la comprobación "<= 4". Esto viene a decir que tenemos que cambiar algunas líneas en nuestro código. Encuentra estas líneas:

screen:print(250,10,"Enemigo Salud: " .. Enemigo[1].salud,verde)
screen:print(250,20,"Enemigo Tipo: " .. Enemigo[1].tipo,verde)

y cámbialas por:

screen:print(250,10,"Enemigo Salud: " .. Enemigo[EnemigoActual].salud,verde)
screen:print(250,20,"Enemigo Tipo: " .. Enemigo[EnemigoActual].tipo,verde)

Ahora automáticamente mostrará la salud y el tipo de enemigo del enemigo correcto. También necesitamos cambiar estas dos líneas:

if pad:cross() and oldpad:cross() ~= pad:cross() and Enemigo[1].salud > 0 then
Enemigo[1].salud = Enemigo[1].salud - 5

por estas otras:

if pad:cross() and oldpad:cross() ~= pad:cross() and Enemigo[EnemigoActual].salud > 0 then
Enemigo[EnemigoActual].salud = Enemigo[EnemigoActual].salud - 5

Para terminar vamos a añadir un poco más de código para mostrar en pantalla "Todos los enemigos estan muertos" si los cinco han sido matados. Coloca este código justo debajo de las líneas screen:print que imprimen la salud y el tipo de enemigo.

if EnemigoActual == 5 and Enemigo[EnemigoActual].salud == 0 then
screen:print(50,100,"Todos los enemigos estan muertos",verde)
end

Este código dice que el número de tu enemigo actual es cinco y su salud es igual a cero entonces muestra por pantalla que todos los enemigos están muertos. Guarda tu código y lánzalo. Presiona el botón X hasta que muera uno de tus enemigos, entonces el siguiente enemigo aparecerá, seguido del siguiente hasta que los cinco hayan muerto.

Espero que esto te haya ayudado a empezar a aprender algunas expresiones.

4.636365
Tu voto: Ninguno Votos totales: 4.6 (33 votos)

Anuncios Google

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de tonivans

EXELENTE

muy buen tuto

ola¡¡ ¿alguien podria poner

ola¡¡ ¿alguien podria poner el comando para que al pulsar un boton vuelva al xmb?

Pues si usas

Pues si usas el LuaPlayerHM el comando es System.Quit() hasta donde yo se creo que allí sirve no se si en otros LuaPlayer se podrán, y revisa el tutorial de Pipagerardo si quieres programar en el LuaPlayerHM 7 te ayudara mucho

Saludos

Imagen de tomy_molina

x en rango de coordenadas

tengo una duda pues ice así un entorno muy sencillo con un ratón y todo . Lo que tenía planeado es cuando pulsara X entre un rango de coordenadas que se limpiara la pantalla y escribiera un mensaje pero no lo dí conseguido , no salta error ni nada pero al pulsar X no pasa nada .

les dejo el code

 

 

--Creamos los Colores.
verde=Color.new(0,255,0)
rojo = Color.new(255,0,0)
blanco = Color.new(255,255,255)
amarillo = Color.new(255,255,0)
negro = Color.new(255,255,255)
turquesa = Color.new(48,214,220)
 
--Variable fecha
 
fecha = os.date("%d/%m/%y %H:%M:%S")
 
 
--Creamos el cursor.
raton1 = Image.load('shell/cursor.png')
 
 
--Array del cursor.
raton = {}
 
raton.y = 230
raton.x = 50
 
fondo=Image.load('shell/fondo.jpg')
imagen=Image.load('shell/superior.png')
 
---------
 
 
 
 
 
 
--Bucle principal
 
while true do
  pad = Controls.read()
  screen:clear()
 
if pad:left() then
     raton.x = raton.x - 1
  end
  if pad:right() then
     raton.x = raton.x + 1
  end
if pad:up() then
     raton.y = raton.y - 1
  end
  if pad:down() then
     raton.y = raton.y + 1
  end
  if pad:cross() and raton.y &gt; 50 and raton.y &lt; 100 and raton.x &gt; 50 and raton.x &lt; 100 then
     screen:clear() 
	 screen:print (100,100,"Muy bien",turquesa)
 
  end
 
 
 
 
screen:blit(0,0,fondo)
screen:blit(0,0,imagen)
 
 
screen:blit(raton.x,raton.y,raton1)
 
 
 
 
screen:print(320,253,fecha, turquesa)
 
 
 
 
 
screen.waitVblankStart()
  screen.flip()
end

Una duda..

Jejej me he montado este juegecillo en el que es imposible perder (básicamente porque no se como jajaja) Si quieren probarlo, cambias de arma dos veces jeje. Espero que me digan si voy por buen camino o no.

-- $$ Mis Variables $$
rojo = Color.new (255, 0, 0)
verde = Color.new (0, 255, 0)
azul = Color.new (0, 0, 255)
fondoforo = Color.new (237, 233, 221)
blanco = Color.new (255, 255, 255)
indefinido1 = Color.new (138, 246, 0)
EnemigoActual = 1
oldpad = Controls.read()

-- $$ Mis Tablas $$
Enemigo = { }
Enemigo[1] = { tipo = "gargola", salud = 100 }
Enemigo[2] = { tipo = "vampiro", salud = 100 }
Enemigo[3] = { tipo = "hombrelobo", salud = 100 }
Enemigo[4] = { tipo = "fantasma", salud = 100 }
Enemigo[5] = { tipo = "zombie", salud = 100 }

Jugador = { }
Jugador[1] = { arma = "Fire Sword", salud = 100, tipo = sheik, nivel = 20 }
Jugador[2] = { arma = "Nunchakus Infernales", salud = 100 }

-- $$ Bucles $$
while true do
pad = Controls.read()
screen:clear()
screen:print(5,10,"Jugador 1 Salud: " .. Jugador[1].salud,rojo)
screen:print(5,20,"Jugador 1 Arma: " .. Jugador[1].arma,blanco)
screen:print(5,30,"Jugador 1 Nivel: " .. Jugador[1].nivel,blanco)
screen:print(250,10,"Enemigo Salud: " .. Enemigo[EnemigoActual].salud,azul)
screen:print(250,20,"Enemigo Tipo: " .. Enemigo[EnemigoActual].tipo,blanco)
if EnemigoActual == 5 and Enemigo[EnemigoActual].salud == 0 then
screen:print(50,100,"Todos los enemigos estan muertos. Nivel 1000 y Espada",verde)
end
if pad:cross() and oldpad:cross() ~= pad:cross() and Enemigo[EnemigoActual].salud > 0 then
Enemigo[EnemigoActual].salud = Enemigo[EnemigoActual].salud - 50
end
if pad:cross() and oldpad:cross() ~= pad:cross() and Enemigo[EnemigoActual].salud > 0 then
Jugador[1].nivel = Jugador[1].nivel + 1
end
if EnemigoActual == 5 and Enemigo[EnemigoActual].salud == 0 then
Jugador[1].nivel = 1000
end
if Jugador[1].nivel >= 30 and Jugador[1].tipo == sheik then
Jugador[1].arma = "Hacha Grande"
end
if Jugador[1].nivel >= 1000 and Jugador[1].tipo == sheik then
Jugador[1].arma = "Espada"
end
if pad:cross() and oldpad:cross() ~= pad:cross() and Enemigo[2].salud >= 0 then 
Jugador[1].nivel = Jugador[1].nivel + 1
end
if Enemigo[EnemigoActual].salud == 0 and EnemigoActual <= 4 then
EnemigoActual = EnemigoActual + 1
end
screen.waitVblankStart()
screen.flip()
oldpad = pad
end

 

alguien q me pueda ayudar

EDITO- ya pude arreglar el error

codigo:

azul = Color.new(0,0,255)
rojo = Color.new(255,0,0)
verde = Color.new(0,255,0)
oldpad = Controls.read()
EnemigoActual = 1
JugadorActual = 1

Enemigo = {}
Enemigo[1] = { arma = "pistola", tipo = "guerrero", salud = 100}
Enemigo[2] = { arma = "pistola", tipo = "guerrero", salud = 100}

Jugador = {}
Jugador[1] = { arma = "metralladora", tipo = "soldado", salud = 100}
Jugador[2] = { arma = "metralladora", tipo = "soldado", salud = 100}

while true do
screen:clear()
pad = Controls.read()

screen:print(5,10, "Enemigo:  " .. Enemigo[EnemigoActual].arma,rojo)
screen:print(5,20, "Enemigo:  " .. Enemigo[EnemigoActual].tipo,rojo)
screen:print(5,30, "Enemigo:  " .. Enemigo[EnemigoActual].salud,rojo)
screen:print(250,10, "Jugador:  " .. Jugador[JugadorActual].arma,azul)
screen:print(250,20, "Jugador:  " .. Jugador[JugadorActual].tipo,azul)
screen:print(250,30, "Jugador:  " .. Jugador[JugadorActual].salud,azul)
if Jugador[JugadorActual].salud == 0 JugadorActual <= 1 then JugadorActual = JugadorActual + 1
end
if Enemigo[EnemigoActual].salud == 0 EnemigActual <= 1 then EnemigoActual = EnemigoActual + 1
end
if pad:cross() and oldpad:cross() ~= pad:cross and Jugador[JugadorActual].salud < 0 then
Jugador[JugadorActual].salud = Jugador[JugadorActual].salud - 3
end
if pad:triangle() and oldpad:triangle() ~= pad:triangle and Enemigo[EnemigoActual].salud < 0 then
Enemigo[EnemigoActual].salud = Enemigo[EnemigoActual].salud - 3
end
if EnemigoActual == 2 and Enemigo[EnemigoActual].salud == 0 then
screen:print(100,100, "Todos los Enemigos estan Muertos",verde)
end
if JugadorActual == 2 and Jugador[JugadorActual].salud == 0 then
screen:print(100,200, "Has perdido te han matado",verde)
end

screen.flip()
screen.waitVblankStart()
oldpad = pad
end

Imagen de pspgorrister

Consejo

Usa el editor de código, así será más fácil encontrar posibles errores.

Un saludo.

ok

gracias, disculpa la tardansa

saludos.

Imagen de Arkanist

una pregunta.

solo hace unas horas que estoy mirando esto de la programacion lua y seguramente me equivoco pero donde sale lo de comprar algo como si fuera un juego de rol. en vez de esto:

miDinero = 253
Precio = 100

if miDinero > Precio then
miDinero = miDinero - Precio
screen:print(100,100,"Compra realizada",azul)
else
screen:print(100,100,"No hay suficiente dinero",azul)
end

 

donde pone:

if miDinero > Precio then

no deberia ser:

if miDinero >= Precio then?? 

porque tambien se podria comprar teniendo el dinero justo no?

decidme si me equivoco :P

 ah y no se porque cuando en los tutoriales tiene que haber una letra con tilde me aparece esto: ó

alguien sabe porque puede ser?

 

Imagen de Guillermo_Cornielle

Buena observacion

Pero dejame decirte, que puede ser de las dos formas, aunque de la forma que tu dices es mas correcta ya que el dinero tienen que ser mayor o igual que el precio, en cambio que en el que dice el tuto tiene que ser obligatoriamente mayor.

Pero en fin, eso depende de ti, tu eres el que crea el juego o aplicación. 


Manual del Perfecto Votante Para un voto libre y justo!.

TheGCProjects

Imagen de Arkanist

ok

ok era solo por saber.

ahora que me he mirado casi todos los tutoriales de la programacion Lua, voy a mirar si puedo hacer yo solo un juego pequeño, para empezar.

Imagen de Guillermo_Cornielle

Ok

Y si tienes alguna duda no dudes en preguntar  Wink.

PD: Pero mejor usa los foros, para que te respondan mas rapido.

Saludos. 

ya le entendi hice 7

ya le entendi

hice 7 monstruos y si salio bien 

una cosa fuera de ~~~~xDDDDDDDD

cuando matas a todos los enemigos te sale el mensajito de has matado a todos los enemigos

y digo yo , como explicaste en otros tutoriales lo mejor es hacer el comando screen:clear para que no se haga un manchurron(en este caso que te sigan saliedo los datos de los  jugadores y los enemigos detras del mensaje de que has matado a todos los enemigos).Yo lo he añadido aquí y me ha dado buen resultado:

 if EnemigoActual <= 5 and Enemigo[EnemigoActual].salud == 0 then
     screen:clear()
     screen:print(50,100,"Todos los enemigos estan muertos",verde)
  end

asi limpias la pantalla justo antes.

saludos

Pd: segun lawikipedia este simbolo "~" se denomina cola de cancho

copio textualmente (en el ultimo párrafo se explica lo que dijo abismo):

"En informática, particularmente en sistemas UNIX, se emplea para identificar al directorio de usuario. Es lo mismo /home/manuel que ~/ para el usuario 'manuel'. Esta notación se ha heredado en la forma de ciertos URL en la web. En DOS
o consola de Windows sirve para indicar uno de los muchos posibles
archivos que tienen el mismo inicio. Recordar que en este sistema los
nombres de archivos sólo usan 8 caracteres para el nombre y 3 para la
extensión, por ejemplo DOCUME~1.txt es el primero de los archivos cuyo
nombre empieza por «docume» y tiene extensión «txt».

Tiene como correspondencia en el código ASCII
126. Para el cuatro que está encima de las teclas alfabéticas puede ser
necesario hacerlo dos veces o hacerlo una vez y pulsar espacio."

 

 

Imagen de yoan03

vale

aqui tengo alguna k mi teclado no tiene

[ = alt + 91 corchete abierto

] = alt + 93 corchete cerrado

{ = alt + 123 la llave abierta

} = alt + 125 la llave cerrado

"" = alt + 34 Las comilla para el texto

< = alt + 60 menor que

> = alt + 62 mayor que

 espero k le sirva de ayuda

Imagen de CLARK

yo si lo tengo

no pues revisando mi teclado yo si tengo ese simbolo esta justo aun lado del enter ~ y si pulso alt +4 me sale un ♦ jajaja k loco bueno ya.XD

Imagen de Ragezort

¿Mejicano? Eso lo

¿Mejicano? Eso lo explicaria. xD


"Cada user en su home y root en la de todos"

 

Slackware Linux 10.2  <- Reality power of Linus Torvalds Kernel

Imagen de CLARK

las configuarciones

que las configuraciones de teclados cambian segun la region? o que onda yo tengo ese problemita la formatear me sale una configuacion muy distinta donde no coinciden los simbolos y tengo k volver a reparar eso .
bueno pero eso ya no importa lo k improta es k el simbolo ya esta disponible XD.

Imagen de ELeNDeR

Me alegra que estéis

Me alegra que estéis aprovechando tan bien el tutorial... jajajaja

Imagen de Ragezort

JuaJuaJua, descubri otra

JuaJuaJua, descubri otra para Linux. Pulsamons Alt GR + Ñ y... Uala : ~


"Cada user en su home y root en la de todos"

Slackware Linux 10.2  <- Reality power of Linus Torvalds Kernel

la pregunta idiota del

la pregunta idiota del dia
¿en que tecla esta esto ~?

Imagen de Miquel Carol

Yo diria

Que segun el codigo ASCII esta en ALT+126. Me explico pulsas ALT y sin soltar en el teclado numerico pulsas 126. Sueltas el ALT y aparecera el caracter. ~


¡anda pues si que es

¡anda pues si que es raro!
por cierto solo me funciona el metodo de abismo, el otro no me va

Imagen de Ragezort

Creo recordar que para

Creo recordar que para Windows "~" es un accento, debes pulsar la convinación y un espacio para que te funcione así.


"Cada user en su home y root en la de todos"

Slackware Linux 10.2  <- Reality power of Linus Torvalds Kernel

Imagen de NITEMAN

No es por corregir

 Pero es Alt Gr (alternativa gráfica) + 4 (manteniendola pulsada pulsar 4) y si no sale soltar y pulsar espacio, es decir, esto --> ~

Salu2 ;) 


Convierte en Vampiro O Hombre Lobo


"El paraí­so a mi derecha, el infierno a mi izquierda y el ángel de la muerte tras de mi."

Imagen de Miquel Carol

Alguien conoce mas modos¿?

Quien da mas!!!! Hay una lerenda urbana que dice que si das 56 vueltas a la torre del PC con una PSP en la mano. Y ulsas alt + numero PI en menos de 20 min sale el simbolito al reves.

Jejeje....GRRRRR no me da tiempo!!!!!!


Imagen de Ragezort

Emms... ¿Cuantas cifras del

Emms... ¿Cuantas cifras del numero PI? Creo que es un nombre IRRACIONAL. xD


 "Cada user en su home y root en la de todos"

 

Slackware Linux 10.2  <- Reality power of Linus Torvalds Kernel

Imagen de cannondale

otra mas!!

otra mas para ~ pulsamos ctrl+alt+4 y ale otra ves ~ ejjejejejje

en cuanto alo de las vueltas me debio de kedar alguna por dar por k se me quedo ladeado el PI jejjejej
xDD

suludos

Imagen de Ragezort

 Alt + 4.

 Alt + 4. xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... Joder ¿cómo puedo saberme la posición de una tecla que no esta ni dibujada en el teclado? Que cosa más curiosa... xD


"Cada user en su home y root en la de todos"

Slackware Linux 10.2  <- Reality power of Linus Torvalds Kernel

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.