La tua sfida è quella di scrivere un programma per tradurre (inglese) leetspeak / lolspeak / txtspk in inglese normale. Il tuo programma dovrebbe leggere dallo standard input e output allo standard output, a meno che la tua lingua non li supporti.
È possibile utilizzare un file contenente un elenco di parole in lingua inglese, separate da nuove righe. Dovrebbe essere chiamato We si troverà nella stessa directory del programma. (Sui sistemi GNU / Linux e possibilmente su altri, è possibile creare Wun collegamento a /usr/share/dict/words) L'elenco non deve essere in minuscolo, è possibile utilizzarlo per determinare se le parole devono avere maiuscole.
Questo si basa su una domanda ora cancellata pubblicata da Nikos M. che può essere trovata qui . Questo non è un duplicato poiché questa domanda originale è stata chiusa e non ha ricevuto alcuna risposta, perché non c'erano criteri vincenti e l'utente non era disposto a inserirne uno.
punteggio
Il punteggio è un po 'complicato!
il tuo punteggio è
(leet items + bonuses) * 10 / (code length)
Il punteggio più alto vince.
Il tuo programma non deve essere e probabilmente non può essere perfetto, ma più è preciso, più bonus ottiene!
Dal momento che $può significare entrambi se S, ricevi un bonus di 5 punti per oggetto leet per decidere se deve avere una lettera maiuscola (cioè lettere maiuscole all'inizio delle frasi).
Ottieni un ulteriore bonus di 5 punti per elemento leet per l'implementazione di nomi propri (parole che hanno sempre le maiuscole) - il modo in cui funziona è che guardi l'elenco delle parole, rendi l'output in maiuscolo se solo una versione in maiuscolo è presente nel elenco, e se entrambe le versioni sono presenti, indovina.
Se un personaggio ha due significati (ad es. 1Può significare Lo I), ottieni 20 punti per oggetto leet solo per scegliere quelle traduzioni dell'oggetto che rendono vere parole inglesi - usa la lista di parole per questo. Se più di una traduzione di un oggetto leet fa una vera parola inglese, puoi scegliere arbitrariamente una delle traduzioni valide e ottenere comunque il bonus.
Elenco di Leet
Questi sono gli elementi leet che puoi implementare. Non è necessario implementarli tutti, ma più aggiungi, più punti ottieni.
Non puoi mai segnare punti traducendo un oggetto o un personaggio in se stesso. Questa regola ha la precedenza su tutti gli errori che avrei potuto fare nella lista.
È allettante fare un semplice tro s/.../.../g. La vera sfida è determinare quale dei molteplici significati potrebbe e non potrebbe essere corretto, usando la lista di parole.
Leet Items (ognuno di questi aggiunge 1 a leet itemsnella formula)
$ -> s, S (-> c, C 5 -> s, S @ -> a, A 4 -> a, A 3 -> e, E 7 -> t, T + -> t, T # -> h, H il -> il 'd -> ed pwnd -> pwned pwnt -> pwned k, K -> OK kk -> OK 0 [zero] -> o, O y, Y -> perché 4 -> per txt -> testo dafuq -> cosa f ** k / \, ^ -> a, A \ / -> v, V d00d -> amico n00b -> newbie \ / \ / -> w, W 8 -> b, B | _ | -> u, U | - | -> h, H Я -> r, R j00 -> tu joo -> tu vv, VV -> w, W tomoz -> domani | <-> k, K [), |) -> d, D <3 -> amore > <-> x, X 10100111001 -> leet (rappresentazione binaria del 1337) 2 -> anche a ur, UR -> tuo, sei (non c'è bisogno di distinguere correttamente tra i due) u, U -> tu 8 -> -ate-, 8 x, X -> -ks -, - cks- z, Z -> s, S 1 -> i, I, l, L ! -> I, I ,! c, C -> vedi, C, mare b, B -> essere, B, ape [lettera accentata] -> [modulo non accentato] (punteggio 1 per lettera accentata supportata) &, 7 -> e, anned, ant (può essere usato nel mezzo di una parola)
"Leet" più duro: segna 30 punti per leet itemsciascuno
!!! 1 !! 1-> !!!!!!! (traduci 1 in una sequenza di! in!) !!! uno! -> !!!!! ! undici> !!!
Esempi
Questi sono esempi di ciò che un programma che implementa tutti i personaggi leet sopra, e alcuni dei bonus, potrebbe essere in grado di fare:
Frase di esempio: |-|3 15 $|_|(# @ n00b=He is such a newbie
Censura basata su leet: $#!+=s**t
Leet estremo: \/\/ 1 |< 1 P 3 [) 1 A=Wikipedia
-xor suffix: H4X0R=hacker
Leet più estremo: @1\/\/4Y5 p0$+ ur n3VV qu35710nz 1n teh $&80x=Always post your new questions in the sandbox
Punteggio di esempio
Bash, 10 personaggi, 3 oggetti, nessun bonus:
tr 137 let
Questo segna ( 1 * 3 ) * 10 / 10 = 3.
tro s/.../.../g. La sola traduzione di cose del genere costituirebbe una sfida noiosa, quindi dobbiamo premiare le traduzioni migliori che utilizzano l'
sedsceneggiatura.)
sedscript, intendo più di un semplice s/.../.../g, ma un file che viene analizzato ed eseguito da sedsolo. Per quanto la lingua sia concisa, potrebbe essere una lingua giocabile decente ...
sedanche gli script vanno bene e potrebbero essere molto interessanti, potrebbero fare molto bene su questo a causa della breve sintassi di sostituzione, potresti essere in grado di leggere dalla lista di parole, con estensioni GNU o usando sedcome parte di un programma Bash più grande