update index.html and .winner.json per recent manifest changes

This commit is contained in:
Cody Boone Ferguson committed 2024-01-27 04:44:32 -08:00
1 parent c4477a67d8
commit b06023f330
11 files changed
+260 -141

No files matched your search

+95 -34
View File
@@ -117,25 +117,78 @@ Location: <a href="/temp-test-ioccc/location.html#US">US</a></p>
<!-- END: next line ends content generated by: bin/gen-author.sh --> <!-- END: next line ends content generated by: bin/gen-author.sh -->
<h2 id="to-build">To build:</h2> <h2 id="to-build">To build:</h2>
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> all</span></code></pre></div> <div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt</span></code></pre></div>
<p>NOTE: the purpose of this entry is to escape the dungeon via the <p>We recommend that you try the alternate version first as the original
compiler line where you <strong>get messages as compiler entry requires (for better display) 80 columns and 8 character tabs with
errors</strong>. Depending on the compiler line you will get different wraparound.</p>
error messages and one compiler line will make you win the game!</p> <p>The alt code uses the same logic as the original code except that the
<p>NOTE: your terminal should be set to 80 columns, 8 character tabs, original code used <code>#include</code>s of files that do not exist to
and wraparound.</p> generate the messages (as compiler errors) whereas the alt code uses
<code>printf(3)</code>. For the original entry see <a
href="#original-code">Original code</a> below.</p>
<h2 id="to-use">To use:</h2> <h2 id="to-use">To use:</h2>
<p>There is no running as such. See below.</p> <div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./westley.alt</span></span></code></pre></div>
<h2 id="try">Try:</h2> <p>The purpose of the game is to escape the dungeon. Depending on the
<p>But for something more interesting try compiling it with different cc compiler line you will get a different message when you run the program.
arguments. For example:</p> One compiler line will make you win the game (escape the dungeon) and
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Door</span> westley.c</span> others will show something else.</p>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Drain</span> westley.c</span></code></pre></div> <p><em>This is independent of the previous (if there are any previous)
compiler invocations</em> specified. That means with the right compiler
invocation you can ‘win’ the game on the first go.</p>
<p>There are a variety of different <code>-D</code> flags you give to
<code>cc</code> that change the message you get. You might wish to look
at the <a href="westley.alt.c">source code</a> to get a better idea or
see below in the <a href="#try">Try</a> section for running the game
from start to finish.</p>
<h3 id="try">Try:</h3>
<p>For something more interesting try compiling it with different
<code>cc -D</code> arguments and then run the program each time. For
example:</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Door</span> westley.alt.c <span class="at">-o</span> westley.alt <span class="kw">&amp;&amp;</span> <span class="ex">./westley.alt</span></span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Drain</span> westley.alt.c <span class="at">-o</span> westley.alt <span class="kw">&amp;&amp;</span> <span class="ex">./westley.alt</span></span></code></pre></div>
<p>To see the game from start to finish, try:</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.alt.sh</span></span></code></pre></div>
<h2 id="original-code">Original code:</h2>
<p>The purpose of the game is to escape the dungeon <strong>via the
compiler line where you get <em>messages as compiler
errors</em></strong>. Depending on the compiler line you will get
different error messages and one compiler line will make you win the
game!</p>
<p>NOTE: your terminal should be set to 80 columns, 8 character tabs,
and wraparound. The alternate code does not have this limitation and it
is for this reason that we recommend you try it first.</p>
<h3 id="original-build">Original build:</h3>
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> all</span></code></pre></div>
<p>There are a variety of different <code>-D</code> flags you can give
to <code>cc</code> that change the message you get. You might wish to
look at the <a href="westley.c">source code</a> to get a better idea or
see below in the <a href="#original-try">Original try</a> section for
running the game from start to finish.</p>
<h2 id="original-use">Original use:</h2>
<p>There is no running of this program directly as it is supposed to
fail to compile: the purpose of the game is to escape the dungeon but
depending on the compiler line you will get a different message
(<strong>as compiler errors</strong> due to <code>#include</code> files
not existing). One compiler line will make you win the game (escape the
dungeon) and others will show something else.</p>
<p><em>This is independent of the previous (if there are any previous)
compiler invocations</em> specified. That means with the right compiler
invocation you can ‘win’ the game on the first go. But unlike the <a
href="westley.alt.c">alternate code</a>, you do not run this program as
it will not compile: instead it will be compiler error messages; there
is no running the program.</p>
<h2 id="original-try">Original try:</h2>
<p>For something more interesting try compiling it with different
<code>cc -D</code> arguments:</p>
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Door</span> westley.c</span>
<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Drain</span> westley.c</span></code></pre></div>
<p>To see the game from start to complete, try:</p>
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
<h2 id="judges-remarks">Judges’ remarks:</h2> <h2 id="judges-remarks">Judges’ remarks:</h2>
<p>Not all compiler errors are bad.</p> <p>Not all compiler errors are bad.</p>
<p>For spoilers see the end of the notes from the author below.</p> <p>For spoilers see the end of the notes from the author below.</p>
<p>To use:</p> <p>To use:</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div> <div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
<h2 id="authors-remarks">Author’s remarks:</h2> <h2 id="authors-remarks">Author’s remarks:</h2>
<p>This program, in accordance with the rules, compiles into a legal C <p>This program, in accordance with the rules, compiles into a legal C
program without human intervention. However, it simply compiles into program without human intervention. However, it simply compiles into
@@ -144,7 +197,7 @@ to actually compile the program.</p>
<p>This program is a simple adventure game which uses only C <p>This program is a simple adventure game which uses only C
preprocessor error messages (for missing <code>#include</code> files) as preprocessor error messages (for missing <code>#include</code> files) as
output. To begin, try to compile the program with no options:</p> output. To begin, try to compile the program with no options:</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> westley.c</span></code></pre></div> <div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> westley.c</span></code></pre></div>
<p>This will fail, producing an error message for a missing <p>This will fail, producing an error message for a missing
<code>#include</code> file as the opening description. Your terminal <code>#include</code> file as the opening description. Your terminal
should be set for 80 columns, 8 character tabs, and wraparound, as there should be set for 80 columns, 8 character tabs, and wraparound, as there
@@ -163,7 +216,8 @@ this (text massaged to change wraparound to separate lines):</p>
missing include file name, which functions as the game text.</p> missing include file name, which functions as the game text.</p>
<p>To “do” things, all words must start with <code>-D</code>. For <p>To “do” things, all words must start with <code>-D</code>. For
example, to look at the door, do:</p> example, to look at the door, do:</p>
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Door</span> prog.c</span></code></pre></div> <div class="sourceCode" id="cb11"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Door</span> prog.c</span></code></pre></div>
<p>…and you will get another error message telling you about the door. <p>…and you will get another error message telling you about the door.
(note: some compilers will stop after the first missing include file, (note: some compilers will stop after the first missing include file,
while others will continue to try compiling; the latter will repeat the while others will continue to try compiling; the latter will repeat the
@@ -172,24 +226,25 @@ opening message each time, as if you are playing an adventure game with
<p>The goal of the game is to escape the dungeon.</p> <p>The goal of the game is to escape the dungeon.</p>
<p>Here is a walk-through for the game, including a few dead-ends:</p> <p>Here is a walk-through for the game, including a few dead-ends:</p>
<h3 id="spoiler">SPOILER</h3> <h3 id="spoiler">SPOILER</h3>
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Door</span> westley.c</span> <div class="sourceCode" id="cb12"><pre
<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Drain</span> westley.c</span> class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Door</span> westley.c</span>
<span id="cb7-3"><a href="#cb7-3" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Dwarf</span> westley.c</span> <span id="cb12-2"><a href="#cb12-2" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Drain</span> westley.c</span>
<span id="cb7-4"><a href="#cb7-4" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Debris</span> westley.c <span class="co"># or -Dungeon</span></span> <span id="cb12-3"><a href="#cb12-3" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Dwarf</span> westley.c</span>
<span id="cb7-5"><a href="#cb7-5" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Desk</span> westley.c</span> <span id="cb12-4"><a href="#cb12-4" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Debris</span> westley.c <span class="co"># or -Dungeon</span></span>
<span id="cb7-6"><a href="#cb7-6" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Dime</span> westley.c</span> <span id="cb12-5"><a href="#cb12-5" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Desk</span> westley.c</span>
<span id="cb7-7"><a href="#cb7-7" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Directory</span> westley.c</span> <span id="cb12-6"><a href="#cb12-6" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Dime</span> westley.c</span>
<span id="cb7-8"><a href="#cb7-8" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Dial</span> <span class="at">-DUNgeon0614</span> westley.c</span> <span id="cb12-7"><a href="#cb12-7" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Directory</span> westley.c</span>
<span id="cb7-9"><a href="#cb7-9" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Drink</span> <span class="at">-Daiquiri</span> westley.c</span> <span id="cb12-8"><a href="#cb12-8" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Dial</span> <span class="at">-DUNgeon0614</span> westley.c</span>
<span id="cb7-10"><a href="#cb7-10" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Drop</span> <span class="at">-Daiquiri</span> westley.c</span> <span id="cb12-9"><a href="#cb12-9" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Drink</span> <span class="at">-Daiquiri</span> westley.c</span>
<span id="cb7-11"><a href="#cb7-11" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Drop</span> <span class="at">-Dwarf</span> <span class="at">-Daiquiri</span> westley.c <span class="co"># or -Drop -Down -Daiquiri</span></span> <span id="cb12-10"><a href="#cb12-10" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Drop</span> <span class="at">-Daiquiri</span> westley.c</span>
<span id="cb7-12"><a href="#cb7-12" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Document</span> westley.c</span> <span id="cb12-11"><a href="#cb12-11" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Drop</span> <span class="at">-Dwarf</span> <span class="at">-Daiquiri</span> westley.c <span class="co"># or -Drop -Down -Daiquiri</span></span>
<span id="cb7-13"><a href="#cb7-13" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Depress</span> <span class="at">-Dotted</span> <span class="at">-Dog</span> westley.c</span> <span id="cb12-12"><a href="#cb12-12" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Describe</span> <span class="at">-Document</span> westley.c</span>
<span id="cb7-14"><a href="#cb7-14" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Depress</span> <span class="at">-Dalmatian</span> westley.c <span class="co"># also accepts &quot;Dalmation&quot; [sic]</span></span> <span id="cb12-13"><a href="#cb12-13" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Depress</span> <span class="at">-Dotted</span> <span class="at">-Dog</span> westley.c</span>
<span id="cb7-15"><a href="#cb7-15" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Deposit</span> <span class="at">-Dime</span> westley.c</span> <span id="cb12-14"><a href="#cb12-14" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Depress</span> <span class="at">-Dalmatian</span> westley.c <span class="co"># also accepts &quot;Dalmation&quot; [sic]</span></span>
<span id="cb7-16"><a href="#cb7-16" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Drop</span> <span class="at">-Donut</span> westley.c</span> <span id="cb12-15"><a href="#cb12-15" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Deposit</span> <span class="at">-Dime</span> westley.c</span>
<span id="cb7-17"><a href="#cb7-17" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Drop</span> <span class="at">-Donut</span> <span class="at">-Down</span> <span class="at">-Drain</span> westley.c <span class="co"># or -Drop -Dwarf -Donut</span></span> <span id="cb12-16"><a href="#cb12-16" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Drop</span> <span class="at">-Donut</span> westley.c</span>
<span id="cb7-18"><a href="#cb7-18" aria-hidden="true" tabindex="-1"></a><span class="co"># (at this point, you win!)</span></span></code></pre></div> <span id="cb12-17"><a href="#cb12-17" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Drop</span> <span class="at">-Donut</span> <span class="at">-Down</span> <span class="at">-Drain</span> westley.c <span class="co"># or -Drop -Dwarf -Donut</span></span>
<span id="cb12-18"><a href="#cb12-18" aria-hidden="true" tabindex="-1"></a><span class="co"># (at this point, you win!)</span></span></code></pre></div>
<p>Note that the game has no real state information; you can type these <p>Note that the game has no real state information; you can type these
commands in any order, at any time. Also note that word order is commands in any order, at any time. Also note that word order is
unimportant.</p> unimportant.</p>
@@ -215,9 +270,15 @@ href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1994/westley/west
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1994/westley/Makefile">Makefile</a> href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1994/westley/Makefile">Makefile</a>
- winner Makefile</li> - winner Makefile</li>
<li><a <li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1994/westley/westley.alt.c">westley.alt.c</a>
- alternative source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1994/westley/westley.orig.c">westley.orig.c</a> href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1994/westley/westley.orig.c">westley.orig.c</a>
- original source</li> - original source</li>
<li><a <li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1994/westley/try.alt.sh">try.alt.sh</a>
- how to run alternative code</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1994/westley/try.sh">try.sh</a> href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1994/westley/try.sh">try.sh</a>
- how to run</li> - how to run</li>
<li><a href="1994_westley.tar.bz2">1994_westley.tar.bz2</a> - download <li><a href="1994_westley.tar.bz2">1994_westley.tar.bz2</a> - download
+5 -1
View File
@@ -120,8 +120,12 @@ Location: <a href="/temp-test-ioccc/location.html#US">US</a></p>
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div> <div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
<h2 id="to-use">To use:</h2> <h2 id="to-use">To use:</h2>
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./eastman</span></span></code></pre></div> <div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./eastman</span></span></code></pre></div>
<p>NOTE: to restore your cursor in your shell, try
<code>reset</code>.</p>
<h2 id="try">Try:</h2> <h2 id="try">Try:</h2>
<p>Quit the program. Resize your terminal window. Run it again.</p> <p>Run the program. Quit it (ctrl-c/intr). Resize your terminal window.
Run it again. Try doing this a number of times with different sizes each
time.</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./eastman</span></span></code></pre></div> <div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./eastman</span></span></code></pre></div>
<p>NOTE: to restore your cursor in your shell, try <p>NOTE: to restore your cursor in your shell, try
<code>reset</code>.</p> <code>reset</code>.</p>
+7 -1
View File
@@ -125,7 +125,7 @@ href="/temp-test-ioccc/location.html#US">US</a></p>
<p>For more detailed information see <a <p>For more detailed information see <a
href="/bugs.md#2011-richards">2011 richards in bugs.md</a>.</p> href="/bugs.md#2011-richards">2011 richards in bugs.md</a>.</p>
<h2 id="to-use">To use:</h2> <h2 id="to-use">To use:</h2>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./richards</span></span></code></pre></div> <div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
<h2 id="try">Try:</h2> <h2 id="try">Try:</h2>
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> <span class="st">&#39;10 9 8 7 6 5 4 3 2 1*p*p*p*p*p*p*p*p*p&#39;</span> <span class="kw">|</span> <span class="ex">./richards</span></span> <div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> <span class="st">&#39;10 9 8 7 6 5 4 3 2 1*p*p*p*p*p*p*p*p*p&#39;</span> <span class="kw">|</span> <span class="ex">./richards</span></span>
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> <span class="st">&#39;64 256 128 p/p*p&#39;</span> <span class="kw">|</span> <span class="ex">./richards</span></span></code></pre></div> <span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> <span class="st">&#39;64 256 128 p/p*p&#39;</span> <span class="kw">|</span> <span class="ex">./richards</span></span></code></pre></div>
@@ -223,6 +223,12 @@ href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/richards/ric
<li><a <li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/richards/richards.orig.c">richards.orig.c</a> href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/richards/richards.orig.c">richards.orig.c</a>
- original source</li> - original source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/richards/try.alt.sh">try.alt.sh</a>
- how to run alternative code</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/richards/try.sh">try.sh</a>
- how to run</li>
<li><a href="2011_richards.tar.bz2">2011_richards.tar.bz2</a> - download <li><a href="2011_richards.tar.bz2">2011_richards.tar.bz2</a> - download
winning source</li> winning source</li>
</ul> </ul>
+27 -13
View File
@@ -127,19 +127,29 @@ href="#alternate-code">alternate code</a> below.</p>
vik in bugs.md</a>.</p> vik in bugs.md</a>.</p>
<h2 id="to-use">To use:</h2> <h2 id="to-use">To use:</h2>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik</span> file.mod <span class="op">&gt;</span> audio_file.raw</span></code></pre></div> <div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik</span> file.mod <span class="op">&gt;</span> audio_file.raw</span></code></pre></div>
<h2 id="try">Try:</h2> <p>If you have <code>mplayer(1)</code>:</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik</span> randowan.mod <span class="kw">|</span> <span class="ex">mplayer</span> <span class="at">-demuxer</span> rawaudio <span class="at">-</span></span> <div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik</span> file.mod <span class="kw">|</span> <span class="ex">mplayer</span> <span class="at">-demuxer</span> rawaudio <span class="at">-</span></span></code></pre></div>
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik</span> mad_world.mod <span class="kw">|</span> <span class="ex">mplayer</span> <span class="at">-demuxer</span> rawaudio <span class="at">-</span></span></code></pre></div> <p>Alternatively, you can convert the file to a WAV:</p>
<p>Alternatively, you can use:</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik</span> file.mod <span class="op">&gt;</span> file.raw<span class="kw">;</span> <span class="ex">./raw2wav</span> file.raw <span class="op">&gt;</span> file.wav</span></code></pre></div> <div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik</span> file.mod <span class="op">&gt;</span> file.raw<span class="kw">;</span> <span class="ex">./raw2wav</span> file.raw <span class="op">&gt;</span> file.wav</span></code></pre></div>
<p>It is possible to download a number of music module files from <a <p>and then play <code>file.wav</code> with a program that can play WAV
href="http://modarchive.org">The Mod Archive</a>.</p> files.</p>
<h2 id="try">Try:</h2>
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
<p>The script checks that you have <code>mplayer(1)</code> installed and
if it is it will pipe <code>vik</code> to <code>mplayer</code>. In this
case it will also use <code>raw2wav</code> to convert the file to a WAV
file. If <code>mplayer(1)</code> cannot be found it will just use
<code>raw2wav</code>. This way even if one has an
<code>mplayer(1)</code> that fails or is for some reason not what is
expected they can at least play the WAV file manually.</p>
<p>It is also possible to download a number of music module files from
<a href="http://modarchive.org">The Mod Archive</a>.</p>
<h2 id="alternate-code">Alternate code:</h2> <h2 id="alternate-code">Alternate code:</h2>
<p>This version is based on the author’s remarks and it should work for <p>This version is based on the author’s remarks and it should work for
Windows.</p> Windows.</p>
<h3 id="alternate-build">Alternate build:</h3> <h3 id="alternate-build">Alternate build:</h3>
<p>Assuming that <code>make</code> is similar enough try:</p> <p>Assuming that <code>make</code> is similar enough try:</p>
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt</span></code></pre></div> <div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt</span></code></pre></div>
<h3 id="alternate-use">Alternate use:</h3> <h3 id="alternate-use">Alternate use:</h3>
<p>Use <code>vik.alt</code> as you would <code>vik</code> above.</p> <p>Use <code>vik.alt</code> as you would <code>vik</code> above.</p>
<h2 id="judges-remarks">Judges’ remarks:</h2> <h2 id="judges-remarks">Judges’ remarks:</h2>
@@ -150,7 +160,7 @@ initialized 32MB array. Can you tell what that partial initialization
for?</p> for?</p>
<p>Does it take your system a long time to compile? You may want to <p>Does it take your system a long time to compile? You may want to
do:</p> do:</p>
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-S</span> vik.c</span></code></pre></div> <div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-S</span> vik.c</span></code></pre></div>
<p>and examine the resulting assembly file <code>vik.s</code>. On some <p>and examine the resulting assembly file <code>vik.s</code>. On some
platforms the assembly file is about 128MB in size!</p> platforms the assembly file is about 128MB in size!</p>
<p>NOTE: The <a href="randowan.mod">randowan.mod</a> and <a <p>NOTE: The <a href="randowan.mod">randowan.mod</a> and <a
@@ -201,15 +211,16 @@ Henrik Bertilsson, also known as Deelite:</p>
<h3 id="build">Build</h3> <h3 id="build">Build</h3>
<p>Compiling for Unix systems (including cygwin) is straight <p>Compiling for Unix systems (including cygwin) is straight
forward:</p> forward:</p>
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="fu">gcc</span> <span class="at">-o</span> vik vik.c</span></code></pre></div> <div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">gcc</span> <span class="at">-o</span> vik vik.c</span></code></pre></div>
<h3 id="usage">Usage</h3> <h3 id="usage">Usage</h3>
<h4 id="convert-mod-file-to-raw-44.1khz-stereo-audio-file">Convert MOD <h4 id="convert-mod-file-to-raw-44.1khz-stereo-audio-file">Convert MOD
file to raw 44.1kHz stereo audio file</h4> file to raw 44.1kHz stereo audio file</h4>
<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik</span> mad_world.mod <span class="op">&gt;</span> audio_file.raw</span></code></pre></div> <div class="sourceCode" id="cb10"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik</span> mad_world.mod <span class="op">&gt;</span> audio_file.raw</span></code></pre></div>
<h4 id="listen-to-the-mod-file-streaming-to-mplayer">Listen to the MOD <h4 id="listen-to-the-mod-file-streaming-to-mplayer">Listen to the MOD
file (streaming to mplayer)</h4> file (streaming to mplayer)</h4>
<div class="sourceCode" id="cb10"><pre <div class="sourceCode" id="cb11"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik</span> randowan.mod <span class="kw">|</span> <span class="ex">mplayer</span> <span class="at">-demuxer</span> rawaudio <span class="at">-</span></span></code></pre></div> class="sourceCode sh"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik</span> randowan.mod <span class="kw">|</span> <span class="ex">mplayer</span> <span class="at">-demuxer</span> rawaudio <span class="at">-</span></span></code></pre></div>
<p>(Don’t forget the last <code>-</code> as it makes mplayer read from <p>(Don’t forget the last <code>-</code> as it makes mplayer read from
<code>stdin</code>.)</p> <code>stdin</code>.)</p>
<h3 id="obfuscation">Obfuscation</h3> <h3 id="obfuscation">Obfuscation</h3>
@@ -242,7 +253,7 @@ is that the program relies on writing binary data to
compile the program with this platform, the following line can be added compile the program with this platform, the following line can be added
after the main declaration in order for the program to run after the main declaration in order for the program to run
correctly:</p> correctly:</p>
<div class="sourceCode" id="cb11"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a>_setmode<span class="op">(</span>_fileno<span class="op">(</span>stdout<span class="op">),</span> <span class="bn">0x8000</span><span class="op">);</span></span></code></pre></div> <div class="sourceCode" id="cb12"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a>_setmode<span class="op">(</span>_fileno<span class="op">(</span>stdout<span class="op">),</span> <span class="bn">0x8000</span><span class="op">);</span></span></code></pre></div>
<p>NOTE: this is what the <a href="#alternate-code">alternate <p>NOTE: this is what the <a href="#alternate-code">alternate
version</a> is for.</p> version</a> is for.</p>
<h3 id="limitations">Limitations</h3> <h3 id="limitations">Limitations</h3>
@@ -282,6 +293,9 @@ module sound data</li>
<li><a <li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/vik/raw2wav">raw2wav</a> href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/vik/raw2wav">raw2wav</a>
- convert raw format to wav format</li> - convert raw format to wav format</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/vik/try.sh">try.sh</a>
- how to run</li>
<li><a href="2011_vik.tar.bz2">2011_vik.tar.bz2</a> - download winning <li><a href="2011_vik.tar.bz2">2011_vik.tar.bz2</a> - download winning
source</li> source</li>
</ul> </ul>
+8 -3
View File
@@ -123,10 +123,12 @@ distinguishes binary mode from text mode. See <a
href="#alternate-code">alternate code</a> below.</p> href="#alternate-code">alternate code</a> below.</p>
<h2 id="to-use">To use:</h2> <h2 id="to-use">To use:</h2>
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./zucker</span> <span class="op">&gt;</span> image.ppm</span></code></pre></div> <div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./zucker</span> <span class="op">&gt;</span> image.ppm</span></code></pre></div>
<p>Now open <code>image.ppm</code> with your image viewer of choice.</p>
<h2 id="try">Try:</h2> <h2 id="try">Try:</h2>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./zucker</span> <span class="st">&quot;Hello\!\!\!&quot;</span> <span class="op">&gt;</span> hello.ppm</span> <div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./zucker</span> faster<span class="dt">\!</span> <span class="at">-preview</span> <span class="op">&gt;</span> image2.ppm</span></code></pre></div> <p>After running <code>try.sh</code>, open the PPM images
<p>Display the PPM image with your favorite image viewer.</p> <code>ioccc.ppm</code>, <code>hello.ppm</code> and
<code>image2.ppm</code> with your image viewer of choice.</p>
<h2 id="alternate-code">Alternate code:</h2> <h2 id="alternate-code">Alternate code:</h2>
<p>This version uses the Windows functions <code>_setmode()</code> and <p>This version uses the Windows functions <code>_setmode()</code> and
<code>_fileno()</code> to set binary mode on <code>stdout</code> which <code>_fileno()</code> to set binary mode on <code>stdout</code> which
@@ -304,6 +306,9 @@ href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/zucker/zucke
- original source</li> - original source</li>
<li><a href="sphere-tracing.pdf">sphere-tracing.pdf</a> - research paper <li><a href="sphere-tracing.pdf">sphere-tracing.pdf</a> - research paper
on antialiased ray tracing</li> on antialiased ray tracing</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/zucker/try.sh">try.sh</a>
- how to run</li>
<li><a href="2011_zucker.tar.bz2">2011_zucker.tar.bz2</a> - download <li><a href="2011_zucker.tar.bz2">2011_zucker.tar.bz2</a> - download
winning source</li> winning source</li>
</ul> </ul>
+74 -65
View File
@@ -120,21 +120,26 @@ Location: <a href="/temp-test-ioccc/location.html#JP">JP</a></p>
<p>There are two alt versions that let you control the compile time <p>There are two alt versions that let you control the compile time
variables that control the fluid behaviour and the added variables to variables that control the fluid behaviour and the added variables to
speed up or slow down the fluid as well as setting a timeout (if not 0): speed up or slow down the fluid as well as setting a timeout (if not 0):
one for the original black and white and the colour one added by the one for the original black and white and one for the colour one added by
author at the request of the judges. Another version is the deobfuscated the author (at the request of the judges at the time of the contest).
version provided by the author as well. See <a Another version is the deobfuscated version provided by the author as
href="#alternate-code">alternate code</a> below for more details.</p> well. See the <a href="#alternate-code">Alternate code</a> section below
for more details.</p>
<h2 id="to-use">To use:</h2> <h2 id="to-use">To use:</h2>
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./endoh1</span> <span class="op">&lt;</span> configuration.txt</span></code></pre></div> <div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./endoh1</span> <span class="op">&lt;</span> file</span></code></pre></div>
<p>WARNING: if you’re sensitive to/don’t like flashing colours/text or
just want to see what this looks like not going so fast then you might
wish to try the <a href="#alternate-code">Alternate code</a>
instead.</p>
<h2 id="try">Try:</h2> <h2 id="try">Try:</h2>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./endoh1</span> <span class="op">&lt;</span> endoh1.c</span> <div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.bw.sh</span> endoh1.c</span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a></span> <span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span> endoh1.c</span>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="ex">./endoh1</span> <span class="op">&lt;</span> pour-out.txt</span> <span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a></span> <span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.bw.sh</span> pour-out.txt</span>
<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a><span class="ex">./endoh1</span> <span class="op">&lt;</span> fountain.txt</span></code></pre></div> <span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span> pour-out.txt</span>
<p>Also try using <code>endoh1_color</code> as you would <span id="cb3-6"><a href="#cb3-6" aria-hidden="true" tabindex="-1"></a></span>
<code>endoh1</code> above. <code>make</code> will compile this by <span id="cb3-7"><a href="#cb3-7" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.bw.sh</span> fountain.txt</span>
default.</p> <span id="cb3-8"><a href="#cb3-8" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span> fountain.txt</span></code></pre></div>
<h2 id="alternate-code">Alternate code:</h2> <h2 id="alternate-code">Alternate code:</h2>
<p>The files <a href="endoh1.alt.c">endoh1.alt.c</a> and <a <p>The files <a href="endoh1.alt.c">endoh1.alt.c</a> and <a
href="endoh1_color.alt.c">endoh1_color.alt.c</a> correspond to <a href="endoh1_color.alt.c">endoh1_color.alt.c</a> correspond to <a
@@ -145,50 +150,38 @@ or slow down the fluid and change the behaviour of the fluid. The file
provided by the author.</p> provided by the author.</p>
<h3 id="alternate-build">Alternate build:</h3> <h3 id="alternate-build">Alternate build:</h3>
<p>For the default values, try:</p> <p>For the default values, try:</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt alt2</span></code></pre></div> <div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt</span></code></pre></div>
<p>The <code>alt2</code> is only necessary if you wish to compile the
deobfuscated version but it is equivalent in function to the original
entry, <a href="endoh1.c">endoh1.c</a>.</p>
<p>In the <code>alt</code> versions a default time of 10 seconds is set <p>In the <code>alt</code> versions a default time of 10 seconds is set
as an alarm so that one can more easily go through the list of files to as an alarm so that one can more easily go through the list of files to
see them all in succession for fun. That is controlled by the variable see them all in succession, for fun. That is controlled by the variable
<code>A</code>; 0 disables it.</p> <code>TIMER</code> at compilation. For instance if you wish to change
<p>If you wish to change the speed you should do:</p> the value to 5:</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber SLEEP=N alt</span></code></pre></div> <div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber TIMER=5 alt</span></code></pre></div>
<p>where <code>N</code> is number or the letter <code>I</code>.</p> <p>If you want to disable the alarm time, set it to 0:</p>
<p>WARNING: if you’re sensitive to flashing colours or any flashing at <div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber TIMER=0 alt</span></code></pre></div>
all do make sure you don’t decrease the value of <code>S</code>, the <p>It cannot be &lt; 0 or &gt; 60 (arbitrarily selected).</p>
sleep time passed to <code>usleep(3)</code>, too much.</p> <p>The <code>SLEEP</code> variable is to delay the time between updates
<p>If however you wish to change the gravity factor, pressure factor to make it easier to see and to not flash too quickly. The code protects
and/or viscosity factor, you should redefine the values <code>G</code>, against a value &lt; 0 and defaults to 12321 but you can change it to.
<code>P</code> and/or <code>V</code> macros, respectively, with the same For instance to slow it down you could increase the sleep time from
caveat about numbers for <code>S</code> above. For instance if you wish <code>12321</code> to <code>50000</code>:</p>
to change the viscosity and pressure factors but leave the other macros <div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber SLEEP=50000 alt</span></code></pre></div>
alone:</p> <p>If you wish to speed it up you might decrease the sleep time from
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber VISCOSITY=X PRESSURE=Y alt</span></code></pre></div> <code>12321</code> to <code>9999</code>:</p>
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber SLEEP=9999 alt</span></code></pre></div>
<p>WARNING: the lower the value the faster it will flash so be careful
if you’re sensitive to this.</p>
<p>If you wish to change the gravity factor, pressure factor and/or
viscosity factor, you should redefine the values <code>GRAVITY</code>,
<code>PRESSURE</code> and/or <code>VISCOSITY</code> macros,
respectively. For instance if you wish to change the viscosity and
pressure factors but leave the other values alone:</p>
<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber VISCOSITY=X PRESSURE=Y alt</span></code></pre></div>
<p>where <code>X</code> and <code>Y</code> are numbers or the letter <p>where <code>X</code> and <code>Y</code> are numbers or the letter
<code>I</code> and which are, respectively, the viscosity and pressure <code>I</code> and which are, respectively, the viscosity and pressure
factors.</p> factors. There is no attempt to check the value or type because doing so
<p>There is no restriction on what the number is because doing so
prevents the macros from being defined to <code>I</code> which would prevents the macros from being defined to <code>I</code> which would
prevent the author’s remarks about it from being done.</p> prevent the author’s remarks about it from being done.</p>
<p>If you want to disable the alarm time, set <code>A</code> to 0:</p>
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber TIMER=0 alt</span></code></pre></div>
<p>It cannot be &lt; 0 or &gt; 60 (arbitrarily selected).</p>
<p>Try slowing down the display by increasing the sleep time from
<code>12321</code> to <code>50000</code>:</p>
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber SLEEP=50000 alt</span></code></pre></div>
<p>Now try using both <code>endoh1.alt</code> and
<code>endoh1_color.alt</code> as you would <code>endoh1</code>
above.</p>
<p>Also try speeding up the display by decreasing the sleep time from
<code>12321</code> to <code>9999</code>:</p>
<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber SLEEP=9999 alt2</span></code></pre></div>
<p>WARNING: again, be careful with too low a value if you’re sensitive
to flashing colours or anything at all.</p>
<p>Now try using both <code>endoh1.alt</code> and
<code>endoh1_color.alt</code> as you would <code>endoh1</code>
above.</p>
<p>You might also wish to try redefining the macros <code>G</code>, <p>You might also wish to try redefining the macros <code>G</code>,
<code>P</code> and/or <code>V</code>. For instance:</p> <code>P</code> and/or <code>V</code>. For instance:</p>
<div class="sourceCode" id="cb10"><pre <div class="sourceCode" id="cb10"><pre
@@ -196,7 +189,10 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb10-1"><a href="#
<p>You might try even:</p> <p>You might try even:</p>
<div class="sourceCode" id="cb11"><pre <div class="sourceCode" id="cb11"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber GRAVITY=I alt</span></code></pre></div> class="sourceCode sh"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber GRAVITY=I alt</span></code></pre></div>
<p>See the author’s remarks for details on these macros.</p> <p>See the author’s remarks for details on these macros where:</p>
<pre><code>G = GRAVITY
P = PRESSURE
V = VISCOSITY</code></pre>
<h3 id="alternate-use">Alternate use:</h3> <h3 id="alternate-use">Alternate use:</h3>
<p>Use <code>endoh1.alt</code>, <code>endoh1_color.alt</code> and <p>Use <code>endoh1.alt</code>, <code>endoh1_color.alt</code> and
<code>endoh1.alt2</code> as you would <code>endoh1</code> and <code>endoh1.alt2</code> as you would <code>endoh1</code> and
@@ -204,10 +200,14 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb11-1"><a href="#
<h3 id="alternate-try">Alternate try:</h3> <h3 id="alternate-try">Alternate try:</h3>
<p>To see two different ways run on the source file and each of the text <p>To see two different ways run on the source file and each of the text
files, try:</p> files, try:</p>
<div class="sourceCode" id="cb12"><pre <div class="sourceCode" id="cb13"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.alt.sh</span></span></code></pre></div> class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.alt.sh</span></span></code></pre></div>
<p>The second run of each will be with the gravity factor set to <p>The second run of each will be with the gravity factor set to
<code>I</code>.</p> <code>I</code>.</p>
<p>To see the same thing but in the original uncoloured version,
try:</p>
<div class="sourceCode" id="cb14"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.alt.bw.sh</span></span></code></pre></div>
<h2 id="judges-remarks">Judges’ remarks:</h2> <h2 id="judges-remarks">Judges’ remarks:</h2>
<p>Let’s play <a <p>Let’s play <a
href="https://en.wikipedia.org/wiki/Jeopardy!">Jeopardy!</a></p> href="https://en.wikipedia.org/wiki/Jeopardy!">Jeopardy!</a></p>
@@ -224,13 +224,13 @@ what if? entry</a>.</p>
<h3 id="synopsis">Synopsis</h3> <h3 id="synopsis">Synopsis</h3>
<p><strong>DO NOT FORGET</strong> <code>-DG=1 -DP=4 -DV=8</code> and <p><strong>DO NOT FORGET</strong> <code>-DG=1 -DP=4 -DV=8</code> and
make your terminal window larger than 80 x 25.</p> make your terminal window larger than 80 x 25.</p>
<div class="sourceCode" id="cb13"><pre <div class="sourceCode" id="cb15"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> endoh1.c <span class="at">-DG</span><span class="op">=</span>1 <span class="at">-DP</span><span class="op">=</span>4 <span class="at">-DV</span><span class="op">=</span>8 <span class="at">-D_BSD_SOURCE</span> <span class="at">-o</span> endoh1 <span class="at">-lm</span></span> class="sourceCode sh"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> endoh1.c <span class="at">-DG</span><span class="op">=</span>1 <span class="at">-DP</span><span class="op">=</span>4 <span class="at">-DV</span><span class="op">=</span>8 <span class="at">-D_BSD_SOURCE</span> <span class="at">-o</span> endoh1 <span class="at">-lm</span></span>
<span id="cb13-2"><a href="#cb13-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./endoh1</span> <span class="op">&lt;</span> endoh1.c</span> <span id="cb15-2"><a href="#cb15-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./endoh1</span> <span class="op">&lt;</span> endoh1.c</span>
<span id="cb13-3"><a href="#cb13-3" aria-hidden="true" tabindex="-1"></a><span class="ex">./endoh1</span> <span class="op">&lt;</span> logo.txt</span> <span id="cb15-3"><a href="#cb15-3" aria-hidden="true" tabindex="-1"></a><span class="ex">./endoh1</span> <span class="op">&lt;</span> logo.txt</span>
<span id="cb13-4"><a href="#cb13-4" aria-hidden="true" tabindex="-1"></a><span class="ex">./endoh1</span> <span class="op">&lt;</span> column.txt</span> <span id="cb15-4"><a href="#cb15-4" aria-hidden="true" tabindex="-1"></a><span class="ex">./endoh1</span> <span class="op">&lt;</span> column.txt</span>
<span id="cb13-5"><a href="#cb13-5" aria-hidden="true" tabindex="-1"></a><span class="ex">./endoh1</span> <span class="op">&lt;</span> pour-out.txt</span> <span id="cb15-5"><a href="#cb15-5" aria-hidden="true" tabindex="-1"></a><span class="ex">./endoh1</span> <span class="op">&lt;</span> pour-out.txt</span>
<span id="cb13-6"><a href="#cb13-6" aria-hidden="true" tabindex="-1"></a><span class="ex">./endoh1</span> <span class="op">&lt;</span> tanada.txt</span></code></pre></div> <span id="cb15-6"><a href="#cb15-6" aria-hidden="true" tabindex="-1"></a><span class="ex">./endoh1</span> <span class="op">&lt;</span> tanada.txt</span></code></pre></div>
<h3 id="what-it-is">What it is</h3> <h3 id="what-it-is">What it is</h3>
<pre><code> ,___. ,. ,. ,. ,___. ,. ,. ,. <pre><code> ,___. ,. ,. ,. ,___. ,. ,. ,.
|/--&#39; || `&#39; || |/--&#39; `&#39; || |\_. |/--&#39; || `&#39; || |/--&#39; `&#39; || |\_.
@@ -281,10 +281,10 @@ may require <code>-D_BSD_SOURCE</code> or so to build with no warning.
Under these conditions, it should be portable. At least, recent Under these conditions, it should be portable. At least, recent
compilers with <code>-std=c99 -Wall -W -Wextra -pedantic</code> say compilers with <code>-std=c99 -Wall -W -Wextra -pedantic</code> say
nothing.</p> nothing.</p>
<div class="sourceCode" id="cb15"><pre <div class="sourceCode" id="cb17"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="fu">gcc</span> <span class="at">-DG</span><span class="op">=</span>1 <span class="at">-DP</span><span class="op">=</span>4 <span class="at">-DV</span><span class="op">=</span>8 <span class="at">-D_BSD_SOURCE</span> <span class="at">-std</span><span class="op">=</span>c99 <span class="at">-Wall</span> <span class="at">-W</span> <span class="at">-Wextra</span> <span class="at">-pedantic</span> endoh1.c</span> class="sourceCode sh"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="fu">gcc</span> <span class="at">-DG</span><span class="op">=</span>1 <span class="at">-DP</span><span class="op">=</span>4 <span class="at">-DV</span><span class="op">=</span>8 <span class="at">-D_BSD_SOURCE</span> <span class="at">-std</span><span class="op">=</span>c99 <span class="at">-Wall</span> <span class="at">-W</span> <span class="at">-Wextra</span> <span class="at">-pedantic</span> endoh1.c</span>
<span id="cb15-2"><a href="#cb15-2" aria-hidden="true" tabindex="-1"></a></span> <span id="cb17-2"><a href="#cb17-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb15-3"><a href="#cb15-3" aria-hidden="true" tabindex="-1"></a><span class="fu">clang</span> <span class="at">-DG</span><span class="op">=</span>1 <span class="at">-DP</span><span class="op">=</span>4 <span class="at">-DV</span><span class="op">=</span>8 <span class="at">-D_BSD_SOURCE</span> <span class="at">-std</span><span class="op">=</span>c99 <span class="at">-Wall</span> <span class="at">-W</span> <span class="at">-Wextra</span> <span class="at">-pedantic</span> endoh1.c</span></code></pre></div> <span id="cb17-3"><a href="#cb17-3" aria-hidden="true" tabindex="-1"></a><span class="fu">clang</span> <span class="at">-DG</span><span class="op">=</span>1 <span class="at">-DP</span><span class="op">=</span>4 <span class="at">-DV</span><span class="op">=</span>8 <span class="at">-D_BSD_SOURCE</span> <span class="at">-std</span><span class="op">=</span>c99 <span class="at">-Wall</span> <span class="at">-W</span> <span class="at">-Wextra</span> <span class="at">-pedantic</span> endoh1.c</span></code></pre></div>
<p>I expect it to work in any Unix-like environment. VTxxx/ANSI <p>I expect it to work in any Unix-like environment. VTxxx/ANSI
sequences are used to clear screen and move cursor to home.</p> sequences are used to clear screen and move cursor to home.</p>
<p>I’ve tested with gcc-4.6.3 and clang-3.0 on Linux (Ubuntu 12.04) and <p>I’ve tested with gcc-4.6.3 and clang-3.0 on Linux (Ubuntu 12.04) and
@@ -420,9 +420,18 @@ href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/endoh1/pour-
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/endoh1/tanada.txt">tanada.txt</a> href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/endoh1/tanada.txt">tanada.txt</a>
- fluid initial state as text</li> - fluid initial state as text</li>
<li><a <li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/endoh1/try.alt.bw.sh">try.alt.bw.sh</a>
- how to run alternate code in black and white</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/endoh1/try.alt.sh">try.alt.sh</a> href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/endoh1/try.alt.sh">try.alt.sh</a>
- how to run alternative code</li> - how to run alternative code</li>
<li><a <li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/endoh1/try.bw.sh">try.bw.sh</a>
- try.alt.bw.sh</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/endoh1/try.sh">try.sh</a>
- how to run in color</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/endoh1/endoh1_color.c">endoh1_color.c</a> href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/endoh1/endoh1_color.c">endoh1_color.c</a>
- alternative source using terminal 256 colors</li> - alternative source using terminal 256 colors</li>
<li><a href="2012_endoh1.tar.bz2">2012_endoh1.tar.bz2</a> - download <li><a href="2012_endoh1.tar.bz2">2012_endoh1.tar.bz2</a> - download
+1 -5
View File
@@ -130,11 +130,7 @@ href="/temp-test-ioccc/location.html#FR">FR</a></p>
<code>N+1</code> or more shared files with their proper numbers):</p> <code>N+1</code> or more shared files with their proper numbers):</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./grothe</span> I-sharedI J-sharedJ K-sharedK ... +reconstructed</span></code></pre></div> <div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./grothe</span> I-sharedI J-sharedJ K-sharedK ... +reconstructed</span></code></pre></div>
<h2 id="try">Try:</h2> <h2 id="try">Try:</h2>
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./grothe</span> <span class="at">-grothe.c</span> 1+grothe.c.1 2+grothe.c.2</span> <div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="ex">./grothe</span> <span class="at">-cookie_recipe.txt</span> 1-/dev/urandom 2-/dev/urandom 1+cookie_piece1.dat 2+cookie_piece2.dat 3+cookie_piece3.dat 4+cookie_piece4.dat</span>
<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb4-5"><a href="#cb4-5" aria-hidden="true" tabindex="-1"></a><span class="ex">./grothe</span> 1-cookie_piece1.dat 2-cookie_piece2.dat 4-cookie_piece4.dat 4+cookie_recipe_restore.txt</span></code></pre></div>
<h2 id="judges-remarks">Judges’ remarks:</h2> <h2 id="judges-remarks">Judges’ remarks:</h2>
<p>Also known as ‘Best abuse of the judging process’.</p> <p>Also known as ‘Best abuse of the judging process’.</p>
<p>The IOCCC 2012 submission page didn’t enforce the 2048 meaningful <p>The IOCCC 2012 submission page didn’t enforce the 2048 meaningful
+15 -6
View File
@@ -133,12 +133,21 @@ the file directly instead.</p>
<p>One of the PDF files generated is this README.md file as a PDF, <p>One of the PDF files generated is this README.md file as a PDF,
obfuscated, and the PDF file will then be compiled as C (itself!) and obfuscated, and the PDF file will then be compiled as C (itself!) and
executed so that it shows README.md!</p> executed so that it shows README.md!</p>
<p>Another PDF file generated is obfuscated C code. Once this is done it <p>That procedure looks like:</p>
will compile the PDF as if it was C and then run it like:</p> <div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./hamano</span> <span class="op">&lt;</span> README.md <span class="op">&gt;</span> hint.pdf</span>
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> <span class="st">&#39;int main(){puts(&quot;Hello World!&quot;);}&#39;</span> <span class="kw">|</span> <span class="ex">./hamano</span> <span class="op">&gt;</span> hello.pdf</span> <span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-xc</span> hint.pdf <span class="at">-o</span> hint</span>
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-Wno-implicit-function-declaration</span> <span class="at">-xc</span> hello.pdf <span class="at">-o</span> hello2</span> <span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="ex">./hint</span></span></code></pre></div>
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="ex">./hello2</span> <span class="kw">|</span> <span class="fu">gcc</span> <span class="at">-Wno-implicit-function-declaration</span> <span class="at">-xc</span> <span class="at">-</span> <span class="at">-o</span> ./hello3</span> <p>Another PDF generated is an obfuscated <code>Hello World!</code>
<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a><span class="ex">./hello3</span></span></code></pre></div> program (obfuscated inside the PDF). Once this is done it will compile
the PDF as if it was C (itself!). It will look like:</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> <span class="st">&#39;int main(){puts(&quot;Hello World!&quot;);}&#39;</span> <span class="kw">|</span> <span class="ex">./hamano</span> <span class="op">&gt;</span> hello.pdf</span>
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-xc</span> hello.pdf <span class="at">-o</span> hello</span>
<span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a><span class="ex">./hello</span> <span class="kw">|</span> <span class="fu">cc</span> <span class="at">-Wno-implicit-function-declaration</span> <span class="at">-xc</span> <span class="at">-</span> <span class="at">-o</span> ./hello2</span>
<span id="cb5-4"><a href="#cb5-4" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb5-5"><a href="#cb5-5" aria-hidden="true" tabindex="-1"></a><span class="ex">./hello2</span></span></code></pre></div>
<p>although the <code>CFLAGS</code> will be what is in the Makefile as
it uses the helper rules <code>hint.pdf</code>, <code>hint</code>,
<code>hello.pdf</code> and <code>hello</code> to do this.</p>
<h2 id="judges-remarks">Judges’ remarks:</h2> <h2 id="judges-remarks">Judges’ remarks:</h2>
<p>This entry treads into a new territory for IOCCC - generating PDF <p>This entry treads into a new territory for IOCCC - generating PDF
files.</p> files.</p>
+18 -7
View File
@@ -138,20 +138,28 @@ know German where the sound of ‘V’ is ‘F’ and so the program had the
letter be ‘F’. A problem, however, with changing it is that it breaks letter be ‘F’. A problem, however, with changing it is that it breaks
other words including in German. Thus there is the alternate version other words including in German. Thus there is the alternate version
instead which fixes a problem for Germans that causes problems for instead which fixes a problem for Germans that causes problems for
Germans so if you’re German you’ll just have to deal with it :-) It is, Germans so if you’re German you’ll just have to deal with it :-) It also
however, good as you might be able appreciate the entry even more.</p> breaks other words too and this happens only for one letter change. With
this one should hopefully be able to really appreciate the subtlety of
this entry even more.</p>
<h3 id="alternate-build">Alternate build:</h3> <h3 id="alternate-build">Alternate build:</h3>
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt</span></code></pre></div> <div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt</span></code></pre></div>
<h3 id="alternate-use">Alternate use:</h3> <h3 id="alternate-use">Alternate use:</h3>
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> vier <span class="kw">|</span> <span class="ex">./kang.alt</span></span> <div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> <span class="st">&quot;full spelling of an English cardinal numeral less than a quadrillion&quot;</span> <span class="kw">|</span> <span class="ex">./kang.alt</span></span>
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> uno <span class="kw">|</span> <span class="ex">./kang.alt</span></span></code></pre></div> <span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> vier <span class="kw">|</span> <span class="ex">./kang.alt</span></span>
<span id="cb5-4"><a href="#cb5-4" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb5-5"><a href="#cb5-5" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> uno <span class="kw">|</span> <span class="ex">./kang.alt</span></span></code></pre></div>
<h3 id="alternate-try">Alternate try:</h3> <h3 id="alternate-try">Alternate try:</h3>
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./de.alt.sh</span> <span class="co"># German 0 through 13 both with and without umlaut</span></span> <div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.alt.sh</span> <span class="co"># try various languages</span></span>
<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./en.alt.sh</span> <span class="co"># English 0 through 13</span></span></code></pre></div> <span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb6-3"><a href="#cb6-3" aria-hidden="true" tabindex="-1"></a><span class="ex">./en.alt.sh</span> <span class="co"># English 0 through 13</span></span>
<span id="cb6-4"><a href="#cb6-4" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb6-5"><a href="#cb6-5" aria-hidden="true" tabindex="-1"></a><span class="ex">./de.alt.sh</span> <span class="co"># German 0 through 13 with both umlauts and without (additional &#39;e&#39;)</span></span></code></pre></div>
<p>What does it get right? What does it get wrong? How does it compare <p>What does it get right? What does it get wrong? How does it compare
to the original entry without the change of <code>f</code> to to the original entry without the change of <code>f</code> to
<code>v</code>?</p> <code>v</code>?</p>
<p>Finally why does it get what it gets wrong wrong?</p> <p>Finally why does it get wrong what it gets wrong?</p>
<h2 id="judges-remarks">Judges’ remarks:</h2> <h2 id="judges-remarks">Judges’ remarks:</h2>
<p>The judges were able to appreciate the Indo-European language family <p>The judges were able to appreciate the Indo-European language family
relation by making this entry successfully recognize <em>some</em> relation by making this entry successfully recognize <em>some</em>
@@ -331,6 +339,9 @@ href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/kang/en.alt.
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/kang/en.sh">en.sh</a> href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/kang/en.sh">en.sh</a>
- English words for 1 through 13</li> - English words for 1 through 13</li>
<li><a <li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/kang/try.alt.sh">try.alt.sh</a>
- how to run alternate code</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/kang/try.sh">try.sh</a> href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/kang/try.sh">try.sh</a>
- how to run</li> - how to run</li>
<li><a href="2012_kang.tar.bz2">2012_kang.tar.bz2</a> - download winning <li><a href="2012_kang.tar.bz2">2012_kang.tar.bz2</a> - download winning
+6 -2
View File
@@ -122,9 +122,13 @@ Location: <a href="/temp-test-ioccc/location.html#JP">JP</a></p>
href="#alternate-code">Alternate code</a> below.</p> href="#alternate-code">Alternate code</a> below.</p>
<h2 id="to-use">To use:</h2> <h2 id="to-use">To use:</h2>
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./konno</span> N</span></code></pre></div> <div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./konno</span> N</span></code></pre></div>
<p>NOTE: N is an integer from 0 to 255.</p>
<h2 id="try">Try:</h2> <h2 id="try">Try:</h2>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div> <div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="co"># you can also specify numbers to try before the random and preselected ones:</span></span>
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span> 111 222 333 444 555 666 777 888 999</span></code></pre></div>
<p>Try running <a href="try.sh">try.sh</a> a number of times as the
first part randomly selects ten numbers to try.</p>
<h2 id="alternate-code">Alternate code:</h2> <h2 id="alternate-code">Alternate code:</h2>
<p>An alternate version of this entry, <a <p>An alternate version of this entry, <a
href="konno.alt.c">konno.alt.c</a>, is provided. This alternate code is href="konno.alt.c">konno.alt.c</a>, is provided. This alternate code is
+4 -4
View File
@@ -124,7 +124,7 @@ section below.</p>
<h2 id="to-use">To use:</h2> <h2 id="to-use">To use:</h2>
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./cable3</span> bios-image-file floppy-image-file <span class="pp">[</span><span class="ss">harddisk</span><span class="pp">-</span><span class="ss">image</span><span class="pp">-</span><span class="ss">file</span><span class="pp">]</span></span></code></pre></div> <div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./cable3</span> bios-image-file floppy-image-file <span class="pp">[</span><span class="ss">harddisk</span><span class="pp">-</span><span class="ss">image</span><span class="pp">-</span><span class="ss">file</span><span class="pp">]</span></span></code></pre></div>
<h2 id="try">Try:</h2> <h2 id="try">Try:</h2>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./runme</span></span></code></pre></div> <div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./cable3.sh</span></span></code></pre></div>
<p>NOTE: to quit the program type <code>QUITEMU</code>. You might have <p>NOTE: to quit the program type <code>QUITEMU</code>. You might have
to be at the top level directory of the drive, <code>A:</code> or to be at the top level directory of the drive, <code>A:</code> or
<code>C:</code>.</p> <code>C:</code>.</p>
@@ -292,7 +292,7 @@ shell script that looks something like:</p>
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="fu">stty</span> cbreak raw <span class="at">-echo</span> min 0</span> <div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="fu">stty</span> cbreak raw <span class="at">-echo</span> min 0</span>
<span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./cable3</span> bios floppy.img harddisk.img</span> <span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./cable3</span> bios floppy.img harddisk.img</span>
<span id="cb8-3"><a href="#cb8-3" aria-hidden="true" tabindex="-1"></a><span class="fu">stty</span> cooked echo</span></code></pre></div> <span id="cb8-3"><a href="#cb8-3" aria-hidden="true" tabindex="-1"></a><span class="fu">stty</span> cooked echo</span></code></pre></div>
<p>See the <a href="runme">runme</a> script.</p> <p>See the <a href="cable3.sh">cable3.sh</a> script.</p>
<h2 id="to-use-the-emulator---floppy-mode-only">To use the emulator - <h2 id="to-use-the-emulator---floppy-mode-only">To use the emulator -
floppy mode only</h2> floppy mode only</h2>
<p>The simplest use of the emulator is with a single floppy boot disk <p>The simplest use of the emulator is with a single floppy boot disk
@@ -301,7 +301,7 @@ disk.</p>
<p>Before running the emulator on a Unix-type system, <code>stty</code> <p>Before running the emulator on a Unix-type system, <code>stty</code>
needs to be used to put the keyboard into raw mode (and afterwards it needs to be used to put the keyboard into raw mode (and afterwards it
needs to be put back to cooked). So, run the emulator using something needs to be put back to cooked). So, run the emulator using something
like this script (provided as <a href="runme">runme</a>):</p> like this script (provided as <a href="cable3.sh">cable3.sh</a>):</p>
<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">stty</span> cbreak raw <span class="at">-echo</span> min 0</span> <div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">stty</span> cbreak raw <span class="at">-echo</span> min 0</span>
<span id="cb9-2"><a href="#cb9-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./cable3</span> bios fd.img</span> <span id="cb9-2"><a href="#cb9-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./cable3</span> bios fd.img</span>
<span id="cb9-3"><a href="#cb9-3" aria-hidden="true" tabindex="-1"></a><span class="fu">stty</span> cooked echo</span></code></pre></div> <span id="cb9-3"><a href="#cb9-3" aria-hidden="true" tabindex="-1"></a><span class="fu">stty</span> cooked echo</span></code></pre></div>
@@ -569,7 +569,7 @@ href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/cable3/cable
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/cable3/cable3.orig.c">cable3.orig.c</a> href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/cable3/cable3.orig.c">cable3.orig.c</a>
- original source</li> - original source</li>
<li><a <li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/cable3/runme">runme</a> href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/cable3/cable3.sh">cable3.sh</a>
- how to run</li> - how to run</li>
<li><a href="screenshot_autocad.png">screenshot_autocad.png</a> - <li><a href="screenshot_autocad.png">screenshot_autocad.png</a> -
Screenshots of some applications running on macOS</li> Screenshots of some applications running on macOS</li>