Máquina expendedora de emoji

23

¿No puedes ver emoji? Haga clic aquí .

Simulará una máquina expendedora. Los elementos son 56 emojis diferentes, que se pueden representar como dos caracteres UTF-8 sustitutos, desde: 🍅 (U + D83C U + DF45) hasta 🍼 (U + D83C U + DF7C). En HTML, estos emojis se pueden representar en forma UTF-16 como & # x1F345 a través de & # x1F37C . En la base 10, el primer personaje UTF-8 tiene el valor 55356 . El valor del segundo carácter varía de 57157 a 57212 . Aquí hay un programa CJam que genera todos los emojis relevantes. Para evitar confusiones, este desafío se puntuará en caracteres, no en bytes . Algunos emojis son de 2 caracteres, algunos son de 3. http://www.lettercount.com le dará un recuento preciso para este desafío.

Precios 💵💵💵

Hay 8 categorías de precios diferentes:

  • $ 1.00: 🍅🍆🍇🍈🍉🍊🍋
  • $ 1.50: 🍌🍍🍎🍏🍐🍑🍒
  • $ 2.00: 🍓🍔🍕🍖🍗🍘🍙
  • $ 2.50: 🍚🍛🍜🍝🍞🍟🍠
  • $ 3.00: 🍡🍢🍣🍤🍥🍦🍧
  • $ 3.50: 🍨🍩🍪🍫🍬🍭🍮
  • $ 4.00: 🍯🍰🍱🍲🍳🍴🍵
  • $ 4.50: 🍶🍷🍸🍹🍺🍻🍼

Mostrar la máquina expendedora

Esto es lo que ve el usuario cuando se inicia el programa y después de realizar una compra. Puede usar números regulares en lugar de números emoji, pero los números emoji tienen el beneficio de ser del mismo ancho que otros emojis. Si usa números emoji, puede restar 14 caracteres de su puntaje, porque los números emoji son de 3 caracteres cada uno.

  1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣
A 🍅🍆🍇🍈🍉🍊🍋
B 🍌🍍🍎🍏🍐🍑🍒
C 🍓🍔🍕🍖🍗🍘🍙
D 🍚🍛🍜🍝🍞🍟🍠
E 🍡🍢🍣🍤🍥🍦🍧
F 🍨🍩🍪🍫🍬🍭🍮
G 🍯🍰🍱🍲🍳🍴🍵
H 🍶🍷🍸🍹🍺🍻🍼 

Si el usuario ingresa, G5selecciona 🍳. Al ingresar se E6selecciona 🍦.

Agregar efectivo 💸💸💸

Para agregar dinero, el usuario debe ingresar /y luego el código de una moneda o billete. Las monedas son (N) ickel ($ 0.05), (D) ime ($ 0.10) y (Q) uarter ($ 0.25). Los billetes son (O) ne ($ 1.00), (F) ive ($ 5.00), (T) en ($ 10.00). Cada vez que el usuario agrega un billete o una moneda, el programa debe salir Balance: [New Balance]. Solo se puede agregar un billete o moneda cada vez. Aquí hay un ejemplo que contiene tres líneas de entrada:

/D
Balance: $0.10
/Q
Balance: $0.35
/F
Balance: $5.35

Seleccionar elementos

El usuario selecciona un artículo ingresando el código del artículo, como B2o C3. Si el usuario no ha agregado dinero, el programa debería salir Item Cost: [Cost of Item]. Si el usuario ha agregado dinero, pero no es suficiente para comprar el artículo, la salida debería serlo Insufficient Funds. Item Cost: [Cost of Item]. Si el usuario no poner suficiente dinero, el programa debe ser la salida: Item at [Item Location] Purchased. Remaining Balance: [Balance - Cost of Item]. Luego, en su propia línea, imprima el emoji del artículo comprado. Luego imprima toda la máquina expendedora (consulte "Visualización de la máquina expendedora") con el artículo comprado reemplazado por 🚫 (U + D83D U + DEAB) Base 10: (55357 57003).

Finalizando el programa

