Dies ist eine antwortabhängige Herausforderung! Die Reihenfolge der Antworten ist wichtig, und Ihre genaue Aufgabe hängt von der zuletzt veröffentlichten Antwort ab. Möglicherweise möchten Sie die Antworten nach den ältesten sortieren .
Lassen Sie uns einen Code zusammensetzen! Hier sind 1920 zufällige (druckbare ASCII) Zeichen. Betrachten Sie sie als einen großen Haufen unsortierter Puzzleteile, die sich noch in der Schachtel befinden:
L-^=v^Ej2tW8OxNOIecSt4m}tji2O%YRJ;PJ!M|0*oO77$*Rs&2*<c"KI7e%FY^?I=];Y@`x)u)IBk%_a#<E6<yv5O*$kL):
KNGq)2Wa%b)j."(6U|{[UY@`lrCSJ`u0RHX!1z7f,v}n=GvRgkrEZ=YT:4H44bz]iC<](:+FF?Ay'vX~h5QMF)0vaXk1sk@p
Zj).{+l;PBKHABvEP%FnSw>u<_-4B^A>I8Kay&5]vXZJ{fCF]UVZ<!ZpOI$7\Y%`@:%H3wPsX-`/l]ZZ?Q/d`\M<T@'t]zip
{[ovg:6EpCT&'+vU4Heb^;}0AV|?<}M0rAH/^DL"RkT~%$[VUlM]-&We4(P=66},hL~;a`:$'yty.W[g2OWcL~b:Ryj0*eN<
;&-n[F1F=oh0k[NI!xS"]pA@Y;K}'=ekG5yda8J$+`N;:FIx:l,f_LT@sV[]HF@2*vl?|q"GL1j&%e(CyYPqY%3W|@`z}]bp
4_'1Nx{"G2&j6$UWt_#%`sTt2xC}s1P8J<gV24_RWge/aMuyVOjz=zS!1i2s@`Q#@^~@W/[email protected]:g9?J^p;7ju?B\yC5
x,ZApKS5G4}kx_iM)f4/|su>=[{XSV#{,j5Qn3U.v5LF;HXs%DYm4'+efmU;\}f6j$SFCRC`Gsd37:'3$q=bs;lvsW0Yj^:-
I[94@I|.IpR=}4KB4Z0G4>8PR29'L?n\gk,*4X[-%T`\FC)jj0jl_x<xL8E:G2-"3tT8&E}"sE+SH[7jR%@V)a{!m8K>.rAO
2[dq7GX9nrz8p4}^2mn@q|dF%<.Tl8)Dk?O.<UoE(a*k_=4+u!h$^bVd:$jS#EHFh@Z=y=ib^~/~lEJ^SQ3E_t#&^IOov7v8
~j#I#OHgxg{DZDyCsq-(GVq}HbiG,JV?eJ~5wJ;bSt@;3LI!2(6gIT92>}`_dw;YF@ccTIEz\Gu@2(}J2I1"S{R(2niIYPp9
8A3iiP[*!SH2*SN8'`V?w4Ufx2H*Az%{}FlUdH31TJ5{:ge^N91^;9Gj`Uqf'$_|8P"kHR1w.(ASwmN)U-~q"[XcWbqPnns=
d.ZoPJ}$Xc2lA>HN28`(d0y+UAr*sQ=?KE07=\FsVN(#?&hRabS%BVI#<`O$o#4x5ZFFLGDcA4t?&Eh~Z$oBWwNSNv`^;vO'
2&9egng~L#\QkfMG?S/n@%-VA[?f9K&3"V%P#Sv0!D<,GV:Z;3c&zFe^k&^0b7fAjvrbMc^Lq7k$h=YL<h7<0\NK>~Q=uUv)
4cI$.'b-RVS-=rom:=8QR=c>9am-^5F[XGv>E/>|]~\']3{r{kTc?ee1v=;I7]52#NE)~A;}!z>5?hi{5<9FtWH6{VO_Y-Jy
Mw>{l8n#mD,kl'8cG^.7sy=QqU-3~SKGs5(.Ta]:-Vfr'NS$o*q:w6e$&7spk3{CFT'l_hGY0-0Xui*5i^0^fO@6?2IdCn_C
lPKaJ6]0t!u>v8<d'Vby]8kEHh04p(YI)&7w82BrGB3PkI,s+%7ux5)gau`G!8F8hLa4[lfD55Xf3Hqy*-K,?;2'fxH3JWYE
Z.[N`:[K:CY@TzKX4TMXsm{Xbd:B3)Gy[mlwnC$>)z`:k=C\0ho/v{57#+2,*%]>p~vI2^C:2DebJR>.ESw^wd2N<~]O9sOQ
`_yvIw&Ryf%JgT@W(G1wfU3.4G3U}x1jKJzJY\S9n$2~P;F}*eT9UXcTNBTrTs>~0v_Oi.y8ofX6i5u$;'^"q][QhTb*gO[U
n'R0"v1r+9fv;5G7Bg=D:c*a=1@[}7}dYOO{Mz2&@6`jnNq.QcBDM9Dd=R.*=MqZ93#'{AJJFqx<{qb':B!H8ig1L%T\Vuc"
(h$i3`,scX'hqpbw"=nY`*Lu:h1wR{+-`\^3cQkIWfq)3?&p;~pvDW$o7\O|R6rB2{PX.s#G6A.s<OA_,TI_b*&lO@L3KrQv
Der "Boden", auf dem wir rätseln, besteht zunächst nur aus einem 96x20-Raster von Leerzeichen (Codepunkt 0x20). Jede Antwort kann sich um benachbarte Teileblöcke bewegen und bis zu 10 Puzzleteile (Charaktere) auswählen und dem Puzzle hinzufügen, um ein neues Programm zu erstellen. Dieses Programm muss die Nummer Ihrer Antwort ausgeben (fortlaufend nummeriert, beginnend mit 1).
Antworten
Das Wichtigste an dieser Herausforderung ist, dass immer nur eine Person antworten kann und jede Antwort von der vorherigen abhängt .
Es sollte niemals zwei Antworten mit der gleichen Nummer N geben . Wenn zwei Personen gleichzeitig auf ein N antworten , sollte derjenige, der später antwortet (auch wenn es ein paar Sekunden Unterschied sind), seine Antwort gnädig löschen.
Versuchen Sie, die folgenden Schritte einzuhalten, wenn Sie Ihre Antwort veröffentlichen, um den Vorgang etwas reibungsloser zu gestalten:
- Stellen Sie sicher, dass jemand die Richtigkeit der vorherigen Antwort unabhängig überprüft hat (und einen entsprechenden Kommentar hinterlassen hat).
Nehmen Sie den vorherigen "Puzzle-Boden" und "Schachtel mit Stücken". Sie können jeden benachbarten Zeichenblock auf dem Puzzle-Boden als Einheit frei bewegen (Zeichen sind benachbart, wenn sie sich in horizontaler oder vertikaler Richtung berühren). Benachbarte Blöcke können nicht erneut aufgeteilt werden. Beispiele in einem 5x4-Raster:
Last answer: Valid: Invalid: |a bc| |d g | |a bc| | bc | |a bc| | d e | |fa bc| |d e | -or- |d e | -or- | e | | f g| | e | | f g| |f g | |df g | | h | |h | | h | | h | | h |
Im gültigen Beispiel
a
wurde eine Stufe nach unten und rechts verschoben. Derdf
Block wurde nach links oben verschoben. Derbce
Block wurde um 1 nach unten verschoben. Der Block wurdeg
um 2 nach oben und einer nach links verschoben. Derh
Block wurde ganz nach links verschoben.
Im ersten ungültigen Beispieldf
wurde getrennt. In der zweitena
wurde entfernt. Im drittendf
wurde gedreht.Entfernen Sie als nächstes mindestens 1 und bis zu 10 Zeichen aus der "Schachtel mit Stücken" und wählen Sie so viele Leerzeichen auf dem "Puzzle-Boden", die Sie durch diese Zeichen ersetzen. Dies ist Ihr eingereichtes Programm. Bitte geben Sie in Ihrer Antwort sowohl den neuen "Puzzle-Boden" als auch die "Schachtel mit Stücken" an.
Veröffentlichen Sie Ihre Antwort in folgendem Format:
# N. [Language], [number of blocks moved], [number of pieces added] [grid that is your program] ### Remaining pieces: [grid of remaining characters] [notes, explanation, observations, whatever]
Wo
N
ist die Nummer Ihrer Antwort?Dies ist absolut wichtig für die Herausforderung! Ich habe ein Dashboard-Tool für die Herausforderung bereitgestellt, um die Buchhaltung zu vereinfachen, und es basiert auf der obigen Vorlage. (Siehe unten im Beitrag.)
- Bitte fügen Sie die vertikalen Balken an den Seiten des Puzzle-Bodens ein, da ansonsten in Stack Exchange keine leeren Zeilen angezeigt werden. Diese beiden Spalten dürfen niemals als Teil des Codes betrachtet werden.
- Ein anderer Benutzer sollte nun Ihre Eingabe überprüfen und einen Kommentar "Richtigkeit überprüft" hinterlassen, wenn Ihre Antwort allen Regeln entspricht (siehe unten). Wenn dies nicht der Fall ist, sollten sie einen Kommentar hinterlassen, der auf Mängel hinweist. Sie haben dann 15 Minuten Zeit , um diese Probleme zu beheben. Wenn Sie dies nicht tun, wird Ihre Antwort als ungültig erachtet und sollte gelöscht werden. Anderenfalls kann eine Antwort auf die vorherige Antwort gesendet werden. (In diesem Fall können Sie jederzeit eine neue Antwort einreichen.)
Diese Vorschriften mögen ziemlich streng erscheinen, aber sie sind notwendig, um ungültige Antworten irgendwo in der Kette zu vermeiden.
Die Regeln
- Ein Benutzer kann nur eine Antwort pro 4 Stunden senden. (Dies soll verhindern, dass Benutzer die Frage ständig beobachten und so oft wie möglich beantworten.)
- Ein Benutzer darf nicht zwei Antworten hintereinander übermitteln. (zB seit ich Antwort 1 eingereicht habe, kann ich Antwort 2 nicht tun, aber ich könnte 3 tun.)
- Keine Sprache darf mehrmals verwendet werden! Verschiedene Versionen derselben Sprache zählen als dieselbe Sprache. Sprachen gelten als verschieden, wenn sie traditionell mit zwei verschiedenen Namen bezeichnet werden. (Es mag hier einige Unklarheiten geben, aber lass das den Wettbewerb nicht ruinieren.)
- Bearbeiten Sie keine verifizierten Antworten.
Sollte ein Fehler früher in der Kette entdeckt werden (dh nachdem die Folgeantworten gepostet wurden), sollte die beleidigende Antwort gelöscht werden. Allerdings sind alle Antworten , die da sollte geschrieben wurden nicht geändert werden , um dies zu reflektieren.
Ihr Programm muss
N
die Nummer Ihrer Antwort an STDOUT oder die nächstgelegene Alternative senden. Es muss ein vollständiges Programm sein und darf keine REPL-Umgebung annehmen.- Möglicherweise drucken Sie eine nachgestellte Zeile oder nicht.
Lassen M die Anzahl der sein Blöcke Sie für Ihre Antwort bewegt (egal wie weit) und P die Anzahl der Zeichen , die Sie des Rätsels Boden hinzugefügt, wird die Punktzahl Ihrer Antwort sein 10 + N - M - P . Als 5x4 Beispiel, wenn Ihre Antwort den Rätselboden wie folgt geändert hat
|a bc| |a ij | | d e | --> | d bc| | f g| | f eg| | h | | h k|
Ihre Punktzahl wäre 10 + N - 2 - 3 = N + 5 , da zwei Blöcke verschoben (
h
undbce
) und drei Zeichen hinzugefügt (i
,j
undk
) wurden.Der Gewinner ist der Benutzer, der in seinen Antworten die meisten Punkte gesammelt hat. Bei Stimmengleichheit gewinnt der Benutzer mit der neuesten Antwort. Ich werde die letzte Antwort des Gewinners akzeptieren.
- In dem unwahrscheinlichen Fall, dass alle Charaktere aufgebraucht sind, endet die Herausforderung.
Instrumententafel
Hier ist ein kleines Dashboard-Tool, das bei der notwendigen Buchhaltung für diese Art von Herausforderung helfen soll.
Es zeigt den aktuellen Status der Herausforderung an - insbesondere, wenn es widersprüchliche Antworten gibt, wenn eine Antwort überprüft werden muss oder wenn die nächste Antwort veröffentlicht werden kann.
Außerdem wird eine Liste aller verwendeten Sprachen sowie eine Bestenliste aller Benutzer erstellt. Bitte halten Sie sich an das obige Antwortformat, damit das Dashboard die relevanten Zeichenfolgen aus Ihren Antworten auslesen kann. Andernfalls werden Sie möglicherweise nicht in die Bestenliste aufgenommen.
Bitte lassen Sie mich ( idealerweise im Chat ) wissen, wenn Sie Fehler entdecken oder Ideen haben, wie die Nützlichkeit des Tools verbessert werden könnte.
function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentsUrl(e,t){return"http://api.stackexchange.com/2.2/answers/"+e+"/comments?page="+t+"&pagesize=100&order=asc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){$.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(e){answers.push.apply(answers,e.items);if(e.has_more)getAnswers();else{page=1;getFinalComments()}}})}function getFinalComments(){answers=answers.filter(shouldHaveHeading);answers=answers.filter(shouldHaveScore);console.log(answers);$.ajax({url:commentsUrl(answers[0].answer_id,page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(e){comments.push.apply(comments,e.items);if(e.has_more)getAnswers();else process()}})}function shouldHaveHeading(e){var t=false;try{t|=/^(#|<h).*/.test(e.body_markdown);t|=["-","="].indexOf(e.body_markdown.split("\n")[1][0])>-1}catch(n){}return t}function shouldHaveScore(e){var t=false;try{t|=HEADER_REG.test(e.body_markdown.split("\n")[0])}catch(n){}return t}function findDuplicates(e){var t=false;var n={};e.forEach(function(e){var r=e.body_markdown.split("\n")[0].match(NUMBER_REG)[0];if(n[r])t=t||r;n[r]=true});return t}function hasBeenVerified(e,t){var n=false;t.forEach(function(t){n|=/correctness verified/i.test(t.body_markdown)&&e!=t.owner.user_id});return n}function userTimedOut(e){return NOW-e.creation_date*1e3<MSEC_PER_ANSWER}function getAuthorName(e){return e.owner.display_name}function getAnswerScore(e,t,n){e=parseInt(e);t=parseInt(t);n=parseInt(n);return 10+e-t-n}function process(){$("#last-user").append(answers[0].owner.display_name);var e=answers.slice(1).filter(userTimedOut).map(getAuthorName).join(", ");if(e)$("#timed-out-users").append(e);else $("#timed-out-notice").hide();var t=answers[0].body_markdown.split("\n")[0].match(NUMBER_REG)[0];var n=findDuplicates(answers);if(n){var r=$("#status-conflict-template").html();$("#challenge-status").append(r.replace("{{NUMBER}}",n));$("#challenge-status").addClass("conflict")}else if(!hasBeenVerified(answers[0].owner.user_id,comments)){var r=$("#status-verification-template").html();$("#challenge-status").append(r.replace("{{NUMBER}}",t));$("#challenge-status").addClass("verification")}else{var r=$("#status-next-template").html();$("#challenge-status").append(r.replace("{{NUMBER}}",t).replace("{{NEXT}}",parseInt(t)+1));$("#challenge-status").addClass("next")}var i={};var s={};var o=[];answers.forEach(function(e){var t=e.body_markdown.split("\n")[0];var n=$("#answer-template").html();var r=t.match(HEADER_REG)||[0,-1,"",0,0];var u=r[1];var a=r[2];var f=r[3];var l=r[4];var c=getAnswerScore(u,f,l);var h=getAuthorName(e);n=n.replace("{{NAME}}",h).replace("{{NUMBER}}",u).replace("{{LANGUAGE}}",a).replace("{{MOVED}}",f).replace("{{ADDED}}",l).replace("{{SCORE}}",c).replace("{{LINK}}",e.share_link);n=$(n);$("#answers").append(n);i[h]=(i[h]||0)+c;s[h]=(s[h]||0)+1;o.push({lang:a,link:e.share_link})});var u=[];for(var a in i)if(i.hasOwnProperty(a)){u.push({name:a,numAnswers:s[a],score:i[a]})}u.sort(function(e,t){return t.score-e.score});var f=1;u.forEach(function(e){var t=$("#user-template").html();t=t.replace("{{NAME}}",e.name).replace("{{NUMBER}}",f++).replace("{{COUNT}}",e.numAnswers).replace("{{SCORE}}",e.score);t=$(t);$("#users").append(t)});o.sort(function(e,t){return e.lang.localeCompare(t.lang)});o.forEach(function(e){var t=$("#lang-template").html();t=t.replace("{{LANGUAGE}}",e.lang).replace("{{LINK}}",e.link);t=$(t);$("#lang-list").append(t)})}var QUESTION_ID=44966;var ANSWER_FILTER="!*cCFgu5yS6BFQP8Z)xIZ.qGoikO4jB.Ahv_g-";var COMMENT_FILTER="!)Q2B_A497Z2O1kEH(Of5MUPK";var HOURS_PER_ANSWER=4;var MSEC_PER_ANSWER=HOURS_PER_ANSWER*60*60*1e3;var NOW=Date.now();var answers=[],comments=[],page=1;getAnswers();var NUMBER_REG=/\d+/;var HEADER_REG=/(\d+)[.]\s*([^,]*[^,\s])\s*,[^,\d]*(\d+)[^,\d]*,[^,\d]*(\d+)/
body { text-align: left !important} #challenge-status { font-weight: bold; padding: 10px; width: 800px; } #blocked-users { padding: 10px; width: 800px; } .conflict { background: #994343; color: white; } .verification { background: #FFDB12; } .next { background: #75FF6E; } #last-user, #timed-out-users { font-weight: bold; } #answer-list { padding: 10px; width: 350px; float: left; } #leaderboard { padding: 10px; width: 280px; float: left; } #languages { padding: 10px; width: 130px; float: left; } table thead { font-weight: bold; } table td { padding: 5px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="challenge-status"> </div> <div id="blocked-users"> User <span id="last-user"></span> has posted the last answer, and may not post the next one. <div id="timed-out-notice"><span id="timed-out-users"></span> have answered within the last four hours and may not answer again yet. (If a user appears in this list twice, they must have answered twice within four hours!)</div> </div> <div id="answer-list"> <h2>List of Answers (newest first)</h2> <table class="answer-list"> <thead> <tr><td>No.</td><td>Author</td><td>Language</td><td>M</td><td>P</td><td>Score</td></tr> </thead> <tbody id="answers"> </tbody> </table> </div> <div id="leaderboard"> <h2>Leaderboard</h2> <table class="leaderboard"> <thead> <tr><td>No.</td><td>User</td><td>Answers</td><td>Score</td></tr> </thead> <tbody id="users"> </tbody> </table> </div> <div id="languages"> <h2>Languages</h2> <table class="languages"> <tbody id="lang-list"> </tbody> </table> </div> <table style="display: none"> <tbody id="answer-template"> <tr><td>{{NUMBER}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{MOVED}}</td><td>{{ADDED}}</td><td>{{SCORE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table> <table style="display: none"> <tbody id="user-template"> <tr><td>{{NUMBER}}</td><td>{{NAME}}</td><td>{{COUNT}}</td><td>{{SCORE}}</td></tr> </tbody> </table> <table style="display: none"> <tbody id="lang-template"> <tr><td><a href="{{LINK}}">{{LANGUAGE}}</a></td></tr> </tbody> </table> <div id="status-conflict-template" style="display: none"> There is more than one answer with number {{NUMBER}}!<br> Please resolve this conflict before posting any further answer. </div> <div id="status-verification-template" style="display: none"> Answer {{NUMBER}} has not been verified!<br> Please review the answer and post a comment reading "Correctness verified." on the answer if it is valid. Note that this has to be done by a different user than the author of the answer! </div> <div id="status-next-template" style="display: none"> Answer {{NUMBER}} has been verified!<br> You may now post answer {{NEXT}}. </div>
Nützliche Skripte
Hier sind zwei CJam-Skripte für Ihre Bequemlichkeit. Sie können sie im Online-Interpreter ausführen .
- Um die erste und letzte Spalte vom Puzzle-Boden zu entfernen (um den tatsächlichen Code zu erhalten), fügen Sie ihn in STDIN ein und führen Sie ihn aus
qN/1f>Wf<N*
. - Führen Sie den Code aus, um den Code in ein 96 x 20-Rechteck einzufügen und die Spalten mit vertikalen Balken um das Rechteck herum hinzuzufügen
qN/La20*+20<{96S*+96<'|\+'|+}%N*
. Um herauszufinden, welche Zeichen zwischen zwei Antworten aus dem Kästchen entfernt wurden, fügen Sie beide in STDIN ein (ohne eine leere Zeile dazwischen) und führen Sie den Befehl aus
qS-N/20/{:+}%94,\f{\33+c_@\f/:,~-_0<{N"Added character: "@;@N}{*}?}
Es wird auch angezeigt, ob Zeichen hinzugefügt wurden (jedoch nicht wie viele).
Wenn jemand diese als Stack-Snippets neu implementieren möchte, füge ich sie gerne diesem Beitrag hinzu.
quelle
Antworten:
7. GolfScript, 1 verschoben, 1 hinzugefügt
Restliche Stücke:
#
ist ein einzeiliger Kommentar. Dann)
erhöht die 6 bis 7 und die nicht ausgeglichene"
wirkt , um den Rest des Codes Kommentar aus. Wenn das"
wurde angepasst, dann:
würde den Wert zuweisen7
, was auch immer Zeichenfolge kommt , nachdem er, so dass der:"
Teil gültige Syntax ist. Wenn Sie dies getan hätten5:"a"
,"a"
würde das Schreiben tatsächlich5
auf den Stapel statt auf die Zeichenfolge verschoben (das ist eine ernsthafte Magie).In diesem Fall stoppt der Interpreter jedoch, wenn er feststellt, dass das Zitat nicht übereinstimmt.
Getestet mit dem Online-Dolmetscher.
quelle
) :"
2. Vorspiel, 0 bewegt, 2 hinzugefügt
Das Programm sollte im numerischen Ausgabemodus ausgeführt werden.
Restliche Stücke
quelle
15. Schiene, 4 bewegt, 7 hinzugefügt
Reststücke
Hier, hab ein
main
! >: DEsolangs Seite. Ich habe den Dolmetscher benutzt, der unten auf der Seite verlinkt ist.
In Rail ist der Befehlszeiger ein Zug, der Spuren folgt, die aus Befehlen bestehen. Die erste Zeile wird einfach ignoriert (und muss leider enthalten
'main'
), so dass die Schienen rechts unten beginnen. Da ich sie nicht umleite, geht der gesamte Code in diese Richtung und ist effektiv nur:Das heißt, drücken Sie a
9
, drücken Sie a6
, fügen Sie sie hinzu, drucken Sie die Oberseite des Stapels, beenden Sie das Programm.quelle
18. Javascript, 3 bewegt, 10 hinzugefügt
Reststücke:
Mehr Oktalspaß. Hier ist das Test-Snippet:
Code-Snippet anzeigen
quelle
21. Unvanquished (Daemon Engine) Scripting, 2 verschoben, 3 hinzugefügt
Unvanquished ist ein FPS / RTS-Spiel zwischen Menschen und Außerirdischen. Es verfügt auch über ein integriertes Skriptsystem mit Befehlen wie dem Ausführen mathematischer Operationen, Verketten von Zeichenfolgen, Bedingungen, Schleifen einer Variablen über verschiedene Werte und der Möglichkeit, Skripts aus beliebigen Dateien auszuführen. Daher denke ich, dass es als Programmiersprache gültig ist
Restliche Stücke
quelle
~
und ausführenexec <filename>
.6. Pyth, 2 bewegt, 1 hinzugefügt
Restliche Stücke:
Verwendet den alten eingeschränkten Source-Trick, bei dem Pyth nur die erste Zeile seines Source-Codes ausführt (beachten Sie, dass der Online-Interpreter nicht so vorgeht). Jeder Wert in Pyth, der nicht für etwas anderes verwendet wird, wird automatisch gedruckt.
Der
# `.3i
läuftwhile 1
mit einemtry .. except
Block ein. Das`.3
würde 0,3 als Zeichenfolgendarstellung von 0,3 ausgeben, aber es wird ein Leerzeichen vorangestellt, wodurch das Drucken unterdrückt wird. Der Aufruf von i erfordert zwei Argumente, aber es wird eine Nicht-Funktion empfangen, die auch keine Argumente erhält, sodass eine Ausnahme ausgelöst wird und die Schleife unterbrochen wird.quelle
8. CJam, 1 bewegt, 3 hinzugefügt
Reststücke :
Füllt einfach alles in einer Zeichenfolge auf, öffnet es und legt dann 8 auf den Stapel, der automatisch gedruckt wird.
quelle
14.> <>, 3 verschoben, 1 hinzugefügt
Reststücke:
( Esolang Seite für> <> )
Läuft
en;
vertikal. Die erste'
bewirkt, dass eine ganze Reihe von Zeichen in der ersten Zeile hinzugefügt wird, diese werden jedoch ignoriert.quelle
16. Befunge-93, 2 umgezogen, 2 hinzugefügt
Restliche Stücke
quelle
19. Swift, 1 bewegt, 7 hinzugefügt
Reststücke :
Sie können Swift hier online testen
quelle
20. ///, 0 bewegt, 3 hinzugefügt
Reststücke:
Esolangs Seite für ///
quelle
/
. :)[link](...) (version)
immer noch durcheinander sind.26. Balken, 4 bewegt, 5 hinzugefügt
Beam ist ein 2D-Esolang (genau wie> <> oder Marbelous) mit 9 Zeigern, dem Beam, dem Store und 7 Memories.
Restliche Stücke :
Wie es funktioniert
Das Programm folgt einer L-Form von der ersten
i
bis\
zur ersten Reihe, dann nach!
unten und\
dann zurück bis\
undi
.Immer wenn es auf etwas trifft
:
, gibt es den Wert des Strahls aus.+
erhöht diesen Wert.Beim ersten
:
Treffer wird dieser Wert2
gedruckt. Dann wird dieser Wert,3
wenn es trifft!
. Zu diesem Zeitpunkt wird auch der Wert von Store3
. Auf dem Rückweg, wenn er trifftn
, ist der Wert sowohl des Strahls und zu speichern ,4
so dass die Strömung umkehrt zu unterstützen,!
den Wert zu machen6
und5
jeweils diesmal der Fluss gehtn
, geht an:
und druckt6
endet dann ani
. STDOUT hat 2 Zahlen Rücken an Rücken -26
Sie können Beam hier ausprobieren
quelle
1. Ruby, 0 bewegt, 8 hinzugefügt
Reststücke:
Da die ersten beiden nicht leeren Zeilen mit binären Operatoren enden, werden die Zeilen fortgesetzt, sodass der obige Code mit identisch ist
$><<
ist eine golfige Form vonprint
und wird0**0
zufällig1
in Ruby ausgewertet .quelle
3. Unlambda, 1 bewegt, 4 hinzugefügt
Reststücke:
quelle
5. TI-Basic, 0 bewegt, 8 hinzugefügt
Restliche Stücke:
:"
kommentiert den gesamten Code bis zum nächsten:
.quelle
4. Python 2, 3 verschoben, 8 hinzugefügt
Reststücke:
Beachten Sie, dass eine führende Null Oktal bedeutet , aber Oktal 2 trotzdem nur 2 ist.
quelle
9. Perl, 2 bewegt, 1 hinzugefügt
Restliche Stücke
quelle
10. Bash, 0 bewegt, 9 hinzugefügt
Restliche Stücke
quelle
11. TCL, 3 bewegt, 10 hinzugefügt
Reststücke:
quelle
12. Maus, 3 bewegt, 3 hinzugefügt
Reststücke:
Verwenden Sie diesen Interpreter .
quelle
13. PHP, 3 verschoben, 6 hinzugefügt
Reststücke:
Laufen Sie mit
php -r
.quelle
17. Spaltung, 4 bewegt, 2 hinzugefügt
Reststücke:
Esolangs Seite für Fission.
Ich habe keine Möglichkeit gefunden, den Interpreter unter Linux zu kompilieren
arc4random
. So ersetzte ich einfach die Linieatom.dir = (atom.dir + arc4random() % 3 + 3) & 3;
inMirror.cpp
mitassert(false);
.quelle
22. Deadfish x, 0 bewegt, 8 hinzugefügt
Restliche Stücke
( Esolang Seite )
Es ist die Deadfish-Familie, die nichts anderes kann, als Zahlen zu drucken! Im Gegensatz zum Original Deadfish ignoriert Deadfish x ungültige Zeichen (zumindest im Python-Interpreter), weshalb es stattdessen verwendet wurde.
x
ist Inkrement,k
wird ausgegeben,c
ist Quadrat undd
ist Dekrement.echo
hat schon einenc
aber keinen anderen char rausxkd
auf dem board, also habe ich nur den rest hinzugefügt. DasD
fromDisp
setzt den Akku auf Null, aber zum Glück ist das vor demc
.quelle
24. 3var, 1 bewegt, 9 hinzugefügt
Restliche Stücke :
( Esolang Seite für 3var )
Funktioniert Art wie die Deadfish Lösung, sondern ich jede Ziffer einzeln ausdrucken, so dass für eine einfache
iipsp
bedeuteninc inc print square print
.$
ist die mehrzeilige Kommentarsyntax für 3var, während~
es sich um einen einzeiligen Kommentar handelt.quelle
23. Göre, 2 bewegt, 6 hinzugefügt
Restliche Stücke :
Probieren Sie Brat hier
quelle
27. dc, 2 bewegt, 5 hinzugefügt
Reststücke:
Weil ich denke, jemand wird Brainfuck machen wollen, bevor es zu spät ist ...
quelle
25. FALSE, 0 bewegt, 3 hinzugefügt
Ich habe es in diesem Javascript-Interpreter getestet . Ich vermute, die Idee ist, dass es auf die Begegnung mit der aufgibt
#
, die eine while-Schleife bilden soll, wenn sie zwei Blöcken folgt.Restliche Stücke
quelle
L
in den verbleibenden Stücken. Aber da die Herausforderung bereits weitergegangen ist und wir wahrscheinlich nicht inL
Kürze genug davon haben werden (und auch nicht in der Lage sein werden, alle Teile zu verbrauchen), werden wir ohne das weitermachenL
.28. ooRexx, 1 bewegt, 9 hinzugefügt
Restliche Stücke :
ooRexx docs
quelle
29. Mathematica, 4 bewegt, 9 hinzugefügt
Reststücke:
Mathematica-Blockkommentare werden als geschrieben
(* ... *)
.quelle
30. DWScript, 1 verschoben, 9 hinzugefügt
Restliche Stücke :
Einige links . Grundsätzlich hat DWScript auch die gleichen Blockkommentare wie Mathematica und
PrintLn();
druckt.quelle