introduzione
Per chi si chiede cosa sia esattamente Befunge , si tratta di un linguaggio basato su stack bidimensionale realizzato nel 1993 da Chris Pressy. Ho realizzato 7 rompicapo che devono essere risolti in Befunge-93 . Questa è una vera sfida sperimentale, ma ho pensato che valesse la pena provare :). Un elenco completo di tutti i comandi utilizzati in Befunge-93 è disponibile qui .
Come giocare?
Il compito è un po 'come un poliziotto e ladri senza poliziotti. In pratica si tratta solo di infrangere i contributi per ottenere punti. Ogni puzzle contiene punti interrogativi. Questi devono essere sostituiti da qualsiasi carattere ASCII stampabile nell'intervallo 32 - 127
, incluso lo spazio bianco. Vedi il seguente esempio:
??????@
Dato è che l'output deve essere hi
. Dopo qualche enigma, possiamo scoprire che la soluzione era:
"ih",,@
Ma! Lei non dare la soluzione. Questo è per la prevenzione degli imbrogli. Non pubblichi la soluzione, ma l' hash . L'hash viene generato con il seguente frammento:
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 -->
Come usare lo snippet?
- Innanzitutto, incolla la soluzione nella sezione di invio
- In secondo luogo, inserisci il tuo nome utente (nient'altro, questo sarà effettivamente verificato dopo il limite di tempo)
- Terzo, premi Genera hash! per ottenere il tuo hash personale .
- Copia e incolla l'hash nell'invio.
I puzzle
Puzzle 1 (Punteggio: 3)
??
??? ?
??????????
@
Output (notare lo spazio bianco finale):
1 2 3 4 5 6 7 8 9 10
Puzzle 2 (Punteggio: 3)
???? ?
??????????
?? ?
@
Produzione:
abcdefghijklmnopqrstuvwxyz
Puzzle 3 (Punteggio: 5)
?????????
????? ???
? ?
? ? ? ?
?
? ?
?????? ? ?
? ? ?
? ? @
??????? ?
? ?
???? ??
? ??
Produzione:
Hello World!
Puzzle 4 (Punteggio: 2)
??????@
Output (notare lo spazio bianco finale):
123
Puzzle 5 (Punteggio: 5)
?
?????
???@?????
??????
?????????
Produzione:
Befunge
Puzzle 6 (Punteggio: 5)
? ? ?
?
??????????
?
?
???????? ??????????????
?????"floG edoC dna selzzuP gnimmargorP "??????
@
Produzione:
###################################
Programming Puzzles and Code Golf
###################################
Puzzle 7 (Punteggio: 3)
???? ?????
???????
@???????
Produzione:
012345678910
- Questa è una sfida al codice , vince la persona con il maggior numero di punti!
- In caso di pareggio , vince chi ha presentato per primo tutti i contributi.
- L' ultimo giorno per l'invio è il 10 gennaio UTC . Successivamente, hai 2 giorni per pubblicare la soluzione completa, con gli hash già inclusi. Questi saranno verificati :).
Come pubblicare?
Utilizza il seguente frammento per inviare la tua richiesta:
#N solutions:
Puzzle 1: `[hash 1]`
Puzzle 2: `[hash 2]`
etc.
Non è necessario risolvere i puzzle in ordine. Tutti i programmi sono stati testati qui e verranno utilizzati per la verifica.
In bocca al lupo!
?
vuoti finali (nel caso in cui sostituiamo uno spazio vuoto con spazi)?