Si el usuario compra un artículo que reduce su saldo a $ 0.00, el programa debería finalizar automáticamente. Alternativamente, si el usuario ingresa "Listo" en cualquier momento, el programa debe darle al usuario el saldo restante en cambio. El cambio debe ser solo en níqueles, monedas de diez centavos y cuartos, y debe ser la menor cantidad de monedas posible. Por ejemplo, si el saldo restante es $ 1.45, la salida debería ser QQQQQDD.

Ejecución de muestra

(La entrada comienza con "-")

  1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣
A 🍅🍆🍇🍈🍉🍊🍋
B 🍌🍍🍎🍏🍐🍑🍒
C 🍓🍔🍕🍖🍗🍘🍙
D 🍚🍛🍜🍝🍞🍟🍠
E 🍡🍢🍣🍤🍥🍦🍧
F 🍨🍩🍪🍫🍬🍭🍮
G 🍯🍰🍱🍲🍳🍴🍵
H 🍶🍷🍸🍹🍺🍻🍼  
-E1
Item Cost: $3.00
-/F
Balance: $5.00
-E1
Item at E1 Purchased. Remaining Balance: $2.00
🍡 
  1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣
A 🍅🍆🍇🍈🍉🍊🍋
B 🍌🍍🍎🍏🍐🍑🍒
C 🍓🍔🍕🍖🍗🍘🍙
D 🍚🍛🍜🍝🍞🍟🍠
E 🚫🍢🍣🍤🍥🍦🍧
F 🍨🍩🍪🍫🍬🍭🍮
G 🍯🍰🍱🍲🍳🍴🍵
H 🍶🍷🍸🍹🍺🍻🍼
-Done
QQQQQQQQ

