Introducción
Para aquellos que se preguntan qué es exactamente Befunge , es un lenguaje basado en pila bidimensional creado en 1993 por Chris Pressy. Hice 7 enigmas que deben resolverse en Befunge-93 . Este es un desafío bastante experimental, pero pensé que valía la pena intentarlo :). Puede encontrar una lista completa de todos los comandos utilizados en Befunge-93 aquí .
¿Cómo jugar?
La tarea es un poco como los policías y ladrones sin la policía. Básicamente se trata de descifrar las presentaciones para obtener puntos. Cada rompecabezas contiene signos de interrogación. Estos deben ser reemplazados por cualquier carácter ascii imprimible en el rango 32 - 127
, que incluya espacios en blanco. Vea el siguiente ejemplo:
??????@
Dado es que la salida debe ser hi
. Después de un poco de confusión, podemos descubrir que la solución fue:
"ih",,@
¡Pero! Usted no da la solución. Eso es para la prevención de las trampas. No publicas la solución, sino el hash . El hash se genera con el siguiente fragmento:
String.prototype.hashCode = function() { var namevalue = document.getElementById("inputname").value; var namenumber = 123;for (var character = 0; character < namevalue.length; character++) {namenumber += namevalue.substring(0, 1).charCodeAt(0);}var hash = 123 + namenumber, i, chr, len;if (this.length === 0) {return 0;}for (i = 0, len = this.length; i < len; i++) {chr = this.charCodeAt(i);hash = ((hash << 5) - hash) + chr; hash |= 0; }hash = Math.abs(hash);if ((hash).toString(16).length < 20) {for (var rand = 123; rand < 199; rand++) {hash = hash * rand;if ((hash).toString(16).length >= 20) { break; }}}return (hash).toString(16).substring(2, 12);};function placeHash() { var pretext = document.getElementById("inputhash").value; var resultinghash = pretext.hashCode(); document.getElementById("resulthash").innerHTML = 'Your hash: <span class="hashtext">' + resultinghash + "</span>";}
p {font-family: monospace;color: black;} .hashtext{color: red;font-weight:bold}
<div class="container"><p>Personal hash generator:<p><textarea id="inputhash" placeholder="Your submission" cols="40" rows="4"></textarea><br><textarea id="inputname" placeholder="Your name" cols="40" rows="1"></textarea><br><button class="hashbutton" onclick="placeHash()">Generate Hash!</button><br><p id="resulthash">Your hash:</p></div><!-- Created by Adnan -->
¿Cómo usar el fragmento?
- Primero, pegue la solución en la sección de envío
- En segundo lugar, ingrese su nombre de usuario (nada más, esto se verificará realmente después del límite de tiempo)
- Tercero, presione Generate Hash! para obtener tu hash personal .
- Copie y pegue el hash en su envío.
Los rompecabezas
Rompecabezas 1 (Puntuación: 3)
??
??? ?
??????????
@
Salida (tenga en cuenta el espacio en blanco al final):
1 2 3 4 5 6 7 8 9 10
Puzzle 2 (Puntuación: 3)
???? ?
??????????
?? ?
@
Salida:
abcdefghijklmnopqrstuvwxyz
Puzzle 3 (Puntuación: 5)
?????????
????? ???
? ?
? ? ? ?
?
? ?
?????? ? ?
? ? ?
? ? @
??????? ?
? ?
???? ??
? ??
Salida:
Hello World!
Puzzle 4 (Puntuación: 2)
??????@
Salida (tenga en cuenta el espacio en blanco al final):
123
Puzzle 5 (Puntuación: 5)
?
?????
???@?????
??????
?????????
Salida:
Befunge
Puzzle 6 (Puntuación: 5)
? ? ?
?
??????????
?
?
???????? ??????????????
?????"floG edoC dna selzzuP gnimmargorP "??????
@
Salida:
###################################
Programming Puzzles and Code Golf
###################################
Puzzle 7 (Puntuación: 3)
???? ?????
???????
@???????
Salida:
012345678910
- Este es un desafío de código , ¡la persona con la mayor cantidad de puntos gana!
- En caso de empate, la persona que envió todas las presentaciones primero, gana.
- El último día para la presentación es el 10 de enero UTC . Después de eso, tiene 2 días para publicar la solución completa, con los hash ya incluidos. Estos serán verificados :).
¿Cómo publicar?
Use el siguiente fragmento para publicar su envío:
#N solutions:
Puzzle 1: `[hash 1]`
Puzzle 2: `[hash 2]`
etc.
No es necesario resolver los acertijos en orden. Todos los programas han sido probados aquí y serán utilizados para la verificación.
¡Buena suerte!
?
espacios finales con espacios).