introduction
Pour ceux qui se demandent exactement ce qu'est Befunge , c'est un langage basé sur une pile bidimensionnelle fabriqué en 1993 par Chris Pressy. J'ai fait 7 casse - tête qui doivent être résolus dans Befunge-93 . C'est un défi assez expérimental, mais j'ai pensé que ça valait le coup :). Une liste complète de toutes les commandes utilisées dans Befunge-93 peut être trouvée ici .
Comment jouer?
La tâche est un peu comme un flic et des voleurs sans les flics. Il s'agit simplement de casser des soumissions afin d'obtenir des points. Chaque puzzle contient des points d'interrogation. Ceux-ci doivent être remplacés par tout caractère ascii imprimable de la plage 32 - 127
, y compris les espaces. Voir l'exemple suivant:
??????@
Étant donné que la sortie doit être hi
. Après quelques énigmes, nous pouvons découvrir que la solution était:
"ih",,@
Mais! Vous ne donnez pas la solution. C'est pour la prévention de la tricherie. Vous ne postez pas la solution, mais le hachage . Le hachage est généré avec l'extrait de code suivant:
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 -->
Comment utiliser l'extrait de code?
- Tout d'abord, collez la solution dans la section de soumission
- Deuxièmement, entrez votre nom d'utilisateur (rien d'autre, cela sera effectivement vérifié après la limite de temps)
- Troisièmement, appuyez sur Générer un hachage! pour obtenir votre hachage personnel .
- Copiez et collez le hachage dans votre soumission.
Les puzzles
Puzzle 1 (Score: 3)
??
??? ?
??????????
@
Sortie (notez les espaces de fin):
1 2 3 4 5 6 7 8 9 10
Puzzle 2 (Score: 3)
???? ?
??????????
?? ?
@
Production:
abcdefghijklmnopqrstuvwxyz
Puzzle 3 (Score: 5)
?????????
????? ???
? ?
? ? ? ?
?
? ?
?????? ? ?
? ? ?
? ? @
??????? ?
? ?
???? ??
? ??
Production:
Hello World!
Puzzle 4 (Score: 2)
??????@
Sortie (notez les espaces de fin):
123
Puzzle 5 (Score: 5)
?
?????
???@?????
??????
?????????
Production:
Befunge
Puzzle 6 (Score: 5)
? ? ?
?
??????????
?
?
???????? ??????????????
?????"floG edoC dna selzzuP gnimmargorP "??????
@
Production:
###################################
Programming Puzzles and Code Golf
###################################
Puzzle 7 (Score: 3)
???? ?????
???????
@???????
Production:
012345678910
- C'est un défi de code , la personne avec le plus de points gagne!
- En cas d'égalité, la personne qui a soumis toutes les soumissions en premier, gagne.
- Le dernier jour de soumission est le 10 janvier UTC . Après cela, vous avez 2 jours pour publier la solution complète, avec les hachages déjà inclus. Ceux-ci seront vérifiés :).
Comment poster?
Utilisez l'extrait de code suivant pour publier votre soumission:
#N solutions:
Puzzle 1: `[hash 1]`
Puzzle 2: `[hash 2]`
etc.
Il n'est pas nécessaire de résoudre les puzzles dans l'ordre. Tous les programmes ont été testés ici et seront utilisés pour la vérification.
Bonne chance!
?
espaces par des espaces)?