Códigos inválidos

  • Si la entrada comienza con /pero no es una entrada de dinero válida, salida Money not Accepted.
  • Si la entrada es un artículo que ya ha sido comprado, salida Item out of stock
  • Si la entrada es una combinación de dígitos y letras que no está dentro del rango (como A0o J2, salida "Código inválido"
  • Para todas las demás entradas no válidas, salida "Error"

Bonificación (-15%): Mermelada

Al vender un artículo, hay un 10% de posibilidades de que la máquina se atasque y el artículo se atasque. Salida JAM!!!una vez. En este caso, el usuario debe ingresar "golpe" o "patada". Cada vez que el usuario lo hace, hay un 20% de posibilidades de que el artículo se libere y se venda normalmente. Hasta que desaparezca el atasco, las únicas entradas reconocidas son "puñetazo" y "patada". Todas las demás entradas no hacen nada. Aquí hay una muestra:

-A4
Item at A4 purchased. Remaining Balance: $1.00
JAM!!!
-punch
-kick
-kick
-punch
-punch
🍚

(El atasco se ha eliminado. Reanude de la forma habitual)

Bonificación (-10%): ID

Si el usuario intenta comprar una bebida alcohólica (cualquier artículo en la última fila, excepto el biberón), debe exigir un comprobante de edad. Para hacerlo, le pide al usuario que multiplique dos números aleatorios entre 13 y 19 (inclusive). Salida ID required: [13-19]x[13-19] = ?. Si el usuario responde correctamente, la compra puede realizarse. Si no, imprima 🔞 (U + D83D U + DD1E) base 10: (55357 56606)

Desafío alternativo: Minecraft

Este desafío parece algo posible en Minecraft. Para crear con éxito una versión de Minecraft de este programa, el jugador debe

  • Tenga una cuadrícula de 8x7 para seleccionar entre 56 artículos únicos
  • Sea capaz de agregar dinero al saldo (tal vez use diferentes tipos de piedras para las diferentes denominaciones descritas anteriormente).
  • Déle al usuario el artículo que él / ella selecciona si ha puesto suficiente "dinero"
  • Devuelva al usuario la cantidad apropiada de cambio al final.

Modo de compatibilidad

  • Solo puedo tomar información al comienzo del programa

    • No se preocupe, puede hacer un programa que tome todas las entradas por adelantado. Si su programa no ha finalizado después de evaluar todas las entradas, suponga que se llama "Listo" al final. Si hace este método, no será elegible para ningún bono.
  • No puedo ver / generar emojis

    • Puede copiar y pegar su entrada y salida en este fragmento de pila (o aquí ). Puede comprender tanto emojis unicode como códigos HTML para emojis. Si su salida se ve correcta en esta página, su programa pasa. Intente pegar algunas de las entradas / salidas de muestra para ver cómo se ve.

function parse() {
var o = document.getElementById("output");
var text = document.getElementById("in").value;
o.innerHTML = text.replace(/\n/g,"<br/>").replace(/ /g,"&nbsp");
twemoji.parse(o);
}
<head>
<script src="//twemoji.maxcdn.com/twemoji.min.js"></script>  
</head>
<body>
<h1>Emoji to Image</h1>
<textarea id="in" rows="10" cols="50"></textarea>
<input type="submit" onclick="parse()">
<div id="output"></div>
</body>

Aquí hay una versión abreviada en modo de compatibilidad de la pantalla de la máquina expendedora que puede probar en el Fragmento de pila:

   &#x31&#x20E3&#x32&#x20E3&#x33&#x20E3&#x34&#x20E3&#x35&#x20E3...
A&#x1F345&#x1F346&#x1F347&#x1F348&#x1F349...
B 
...
  • Puedo generar emojis, pero no STDOUT.

    • Aparentemente, la Terminal Mac OS X es la única que se sabe que puede generar emojis. Si no puede generar emojis en su terminal, sus otras opciones son
      • Enviar toda la salida a un archivo.
      • Mostrar todos los resultados en una ventana.
      • Use la técnica descrita en "No puedo ver / generar emojis".
geokavel
fuente
55
$ can be replaced with your local currencyno tiene mucho sentido si luego requiere que las monedas sean (N) ickels (D) imes y (Q) uarters. Le sugiero que lo elimine, ya que agrega confusión.
Level River St
@steveverrill Buen punto. Lo he cambiado Mi pregunta es, ¿los teclados que no son de EE. UU. Tienen un botón $ o hay un código para ello?
geokavel
el $símbolo es parte del conjunto de caracteres ASCII, por lo que es seguro asumir que casi todos los teclados e idiomas pueden manejarlo. Es el único símbolo de moneda en el conjunto de caracteres ASCII de 7 bits. Como resultado, otros símbolos como el símbolo GBP o el símbolo EUR € pueden representarse incorrectamente debido a codificaciones de cadenas incompatibles, pero prácticamente nunca sucede con $.
Level River St
@steveverrill Sé que pueden manejarlo, pero ¿hay un botón de teclado físico para ello?
geokavel
Mis teclados británico y español lo tienen además de los símbolos de moneda local relevantes, y creo que los demás también. Además de ser el símbolo de moneda más utilizado en el mundo (incluso para muchas monedas que no se llaman dólares), el $símbolo tiene un significado especial en la mayoría de los lenguajes de programación, por lo que no tenerlo disponible en el teclado sería una seria limitación. Estoy escribiendo esto en mi teclado español y en realidad es más fácil obtener $ (shift + 4) que € (alt gr + E) para que pueda ver que este último símbolo se agregó como una ocurrencia tardía.
Level River St

Respuestas:

8

PHP, (1295 - 14) - 25% = 960.75 caracteres

Puntajes antiguos 1315 1351 1361 1295 989 977

Eso fue divertido, y es la primera respuesta, sí.

$i=[A=>[🍅,🍆,🍇,🍈,🍉,🍊,🍋],B=>[🍌,🍍,🍎,🍏,🍐,🍑,🍒],C=>[🍓,🍔,🍕,🍖,🍗,🍘,🍙],D=>[🍚,🍛,🍜,🍝,🍞,🍟,🍠],E=>[🍡,🍢,🍣,🍤,🍥,🍦,🍧],F=>[🍨,🍩,🍪,🍫,🍬,🍭,🍮],G=>[🍯,🍰,🍱,🍲,🍳,🍴,🍵],H=>[🍶,🍷,🍸,🍹,🍺,🍻,🍼]];$p=[A=>1,B=>1.5,C=>2,D=>2.5,E=>3,F=>3.5,G=>4,H=>4.5];$v=[N=>.05,D=>0.1,Q=>.25,O=>1,F=>5,T=>10];a:$m='';$w=$x=0;$q=$c[0];$r=$c[1];$f=fgets;$n=rand;$u=number_format;if('Done'==$c&&$e=1)foreach([Q,D,N]as$_)while($b&&round($b-$v[$_],2)>=0&&$m.=$_)$b-=$v[$_];elseif('/'==$q){$v[$r]?$b+=$v[$r]:$m="Money not accepted
";$m.="Balance: $".$u($b,2);}elseif(in_array($q,range(A,Z))){if(0<$r&&8>$r--&&($_=$p[$q])){$b&&$b<$_?$m="Insufficient funds. ":0;if($b<$_)$m.="Item cost: $".$u($_,2);elseif(👾==$i[$q][$r])$m="Item out of stock.";else{$t=0;if(H==$q&&$r<6){$t=$n(13,19);$s=$n(13,19);echo"ID required: {$t}x$s = ?
";if($f(STDIN)!=$t*$s)$m=🔞;else$t=0;}if(!$t){$b-=$_;if(1>$n(0,9)){$w=1;}$x=$i[$q][$r];$m="Item at $c purchased. Remaining balance: $".$u($b,2).($w?"":"
$x");$i[$q][$r]=👾;if(!$b)$e=1;}}}else$m="Invalid code";}if($c&&!$m&&!$e)$m=Error;system(clear);echo"  1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣";foreach($i as$k=>$_){echo"
$k ";foreach($_ as$_)echo"$_ ";}echo"
$m
";if($w){echo"JAM!!!
";for(;$c!=kick&&$c!=punch||7>$n(0,9);$c=trim($f(STDIN)));echo"$x
";}$e?exit:$c=trim($f(STDIN));goto a;

Como las máquinas expendedoras me recuerdan los años 90 que usaba gotoy para los artículos comprados se muestra el Space Invader 👾 . La máquina se vuelve a dibujar después de cada comando.

Sin golf (de alguna manera)

$i=[A=>[🍅,🍆,🍇,🍈,🍉,🍊,🍋],B=>[🍌,🍍,🍎,🍏,🍐,🍑,🍒],C=>[🍓,🍔,🍕,🍖,🍗,🍘,🍙],D=>[🍚,🍛,🍜,🍝,🍞,🍟,🍠],E=>[🍡,🍢,🍣,🍤,🍥,🍦,🍧],F=>[🍨,🍩,🍪,🍫,🍬,🍭,🍮],G=>[🍯,🍰,🍱,🍲,🍳,🍴,🍵],H=>[🍶,🍷,🍸,🍹,🍺,🍻,🍼]];
$p=[A=>1,B=>1.5,C=>2,D=>2.5,E=>3,F=>3.5,G=>4,H=>4.5];
$v=[N=>.05,D=>0.1,Q=>.25,O=>1,F=>5,T=>10];

a:
$m='';
$w=$x=0;
$q=$c[0];
$r=$c[1];
$f=fgets;
$n=rand;
$u=number_format;

if('Done'==$c&&$e=1)
    foreach([Q,D,N]as$_)
        while($b&&round($b-$v[$_],2)>=0&&$m.=$_)
            $b-=$v[$_];
elseif('/'==$q){
    $v[$r]?$b+=$v[$r]:$m="Money not accepted
";
    $m.="Balance: $".$u($b,2);
}elseif(in_array($q,range(A,Z))){
    if(0<$r&&8>$r--&&($_=$p[$q])){
        $b&&$b<$_?$m="Insufficient funds. ":0;
        if($b<$_)$m.="Item cost: $".$u($_,2);
            elseif(👾==$i[$q][$r])
                $m="Item out of stock.";
            else{
                $t=0;
                if(H==$q&&$r<6){
                    $t=$n(13,19);
                    $s=$n(13,19);
                    echo"ID required: {$t}x$s = ?
";
                    if($f(STDIN)!=$t*$s)
                        $m=🔞;
                    else
                        $t=0;
                }
                if(!$t){
                    $b-=$_;
                    if(1>$n(0,9)){
                        $w=1;
                    }
                    $x=$i[$q][$r];
                    $m="Item at $c purchased. Remaining balance: $".$u($b,2).($w?"":"
$x");
                    $i[$q][$r]=👾;
                    if(!$b)$e=1;
                }
            }
    }else
        $m="Invalid code";
}

if($c&&!$m&&!$e)$m=Error;

system(clear);
echo"  1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣";
foreach($i as$k=>$_){
    echo"
$k ";
    foreach($_ as$_)
        echo"$_ ";
}
echo"
$m
";

if($w){
    echo"JAM!!!
";
    for(;$c!=kick&&$c!=punch||7>$n(0,9);$c=trim($f(STDIN)));
    echo"$x
";
}

$e?exit:$c=trim($f(STDIN));
goto a;

👾 Probado en OS X con PHP 5.5 y 5.6 👾


Ediciones

  • Se agregaron 12 bytes . Salida fija Doney golf algunas cuerdas.
  • Adicional 306 bytes . Se corrigieron uno o dos errores y se agregó soporte para las bonificaciones. Con los bonos ahora es casi 15 bytes más corto.
  • Adicional 66 bytes . Tenía que formatear el dinero de manera diferente, también tenía que aceptar más valores ( [A-Z][0-9]) para Invalid code.
  • Salvado 10 bytes . Encontré un espacio en blanco y convirtió algunos .=en =aplicables.
  • Salvado 36 bytes debido a alguna refactorización.
  • Ahorró 20 bytes refactorizando algunos bucles y asignaciones.
insertusernamehere
fuente
¡Vaya, fue muy divertido jugarlo! El único problema que noté: es necesario formatear precios como 3 y 3.5 en $ 3.00 y $ 3.50.
geokavel
Además, cuando escribo J5, debería recibir el mensaje: "Código no válido".
geokavel
@geokavel Gracias por tus comentarios. He agregado el formato de dinero correcto y también acepta más variantes por Invalid codeahora. Es un desafío divertido, a pesar de que tiene muchas opciones ... 1K personajes hablan por sí mismos ... :)
insertusernamehere
¡Felicidades, por un margen estrecho, eres el ganador! ¡Gracias a ambos jugadores por ser competidores dignos, y por tratar fervientemente de jugar golf!
geokavel
@geokavel Fue un desafío divertido y un lindo ping pong entre Stephan y yo. Si a alguien se le ocurre una solución más corta en el futuro, yo estaré allí. ;)
insertusernamehere
5

C # 6 (.Net Framework 4.6), 1356 1324 1304 1311 1307 1238 1235 1231 1220 Letras - 14 Letras (Números Emoji) - (15% Bono Jam + 10% Bono ID) = 1017 993 978 972.75 969.75 918 915.75 904.5 Letras

using h=System.Console;class c{static void Main(){double b=0,z,p,x=0,i=57157,j,n,r,c,m;var a=1==0;var d=new System.Collections.Hashtable();for(;i<57213;)d.Add(x++,""+(char)55356+(char)i++);for(var e=new System.Random();;){for(w("  1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣"),x=0;x<8;x++,w(""))for(h.Write((char)('A'+x)),i=0;i<7;)h.Write(" "+d[x*7+i++]);for(;;){var k=h.ReadLine();if(k[0]==47){var l=k[1];z=b;b+=l=='N'?.05:l=='D'?.1:l=='Q'?.25:l=='O'?1:l=='F'?5:l=='T'?10:0;a=a|z!=b;w(z!=b?$"Balance {b:0.00}":"Money not Accepted");}else{if(k=="Done"){for(;b/.25>=1;b-=.25)h.Write("Q");for(;b/.1>=1;b-=.1)h.Write("D");for(;b/.05>=1;b-=.05)h.Write("N");return;}r=k[0]-65;c=k[1]-49;if(r<0|r>7|c<0|c>6)w("Invalid code");else{p=1+r/2;if(!a|p>b)w($"{(a&p>b?"Insufficient Funds. ":"")}Item Cost: ${p:0.00}");else{m=r*7+c;if(d[m]=="🚫")w("Item out of stock");else{if(r>6&c<6){j=e.Next(13,20);n=e.Next(13,20);w($"ID required: {j}x{n} = ?");if(int.Parse(h.ReadLine())!=j*n){w("🔞");break;}}b-=p;w($"Item at {k} Purchased. Remaining Balance: ${b:0.00}");if(e.Next(10)==1)for(w("Jam!!!");;){var f=h.ReadLine();if((f=="punch"|f=="kick")&e.Next(10)<2)break;}w(""+d[m]);d[m]="🚫";if(b==0)return;break;}}}}}}}static void w(string s)=>h.WriteLine(s);}

un poco más sin golf para usar en LinqPad 5 (C # 6). Use h = System.Console en F4.

void Main()
{
    double b=0,z,p,x=0,i=57157,j,n,r,c,m;
    var a = 1==0;
    var d = new Hashtable();
    for (; i < 57213;) d.Add(x++, ""+(char)55356 + (char)i++);
    for (var e = new Random(); ;)
    {
        for (w("  1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣"), x = 0; x < 8; x++, w(""))
            for (h.Write((char)('A' + x)), i = 0; i < 7;)
                h.Write(" " + d[x * 7 + i++]);

        for (; ;)
        {
            var k = h.ReadLine();
            if (k[0] == 47)
            {
                var l = k[1];
                z = b;
                b += l == 'N' ? .05 : l == 'D' ? .1 : l == 'Q' ? .25 : l == 'O' ? 1 : l == 'F' ? 5 : l == 'T' ? 10 : 0;
                a = a|z!=b;
                w(z != b ? $"Balance {b:0.00}" : "Money not Accepted");
            }
            else
            {
                if (k == "Done")
                {
                    for (; b / .25 >= 1; b -= .25) h.Write("Q");
                    for (; b / .1 >= 1; b -= .1) h.Write("D");
                    for (; b / .05 >= 1; b -= .05) h.Write("N");
                    return;
                }
                r = k[0] - 65;
                c = k[1] - 49;
                if(r<0|r>7|c<0|c>6)w("Invalid code");
                else
                {
                    p = 1 + r / 2;
                    if (!a | p > b) w($"{(a&p>b?"Insufficient Funds. ":"")}Item Cost: ${p:0.00}");
                    else
                    {
                        m = r * 7 + c;
                        if (d[m] == "🚫")
                            w("Item out of stock");
                        else
                        {
                            if (r > 6 & c < 6)
                            {
                                j = e.Next(13, 20);
                                n = e.Next(13, 20);
                                w($"ID required: {j}x{n} = ?");
                                if (int.Parse(h.ReadLine()) != j * n)
                                {
                                    w("🔞");
                                    break;
                                }
                            }

                            b -= p;
                            w($"Item at {k} Purchased. Remaining Balance: ${b:0.00}");
                            if (e.Next(10) == 1)
                                for (w("Jam!!!"); ;)
                                {
                                    var f = h.ReadLine();
                                    if ((f == "punch" | f == "kick") & e.Next(10) < 2)
                                        break;
                                }
                            w(""+d[m]);
                            d[m] = "🚫";
                            if (b == 0) return;
                            break;
                        }
                    }
                }
            }
        }
    }
}

void w(string s)=>h.WriteLine(s);

editar: gracias por la sugerencia for (;;);)

editar: Strike !! Mejor que PHP ;-)

editar: Eliminado 24 letras. Todavía queda algo para php.

editar: Se eliminaron 20 letras al cambiar de decimal a doble.

editar: Se eliminaron 7 letras al cambiar a los números de Emoji

editar: Se eliminaron 4 letras al cambiar todo a doble en lugar de una combinación de doble e int.

editar: Se eliminaron 69 letras - se encontró código muerto o_O Mejor entrada C #: D

editar: Se eliminaron 3 letras - se cambió la última instrucción if-else

editar: Se eliminaron 4 letras - se cambió de operadores de cortocircuito (&& y ||) a normal & y |

editar: Se eliminaron 11 letras: se cambió de h.WriteLine a w () con una cadena textual condicional.

Stephan Schinkel
fuente
Se ve bien. Pude probarlo aquí con entrada estática. ¿Hay alguna forma de probarlo en línea o en Mac con entrada dinámica?
geokavel
Puede probarlo con entrada dinámica aquí , aunque los emojis aparecen como ??.
geokavel
El único problema que he encontrado con el tuyo es que el "Código no válido" solo debería aparecer para un combo de números y dígitos que no esté dentro del rango. Todos los errores no especificados deberían generar "Error".
geokavel
en mi camino @insertusernamehere: D
Stephan Schinkel
hey .... lo tengo bajo php :) @insertusernamehere
Stephan Schinkel