Merge pull request #2694 from xexyl/html2014
Format fixes in html files of 2014
This commit is contained in:
11 files changed
+257
-170
No files matched your search
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
There is alternate code that lets you redefine the port to bind to, in case
|
There is alternate code that lets you redefine the port to bind to, in case
|
||||||
there is a firewall issue, and also lets you redefine the timing constant,
|
there is a firewall issue, and also lets you redefine the timing constant,
|
||||||
`STARDATE`. See [Alternate code](#alternate code) below.
|
`STARDATE`. See [Alternate code](#alternate-code) below.
|
||||||
|
|
||||||
|
|
||||||
## To use:
|
## To use:
|
||||||
|
|||||||
@@ -417,7 +417,7 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
|
|||||||
<pre><code> make</code></pre>
|
<pre><code> make</code></pre>
|
||||||
<p>There is alternate code that lets you redefine the port to bind to, in case
|
<p>There is alternate code that lets you redefine the port to bind to, in case
|
||||||
there is a firewall issue, and also lets you redefine the timing constant,
|
there is a firewall issue, and also lets you redefine the timing constant,
|
||||||
<code>STARDATE</code>. See <a href="#alternate%20code">Alternate code</a> below.</p>
|
<code>STARDATE</code>. See <a href="#alternate-code">Alternate code</a> below.</p>
|
||||||
<h2 id="to-use">To use:</h2>
|
<h2 id="to-use">To use:</h2>
|
||||||
<pre><code> ./prog < some_secret_or_something
|
<pre><code> ./prog < some_secret_or_something
|
||||||
|
|
||||||
|
|||||||
+67
-64
@@ -34,8 +34,8 @@ The parameters to the program are:
|
|||||||
6. Sprites image height.
|
6. Sprites image height.
|
||||||
7. Filename of the sprites image (raw RGBA image).
|
7. Filename of the sprites image (raw RGBA image).
|
||||||
8. Filename of the music (WAVE 8000 Hz 8bit Mono).
|
8. Filename of the music (WAVE 8000 Hz 8bit Mono).
|
||||||
9. Sky color. This number depends on the system where you run the program. See
|
9. Sky color. This number depends on the system where you run the program. [See
|
||||||
note on macOS.
|
note on macOS](#running-under-macos).
|
||||||
|
|
||||||
|
|
||||||
## Try:
|
## Try:
|
||||||
@@ -50,7 +50,7 @@ If you end up telnetting to the server (feature of [mario.sh](%%REPO_URL%%/2014/
|
|||||||
try:
|
try:
|
||||||
|
|
||||||
|
|
||||||
```
|
``` <!---sh-->
|
||||||
ls # show files including games
|
ls # show files including games
|
||||||
wumpus.bas # play Hunt the Wumpus
|
wumpus.bas # play Hunt the Wumpus
|
||||||
advent.gam # you know what this is! :-)
|
advent.gam # you know what this is! :-)
|
||||||
@@ -135,9 +135,6 @@ dies or loses its powers.
|
|||||||
|
|
||||||
### Running under macOS
|
### Running under macOS
|
||||||
|
|
||||||
[NOTE: this seems to no longer be the case as of 2023 and most likely much
|
|
||||||
earlier. However one can change the look of the game doing this anyway:]
|
|
||||||
|
|
||||||
The color of the sky is wrong on macOS. You need to flip some bytes from the
|
The color of the sky is wrong on macOS. You need to flip some bytes from the
|
||||||
last parameter of the program:
|
last parameter of the program:
|
||||||
|
|
||||||
@@ -171,8 +168,8 @@ because `while(c=getchar())` is not evil.
|
|||||||
6. Sprites image height.
|
6. Sprites image height.
|
||||||
7. Filename of the sprites image (raw RGBA image).
|
7. Filename of the sprites image (raw RGBA image).
|
||||||
8. Filename of the music (WAVE 8000 Hz 8bit Mono).
|
8. Filename of the music (WAVE 8000 Hz 8bit Mono).
|
||||||
9. Sky color. This number depends on the system where you run the program. See
|
9. Sky color. This number depends on the system where you run the program. [See
|
||||||
note on macOS.
|
note on macOS](#running-under-macos).
|
||||||
|
|
||||||
## Sprites
|
## Sprites
|
||||||
|
|
||||||
@@ -190,29 +187,45 @@ grid, sprite 8 is the first sprite of the second row of the grid etc.).
|
|||||||
|
|
||||||
Some positions of the grid have a predefined purpose:
|
Some positions of the grid have a predefined purpose:
|
||||||
|
|
||||||
```
|
|
||||||
Position | Description
|
- 0
|
||||||
:-----------------|:--------------
|
* Player standing right
|
||||||
0 | Player standing right
|
- 1
|
||||||
1 | Player walking right frame 0
|
* Player walking right frame 0
|
||||||
2 | Player walking right frame 1
|
- 2
|
||||||
3 | Player jumping right
|
* Player walking right frame 1
|
||||||
4 | Player standing left
|
- 3
|
||||||
5 | Player walking left frame 0
|
* Player jumping right
|
||||||
6 | Player walking left frame 1
|
- 4
|
||||||
7 | Player jumping left
|
* Player standing left
|
||||||
8 *(second row)* | Super player standing right
|
- 5
|
||||||
9 | Super player walking right frame 0
|
* Player walking left frame 0
|
||||||
10 | Super player walking right frame 1
|
- 6
|
||||||
11 | Super player jumping right
|
* Player walking left frame 1
|
||||||
12 | Super player standing left
|
- 7
|
||||||
13 | Super player walking left frame 0
|
* Player jumping left
|
||||||
14 | Super player walking left frame 1
|
- 8 _(second row)_
|
||||||
15 | Super player jumping left
|
* Super player standing right
|
||||||
24 | Player dead
|
- 9
|
||||||
32 | Player won
|
* Super player walking right frame 0
|
||||||
40 | Super player won
|
- 10
|
||||||
```
|
* Super player walking right frame 1
|
||||||
|
- 11
|
||||||
|
* Super player jumping right
|
||||||
|
- 12
|
||||||
|
* Super player standing left
|
||||||
|
- 13
|
||||||
|
* Super player walking left frame 0
|
||||||
|
- 14
|
||||||
|
* Super player walking left frame 1
|
||||||
|
- 15
|
||||||
|
* Super player jumping left
|
||||||
|
- 24
|
||||||
|
* Player dead
|
||||||
|
- 32
|
||||||
|
* Player won
|
||||||
|
- 40
|
||||||
|
* Super player won
|
||||||
|
|
||||||
All the others sprites can be used as you want, depending on the game you want
|
All the others sprites can be used as you want, depending on the game you want
|
||||||
to create.
|
to create.
|
||||||
@@ -243,53 +256,43 @@ Each row has six columns:
|
|||||||
`CLASSFLAGS` must be a combination (bitwise OR) of some of these constants:
|
`CLASSFLAGS` must be a combination (bitwise OR) of some of these constants:
|
||||||
|
|
||||||
* `ENEMY` (`1`)
|
* `ENEMY` (`1`)
|
||||||
|
- An enemy. `CLASSPARAM0` can be 0 if the enemies don't move, 1 if the
|
||||||
An enemy. CLASSPARAM0 can be 0 if the enemies don't move, 1 if the
|
initial move direction is right, -1 if that direction is left. All enemies
|
||||||
initial move direction is right, -1 if that direction is left. All
|
that walk will change their direction after 20 steps. The sprite of an enemy
|
||||||
enemies that walk will change their direction after 20 steps. The
|
must have 2 other adjacent sprites: `SPRITE-1`, used when the enemy dies, and
|
||||||
sprite of an enemy must have 2 other adjacent sprites: SPRITE-1,
|
`SPRITE+1`, used when it moves.
|
||||||
used when the enemy dies, and SPRITE+1, used when it moves.
|
|
||||||
|
|
||||||
* `BLOCK` (`2`)
|
* `BLOCK` (`2`)
|
||||||
|
- A wall. Player can walk over the object but can not pass through it.
|
||||||
A wall. Player can walk over the object but can not pass through it.
|
|
||||||
|
|
||||||
* `OBJECT BLOCK` (`4`)
|
* `OBJECT BLOCK` (`4`)
|
||||||
|
- When the player hits the object from below, a new object is created.
|
||||||
When the player hits the object from below, a new object is created.
|
`CLASSFLAGS` of the new object is defined in `CLASSPARAM0`. The sprite used
|
||||||
CLASSFLAGS of the new object is defined in CLASSPARAM0. The sprite
|
for the new object is defined in `CLASSPARAM1`. The sprite of the new object
|
||||||
used for the new object is defined in CLASSPARAM1. The sprite of the
|
must have an adjacent sprite: `SPRITE+1`, used when the block is hit.
|
||||||
new object must have an adjacent sprite: SPRITE+1, used when the
|
|
||||||
block is hit.
|
|
||||||
|
|
||||||
* `POWERUP` (`8`)
|
* `POWERUP` (`8`)
|
||||||
|
- This is a power-up like the classic Mario mushroom. When the character
|
||||||
This is a power-up like the classic Mario mushroom. When the
|
hits the power-up object, the character becomes the Super character. If
|
||||||
character hits the power-up object, the character becomes the Super
|
`CLASSFLAGS` has the bit `ZOOM`, the character height will be doubled. The
|
||||||
character. If CLASSFLAGS has the bit ZOOM, the character height will
|
Super character can hit the enemies without dying, but when this happens,
|
||||||
be doubled. The Super character can hit the enemies without dying,
|
the Super character goes back to being normal.
|
||||||
but when this happens, the Super character goes back to being
|
|
||||||
normal.
|
|
||||||
|
|
||||||
* `END` (`16`)
|
* `END` (`16`)
|
||||||
|
- When the player hits this object the level ends; the player wins.
|
||||||
When the player hits this object the level ends; the player wins.
|
|
||||||
|
|
||||||
* `ZOOM` (`32`)
|
* `ZOOM` (`32`)
|
||||||
|
- This flag can be used with `POWERUP` to indicate a power-up that will
|
||||||
This flag can be used with POWERUP to indicate a power-up that
|
double the size of the player (like the Mario mushroom).
|
||||||
will double the size of the player (like the Mario mushroom).
|
|
||||||
|
|
||||||
* `DESTROY` (`64`)
|
* `DESTROY` (`64`)
|
||||||
|
- When the player hits the object (e.g. the classic Mario coin) the object
|
||||||
When the player hits the object (e.g. the classic Mario coin) the
|
disappears but the engine does not count the points, so, from the player
|
||||||
object disappears but the engine does not count the points, so,
|
point of view, this object is useless.
|
||||||
from the player point of view, this object is useless.
|
|
||||||
|
|
||||||
* `DESTROYUP` (`128`)
|
* `DESTROYUP` (`128`)
|
||||||
|
- This object is like a `BLOCK` but when the player hits the object from
|
||||||
This object is like a BLOCK but when the player hits the object
|
below, the object disappears.
|
||||||
from below, the object disappears.
|
|
||||||
|
|
||||||
If `CLASSFLAGS` is `0` the object only has an aesthetic function.
|
If `CLASSFLAGS` is `0` the object only has an aesthetic function.
|
||||||
|
|
||||||
|
|||||||
+129
-60
@@ -431,8 +431,8 @@ if you don’t know how to do this for your system.</p>
|
|||||||
<li>Sprites image height.</li>
|
<li>Sprites image height.</li>
|
||||||
<li>Filename of the sprites image (raw RGBA image).</li>
|
<li>Filename of the sprites image (raw RGBA image).</li>
|
||||||
<li>Filename of the music (WAVE 8000 Hz 8bit Mono).</li>
|
<li>Filename of the music (WAVE 8000 Hz 8bit Mono).</li>
|
||||||
<li>Sky color. This number depends on the system where you run the program. See
|
<li>Sky color. This number depends on the system where you run the program. <a href="#running-under-macos">See
|
||||||
note on macOS.</li>
|
note on macOS</a>.</li>
|
||||||
</ol>
|
</ol>
|
||||||
<h2 id="try">Try:</h2>
|
<h2 id="try">Try:</h2>
|
||||||
<pre><code> ./giana.sh
|
<pre><code> ./giana.sh
|
||||||
@@ -489,8 +489,6 @@ these type of obstacles but cannot walk through them.</p></li>
|
|||||||
dies or loses its powers.</p></li>
|
dies or loses its powers.</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3 id="running-under-macos">Running under macOS</h3>
|
<h3 id="running-under-macos">Running under macOS</h3>
|
||||||
<p>[NOTE: this seems to no longer be the case as of 2023 and most likely much
|
|
||||||
earlier. However one can change the look of the game doing this anyway:]</p>
|
|
||||||
<p>The color of the sky is wrong on macOS. You need to flip some bytes from the
|
<p>The color of the sky is wrong on macOS. You need to flip some bytes from the
|
||||||
last parameter of the program:</p>
|
last parameter of the program:</p>
|
||||||
<ul>
|
<ul>
|
||||||
@@ -518,8 +516,8 @@ because <code>while(c=getchar())</code> is not evil.</li>
|
|||||||
<li>Sprites image height.</li>
|
<li>Sprites image height.</li>
|
||||||
<li>Filename of the sprites image (raw RGBA image).</li>
|
<li>Filename of the sprites image (raw RGBA image).</li>
|
||||||
<li>Filename of the music (WAVE 8000 Hz 8bit Mono).</li>
|
<li>Filename of the music (WAVE 8000 Hz 8bit Mono).</li>
|
||||||
<li>Sky color. This number depends on the system where you run the program. See
|
<li>Sky color. This number depends on the system where you run the program. <a href="#running-under-macos">See
|
||||||
note on macOS.</li>
|
note on macOS</a>.</li>
|
||||||
</ol>
|
</ol>
|
||||||
<h2 id="sprites">Sprites</h2>
|
<h2 id="sprites">Sprites</h2>
|
||||||
<p>The program read a single image that contains all the game sprites. The image
|
<p>The program read a single image that contains all the game sprites. The image
|
||||||
@@ -530,27 +528,84 @@ program calculates the size in this way:</p>
|
|||||||
line, from left to right (for example sprite 0 is the top left sprite in the
|
line, from left to right (for example sprite 0 is the top left sprite in the
|
||||||
grid, sprite 8 is the first sprite of the second row of the grid etc.).</p>
|
grid, sprite 8 is the first sprite of the second row of the grid etc.).</p>
|
||||||
<p>Some positions of the grid have a predefined purpose:</p>
|
<p>Some positions of the grid have a predefined purpose:</p>
|
||||||
<pre><code> Position | Description
|
<ul>
|
||||||
:-----------------|:--------------
|
<li>0
|
||||||
0 | Player standing right
|
<ul>
|
||||||
1 | Player walking right frame 0
|
<li>Player standing right</li>
|
||||||
2 | Player walking right frame 1
|
</ul></li>
|
||||||
3 | Player jumping right
|
<li>1
|
||||||
4 | Player standing left
|
<ul>
|
||||||
5 | Player walking left frame 0
|
<li>Player walking right frame 0</li>
|
||||||
6 | Player walking left frame 1
|
</ul></li>
|
||||||
7 | Player jumping left
|
<li>2
|
||||||
8 *(second row)* | Super player standing right
|
<ul>
|
||||||
9 | Super player walking right frame 0
|
<li>Player walking right frame 1</li>
|
||||||
10 | Super player walking right frame 1
|
</ul></li>
|
||||||
11 | Super player jumping right
|
<li>3
|
||||||
12 | Super player standing left
|
<ul>
|
||||||
13 | Super player walking left frame 0
|
<li>Player jumping right</li>
|
||||||
14 | Super player walking left frame 1
|
</ul></li>
|
||||||
15 | Super player jumping left
|
<li>4
|
||||||
24 | Player dead
|
<ul>
|
||||||
32 | Player won
|
<li>Player standing left</li>
|
||||||
40 | Super player won</code></pre>
|
</ul></li>
|
||||||
|
<li>5
|
||||||
|
<ul>
|
||||||
|
<li>Player walking left frame 0</li>
|
||||||
|
</ul></li>
|
||||||
|
<li>6
|
||||||
|
<ul>
|
||||||
|
<li>Player walking left frame 1</li>
|
||||||
|
</ul></li>
|
||||||
|
<li>7
|
||||||
|
<ul>
|
||||||
|
<li>Player jumping left</li>
|
||||||
|
</ul></li>
|
||||||
|
<li>8 <em>(second row)</em>
|
||||||
|
<ul>
|
||||||
|
<li>Super player standing right</li>
|
||||||
|
</ul></li>
|
||||||
|
<li>9
|
||||||
|
<ul>
|
||||||
|
<li>Super player walking right frame 0</li>
|
||||||
|
</ul></li>
|
||||||
|
<li>10
|
||||||
|
<ul>
|
||||||
|
<li>Super player walking right frame 1</li>
|
||||||
|
</ul></li>
|
||||||
|
<li>11
|
||||||
|
<ul>
|
||||||
|
<li>Super player jumping right</li>
|
||||||
|
</ul></li>
|
||||||
|
<li>12
|
||||||
|
<ul>
|
||||||
|
<li>Super player standing left</li>
|
||||||
|
</ul></li>
|
||||||
|
<li>13
|
||||||
|
<ul>
|
||||||
|
<li>Super player walking left frame 0</li>
|
||||||
|
</ul></li>
|
||||||
|
<li>14
|
||||||
|
<ul>
|
||||||
|
<li>Super player walking left frame 1</li>
|
||||||
|
</ul></li>
|
||||||
|
<li>15
|
||||||
|
<ul>
|
||||||
|
<li>Super player jumping left</li>
|
||||||
|
</ul></li>
|
||||||
|
<li>24
|
||||||
|
<ul>
|
||||||
|
<li>Player dead</li>
|
||||||
|
</ul></li>
|
||||||
|
<li>32
|
||||||
|
<ul>
|
||||||
|
<li>Player won</li>
|
||||||
|
</ul></li>
|
||||||
|
<li>40
|
||||||
|
<ul>
|
||||||
|
<li>Super player won</li>
|
||||||
|
</ul></li>
|
||||||
|
</ul>
|
||||||
<p>All the others sprites can be used as you want, depending on the game you want
|
<p>All the others sprites can be used as you want, depending on the game you want
|
||||||
to create.</p>
|
to create.</p>
|
||||||
<h2 id="levels">Levels</h2>
|
<h2 id="levels">Levels</h2>
|
||||||
@@ -571,39 +626,53 @@ here:</p>
|
|||||||
</ol>
|
</ol>
|
||||||
<p><code>CLASSFLAGS</code> must be a combination (bitwise OR) of some of these constants:</p>
|
<p><code>CLASSFLAGS</code> must be a combination (bitwise OR) of some of these constants:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><p><code>ENEMY</code> (<code>1</code>)</p>
|
<li><code>ENEMY</code> (<code>1</code>)
|
||||||
<pre><code> An enemy. CLASSPARAM0 can be 0 if the enemies don't move, 1 if the
|
<ul>
|
||||||
initial move direction is right, -1 if that direction is left. All
|
<li>An enemy. <code>CLASSPARAM0</code> can be 0 if the enemies don’t move, 1 if the
|
||||||
enemies that walk will change their direction after 20 steps. The
|
initial move direction is right, -1 if that direction is left. All enemies
|
||||||
sprite of an enemy must have 2 other adjacent sprites: SPRITE-1,
|
that walk will change their direction after 20 steps. The sprite of an enemy
|
||||||
used when the enemy dies, and SPRITE+1, used when it moves.</code></pre></li>
|
must have 2 other adjacent sprites: <code>SPRITE-1</code>, used when the enemy dies, and
|
||||||
<li><p><code>BLOCK</code> (<code>2</code>)</p>
|
<code>SPRITE+1</code>, used when it moves.</li>
|
||||||
<pre><code> A wall. Player can walk over the object but can not pass through it.</code></pre></li>
|
</ul></li>
|
||||||
<li><p><code>OBJECT BLOCK</code> (<code>4</code>)</p>
|
<li><code>BLOCK</code> (<code>2</code>)
|
||||||
<pre><code> When the player hits the object from below, a new object is created.
|
<ul>
|
||||||
CLASSFLAGS of the new object is defined in CLASSPARAM0. The sprite
|
<li>A wall. Player can walk over the object but can not pass through it.</li>
|
||||||
used for the new object is defined in CLASSPARAM1. The sprite of the
|
</ul></li>
|
||||||
new object must have an adjacent sprite: SPRITE+1, used when the
|
<li><code>OBJECT BLOCK</code> (<code>4</code>)
|
||||||
block is hit.</code></pre></li>
|
<ul>
|
||||||
<li><p><code>POWERUP</code> (<code>8</code>)</p>
|
<li>When the player hits the object from below, a new object is created.
|
||||||
<pre><code> This is a power-up like the classic Mario mushroom. When the
|
<code>CLASSFLAGS</code> of the new object is defined in <code>CLASSPARAM0</code>. The sprite used
|
||||||
character hits the power-up object, the character becomes the Super
|
for the new object is defined in <code>CLASSPARAM1</code>. The sprite of the new object
|
||||||
character. If CLASSFLAGS has the bit ZOOM, the character height will
|
must have an adjacent sprite: <code>SPRITE+1</code>, used when the block is hit.</li>
|
||||||
be doubled. The Super character can hit the enemies without dying,
|
</ul></li>
|
||||||
but when this happens, the Super character goes back to being
|
<li><code>POWERUP</code> (<code>8</code>)
|
||||||
normal.</code></pre></li>
|
<ul>
|
||||||
<li><p><code>END</code> (<code>16</code>)</p>
|
<li>This is a power-up like the classic Mario mushroom. When the character
|
||||||
<pre><code> When the player hits this object the level ends; the player wins.</code></pre></li>
|
hits the power-up object, the character becomes the Super character. If
|
||||||
<li><p><code>ZOOM</code> (<code>32</code>)</p>
|
<code>CLASSFLAGS</code> has the bit <code>ZOOM</code>, the character height will be doubled. The
|
||||||
<pre><code> This flag can be used with POWERUP to indicate a power-up that
|
Super character can hit the enemies without dying, but when this happens,
|
||||||
will double the size of the player (like the Mario mushroom).</code></pre></li>
|
the Super character goes back to being normal.</li>
|
||||||
<li><p><code>DESTROY</code> (<code>64</code>)</p>
|
</ul></li>
|
||||||
<pre><code> When the player hits the object (e.g. the classic Mario coin) the
|
<li><code>END</code> (<code>16</code>)
|
||||||
object disappears but the engine does not count the points, so,
|
<ul>
|
||||||
from the player point of view, this object is useless.</code></pre></li>
|
<li>When the player hits this object the level ends; the player wins.</li>
|
||||||
<li><p><code>DESTROYUP</code> (<code>128</code>)</p>
|
</ul></li>
|
||||||
<pre><code> This object is like a BLOCK but when the player hits the object
|
<li><code>ZOOM</code> (<code>32</code>)
|
||||||
from below, the object disappears.</code></pre></li>
|
<ul>
|
||||||
|
<li>This flag can be used with <code>POWERUP</code> to indicate a power-up that will
|
||||||
|
double the size of the player (like the Mario mushroom).</li>
|
||||||
|
</ul></li>
|
||||||
|
<li><code>DESTROY</code> (<code>64</code>)
|
||||||
|
<ul>
|
||||||
|
<li>When the player hits the object (e.g. the classic Mario coin) the object
|
||||||
|
disappears but the engine does not count the points, so, from the player
|
||||||
|
point of view, this object is useless.</li>
|
||||||
|
</ul></li>
|
||||||
|
<li><code>DESTROYUP</code> (<code>128</code>)
|
||||||
|
<ul>
|
||||||
|
<li>This object is like a <code>BLOCK</code> but when the player hits the object from
|
||||||
|
below, the object disappears.</li>
|
||||||
|
</ul></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>If <code>CLASSFLAGS</code> is <code>0</code> the object only has an aesthetic function.</p>
|
<p>If <code>CLASSFLAGS</code> is <code>0</code> the object only has an aesthetic function.</p>
|
||||||
<p>The last row of the level descriptor must have all its columns set equal to
|
<p>The last row of the level descriptor must have all its columns set equal to
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
./prog
|
./prog
|
||||||
```
|
```
|
||||||
|
|
||||||
HINT: Try pressing the left and right arrow keys as needed.
|
**HINT**: Try pressing the left and right arrow keys as needed.
|
||||||
Also try pressing space/enter to select options.
|
Also try pressing space/enter to select options.
|
||||||
Pressing Q or Escape may end the fun before you are ready. :-)
|
Pressing Q or Escape may end the fun before you are ready. :-)
|
||||||
|
|
||||||
@@ -66,22 +66,22 @@ The current size is a third to a half of the original size before compression.
|
|||||||
|
|
||||||
Due to this, it does LOTS of things that subtly annoy compilers!
|
Due to this, it does LOTS of things that subtly annoy compilers!
|
||||||
|
|
||||||
* (10) data argument not used by format string
|
* `(10)` data argument not used by format string
|
||||||
|
|
||||||
This occurs because some of the `fprintf(3)` invocations don't use all their
|
This occurs because some of the `fprintf(3)` invocations don't use all their
|
||||||
parameters. The program should still work fine!
|
parameters. The program should still work fine!
|
||||||
|
|
||||||
* (1) using the result of an assignment as a condition without parentheses
|
* `(1)` using the result of an assignment as a condition without parentheses
|
||||||
|
|
||||||
Somewhere, I needed to set a variable and then branch on the result. The
|
Somewhere, I needed to set a variable and then branch on the result. The
|
||||||
shortest way was to combine them. Some self-proclaimed "EXPERTS" think this
|
shortest way was to combine them. Some self-proclaimed "EXPERTS" think this
|
||||||
is a bad programming practice, but what do they know? :P
|
is a bad programming practice, but what do they know? :P
|
||||||
|
|
||||||
* (1) implicit declaration of function 'time' is invalid in C99
|
* `(1)` implicit declaration of function 'time' is invalid in C99
|
||||||
|
|
||||||
An `#include` statement is expensive, and I'm broke.
|
An `#include` statement is expensive, and I'm broke.
|
||||||
|
|
||||||
* (1) control may reach end of non-void function
|
* `(1)` control may reach end of non-void function
|
||||||
|
|
||||||
Turns out that sometimes, a `return` statement is too much. This will never
|
Turns out that sometimes, a `return` statement is too much. This will never
|
||||||
actually occur, but some C compilers think they know more about my program
|
actually occur, but some C compilers think they know more about my program
|
||||||
|
|||||||
+5
-13
@@ -412,7 +412,7 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
|
|||||||
<pre><code> make</code></pre>
|
<pre><code> make</code></pre>
|
||||||
<h2 id="to-use">To use:</h2>
|
<h2 id="to-use">To use:</h2>
|
||||||
<pre><code> ./prog</code></pre>
|
<pre><code> ./prog</code></pre>
|
||||||
<p>HINT: Try pressing the left and right arrow keys as needed.
|
<p><strong>HINT</strong>: Try pressing the left and right arrow keys as needed.
|
||||||
Also try pressing space/enter to select options.
|
Also try pressing space/enter to select options.
|
||||||
Pressing Q or Escape may end the fun before you are ready. :-)</p>
|
Pressing Q or Escape may end the fun before you are ready. :-)</p>
|
||||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||||
@@ -449,24 +449,16 @@ size requirements. It’s currently at 2052 according to
|
|||||||
<p>The current size is a third to a half of the original size before compression.</p>
|
<p>The current size is a third to a half of the original size before compression.</p>
|
||||||
<p>Due to this, it does LOTS of things that subtly annoy compilers!</p>
|
<p>Due to this, it does LOTS of things that subtly annoy compilers!</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><ol start="10" type="1">
|
<li><p><code>(10)</code> data argument not used by format string</p>
|
||||||
<li>data argument not used by format string</li>
|
|
||||||
</ol>
|
|
||||||
<p>This occurs because some of the <code>fprintf(3)</code> invocations don’t use all their
|
<p>This occurs because some of the <code>fprintf(3)</code> invocations don’t use all their
|
||||||
parameters. The program should still work fine!</p></li>
|
parameters. The program should still work fine!</p></li>
|
||||||
<li><ol type="1">
|
<li><p><code>(1)</code> using the result of an assignment as a condition without parentheses</p>
|
||||||
<li>using the result of an assignment as a condition without parentheses</li>
|
|
||||||
</ol>
|
|
||||||
<p>Somewhere, I needed to set a variable and then branch on the result. The
|
<p>Somewhere, I needed to set a variable and then branch on the result. The
|
||||||
shortest way was to combine them. Some self-proclaimed “EXPERTS” think this
|
shortest way was to combine them. Some self-proclaimed “EXPERTS” think this
|
||||||
is a bad programming practice, but what do they know? :P</p></li>
|
is a bad programming practice, but what do they know? :P</p></li>
|
||||||
<li><ol type="1">
|
<li><p><code>(1)</code> implicit declaration of function ‘time’ is invalid in C99</p>
|
||||||
<li>implicit declaration of function ‘time’ is invalid in C99</li>
|
|
||||||
</ol>
|
|
||||||
<p>An <code>#include</code> statement is expensive, and I’m broke.</p></li>
|
<p>An <code>#include</code> statement is expensive, and I’m broke.</p></li>
|
||||||
<li><ol type="1">
|
<li><p><code>(1)</code> control may reach end of non-void function</p>
|
||||||
<li>control may reach end of non-void function</li>
|
|
||||||
</ol>
|
|
||||||
<p>Turns out that sometimes, a <code>return</code> statement is too much. This will never
|
<p>Turns out that sometimes, a <code>return</code> statement is too much. This will never
|
||||||
actually occur, but some C compilers think they know more about my program
|
actually occur, but some C compilers think they know more about my program
|
||||||
than I do! :P</p></li>
|
than I do! :P</p></li>
|
||||||
|
|||||||
+1
-1
@@ -108,7 +108,7 @@ any code in order for the program to run correctly:
|
|||||||
_setmode(_fileno(stdout), 0x8000);
|
_setmode(_fileno(stdout), 0x8000);
|
||||||
```
|
```
|
||||||
|
|
||||||
**NOTE**: see the [alternate code](%%REPO_URL%%/2014/vik/prog.alt.c) for this.
|
**NOTE**: see the [Alternate code](#alternate-code) for this.
|
||||||
|
|
||||||
|
|
||||||
### Known Issues
|
### Known Issues
|
||||||
|
|||||||
+1
-1
@@ -458,7 +458,7 @@ the program relies on writing binary data to <code>stdout</code>.</p>
|
|||||||
program with this platform, the following line can be added to <code>main()</code> before
|
program with this platform, the following line can be added to <code>main()</code> before
|
||||||
any code in order for the program to run correctly:</p>
|
any code in order for the program to run correctly:</p>
|
||||||
<pre><code> _setmode(_fileno(stdout), 0x8000);</code></pre>
|
<pre><code> _setmode(_fileno(stdout), 0x8000);</code></pre>
|
||||||
<p><strong>NOTE</strong>: see the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/vik/prog.alt.c">alternate code</a> for this.</p>
|
<p><strong>NOTE</strong>: see the <a href="#alternate-code">Alternate code</a> for this.</p>
|
||||||
<h3 id="known-issues">Known Issues</h3>
|
<h3 id="known-issues">Known Issues</h3>
|
||||||
<p>The program uses a quite simple algorithm for detecting tone on and off events
|
<p>The program uses a quite simple algorithm for detecting tone on and off events
|
||||||
in the Morse signal. Hence the program does not work well with noisy input
|
in the Morse signal. Hence the program does not work well with noisy input
|
||||||
|
|||||||
@@ -2843,16 +2843,17 @@ used.</li>
|
|||||||
<h3 id="status-inabiaf---please-do-not-fix-70">STATUS: INABIAF - please <strong>DO NOT</strong> fix</h3>
|
<h3 id="status-inabiaf---please-do-not-fix-70">STATUS: INABIAF - please <strong>DO NOT</strong> fix</h3>
|
||||||
<h3 id="source-code-2013endoh1endoh1.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/endoh1/endoh1.c">2013/endoh1/endoh1.c</a></h3>
|
<h3 id="source-code-2013endoh1endoh1.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/endoh1/endoh1.c">2013/endoh1/endoh1.c</a></h3>
|
||||||
<h3 id="information-2013endoh1index.html">Information: <a href="2013/endoh1/index.html">2013/endoh1/index.html</a></h3>
|
<h3 id="information-2013endoh1index.html">Information: <a href="2013/endoh1/index.html">2013/endoh1/index.html</a></h3>
|
||||||
<p>From the author:</p>
|
<blockquote>
|
||||||
<p>–</p>
|
|
||||||
<p>This program supports only “Combinator-calculus style notation” of Lazy K.
|
<p>This program supports only “Combinator-calculus style notation” of Lazy K.
|
||||||
“Unlambda style” and “Iota and Jot” style are not supported.</p>
|
“Unlambda style” and “Iota and Jot” style are not supported.</p>
|
||||||
|
</blockquote>
|
||||||
|
<blockquote>
|
||||||
<p>Also, it requires a space between identifiers. In short, use <code>(S K)</code> instead of
|
<p>Also, it requires a space between identifiers. In short, use <code>(S K)</code> instead of
|
||||||
<code>(SK)</code>, “`sk”, **i<em>i</em>i<em>ii</em>i<em>i</em>ii<code>, or</code>11111100011100`.</p>
|
<code>(SK)</code>, “`sk”, <code>**i*i*i*ii*i*i*ii</code>, or <code>11111100011100</code>.</p>
|
||||||
<p>Huge memory may be required to compile the program (about 300 MB on my machine).</p>
|
<p>Huge memory may be required to compile the program (about 300 MB on my machine).</p>
|
||||||
<p>In addition, there are some limitations (and workarounds) mentioned in the
|
<p>In addition, there are some limitations (and workarounds) mentioned in the
|
||||||
<a href="2013/endoh1/index.html#obfuscation">obfuscation section</a>.</p>
|
<a href="2013/endoh1/index.html#obfuscation">obfuscation section</a>.</p>
|
||||||
<p>–</p>
|
</blockquote>
|
||||||
<div id="2013_endoh3">
|
<div id="2013_endoh3">
|
||||||
<h2 id="endoh3">2013/endoh3</h2>
|
<h2 id="endoh3">2013/endoh3</h2>
|
||||||
</div>
|
</div>
|
||||||
@@ -2860,12 +2861,12 @@ used.</li>
|
|||||||
<h3 id="source-code-2013endoh3endoh3.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/endoh3/endoh3.c">2013/endoh3/endoh3.c</a></h3>
|
<h3 id="source-code-2013endoh3endoh3.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/endoh3/endoh3.c">2013/endoh3/endoh3.c</a></h3>
|
||||||
<h3 id="information-2013endoh3index.html">Information: <a href="2013/endoh3/index.html">2013/endoh3/index.html</a></h3>
|
<h3 id="information-2013endoh3index.html">Information: <a href="2013/endoh3/index.html">2013/endoh3/index.html</a></h3>
|
||||||
<p>From the author:</p>
|
<p>From the author:</p>
|
||||||
<p>–</p>
|
<blockquote>
|
||||||
<p>You can <em>NOT</em> write a note length immediately followed by a note <code>E</code>,
|
<p>You can <em>NOT</em> write a note length immediately followed by a note <code>E</code>, such as
|
||||||
such as <code>C2E2</code>.</p>
|
<code>C2E2</code>.</p>
|
||||||
<p>Can you figure out why?</p>
|
<p>Can you figure out why?</p>
|
||||||
<p>A workaround is inserting a whitespace: <code>C2 E2</code>.</p>
|
<p>A workaround is inserting a whitespace: <code>C2 E2</code>.</p>
|
||||||
<p>–</p>
|
</blockquote>
|
||||||
<div id="2013_endoh4">
|
<div id="2013_endoh4">
|
||||||
<h2 id="endoh4">2013/endoh4</h2>
|
<h2 id="endoh4">2013/endoh4</h2>
|
||||||
</div>
|
</div>
|
||||||
@@ -2904,24 +2905,21 @@ it out as a known limitation it is not a bug but a feature.</p>
|
|||||||
<h3 id="status-inabiaf---please-do-not-fix-75">STATUS: INABIAF - please <strong>DO NOT</strong> fix</h3>
|
<h3 id="status-inabiaf---please-do-not-fix-75">STATUS: INABIAF - please <strong>DO NOT</strong> fix</h3>
|
||||||
<h3 id="source-code-2014maffiodo1prog.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/maffiodo1/prog.c">2014/maffiodo1/prog.c</a></h3>
|
<h3 id="source-code-2014maffiodo1prog.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/maffiodo1/prog.c">2014/maffiodo1/prog.c</a></h3>
|
||||||
<h3 id="information-2014maffiodo1index.html">Information: <a href="2014/maffiodo1/index.html">2014/maffiodo1/index.html</a></h3>
|
<h3 id="information-2014maffiodo1index.html">Information: <a href="2014/maffiodo1/index.html">2014/maffiodo1/index.html</a></h3>
|
||||||
<p>The author noted that in macOS the colours might be wrong. They gave a solution.
|
<p>The author noted that in macOS the colours might be wrong and gives a solution,
|
||||||
However Cody didn’t see any problem with it and he beat the series many times.
|
though it is unclear if this is still true or if there was any problem at all.</p>
|
||||||
Of course the game here is small and he’s practically blind and it’s been a
|
|
||||||
while since he last played so it might be wrong. Nevertheless the author does
|
|
||||||
give a way to reconfigure the colours.</p>
|
|
||||||
<p>The author noted that the character cannot go through walls and the impression
|
<p>The author noted that the character cannot go through walls and the impression
|
||||||
is that this is how it was believed but Cody ironically pointed out that there
|
is that this is how it was believed but someone did ironically point out that
|
||||||
are known glitches where in some places you actually could go through walls.
|
there are known glitches where in some places you actually could go through
|
||||||
This might even have applied to the arcade version, Mario Bros, though that can
|
walls. This might even have applied to the arcade version, Mario Bros, though
|
||||||
no longer be confirmed by Cody. The point here is that in this game you cannot
|
that can no longer be confirmed by said person. The point here is that in this
|
||||||
go through walls but it’s not a bug.</p>
|
game you cannot go through walls but it’s not a bug.</p>
|
||||||
<p>On the other hand, the author also stated:</p>
|
<p>On the other hand, the author also stated:</p>
|
||||||
<p>–</p>
|
<blockquote>
|
||||||
<p>When the <code>Super character</code> becomes bigger (<code>ZOOM</code> flag), the character can
|
<p>When the <code>Super character</code> becomes bigger (<code>ZOOM</code> flag), the character can
|
||||||
collide with blocks and get stuck inside them. This is a KNOWN BUG. When your
|
collide with blocks and get stuck inside them. This is a KNOWN BUG. When your
|
||||||
player become bigger, stay away from blocks!</p>
|
player become bigger, stay away from blocks!</p>
|
||||||
<p>–</p>
|
</blockquote>
|
||||||
<p>but since it’s documented it’s considered a feature, not a bug to fix.</p>
|
<p>.. but since it’s documented it’s considered a feature, not a bug to fix.</p>
|
||||||
<div id="2014_maffiodo2">
|
<div id="2014_maffiodo2">
|
||||||
<h2 id="maffiodo2">2014/maffiodo2</h2>
|
<h2 id="maffiodo2">2014/maffiodo2</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -389,7 +389,7 @@
|
|||||||
|
|
||||||
<!-- BEFORE: 1st line of markdown file: faq.md -->
|
<!-- BEFORE: 1st line of markdown file: faq.md -->
|
||||||
<h1 id="faq-table-of-contents">FAQ Table of Contents</h1>
|
<h1 id="faq-table-of-contents">FAQ Table of Contents</h1>
|
||||||
<p>This is FAQ version <strong>28.0.4 2024-08-24</strong>.</p>
|
<p>This is FAQ version <strong>28.0.5 2024-10-14</strong>.</p>
|
||||||
<h2 id="section-0---submitting-to-a-new-ioccc">Section 0 - <a href="#faq0">Submitting to a new IOCCC</a></h2>
|
<h2 id="section-0---submitting-to-a-new-ioccc">Section 0 - <a href="#faq0">Submitting to a new IOCCC</a></h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a class="normal" href="#faq0_0">0.0 - How may I enter the IOCCC?</a></li>
|
<li><a class="normal" href="#faq0_0">0.0 - How may I enter the IOCCC?</a></li>
|
||||||
@@ -455,6 +455,8 @@
|
|||||||
<li><a class="normal" href="#faq3_21">3.21 - What are <code>try.sh</code> and <code>try.alt.sh</code> scripts and why should I use them?</a></li>
|
<li><a class="normal" href="#faq3_21">3.21 - What are <code>try.sh</code> and <code>try.alt.sh</code> scripts and why should I use them?</a></li>
|
||||||
<li><a class="normal" href="#faq3_22">3.22 - Are there any compiler warnings that I should not worry about?</a></li>
|
<li><a class="normal" href="#faq3_22">3.22 - Are there any compiler warnings that I should not worry about?</a></li>
|
||||||
<li><a class="normal" href="#faq3_23">3.23 - How do I compile an IOCCC entry that requires zlib?</a></li>
|
<li><a class="normal" href="#faq3_23">3.23 - How do I compile an IOCCC entry that requires zlib?</a></li>
|
||||||
|
<li><a class="normal" href="#faq3_24">3.24 - How do I install Ruby for entries that require it?</a></li>
|
||||||
|
<li><a class="normal" href="#faq3_25">3.25 - How do I install rake for entries that require it?</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<h2 id="section-4---changes-made-to-ioccc-entries">Section 4 - <a href="#faq4">Changes made to IOCCC entries</a></h2>
|
<h2 id="section-4---changes-made-to-ioccc-entries">Section 4 - <a href="#faq4">Changes made to IOCCC entries</a></h2>
|
||||||
<ul>
|
<ul>
|
||||||
@@ -3333,6 +3335,29 @@ packages: one for compiling and one for linking / running.</p>
|
|||||||
for downloading, installing and using zlib.</p>
|
for downloading, installing and using zlib.</p>
|
||||||
<p>We recommend trying a method suitable for your environment first, if possible.</p>
|
<p>We recommend trying a method suitable for your environment first, if possible.</p>
|
||||||
<p>Jump to: <a href="#">top</a></p>
|
<p>Jump to: <a href="#">top</a></p>
|
||||||
|
<div id="faq3_24">
|
||||||
|
<div id="ruby">
|
||||||
|
<h3 id="faq-3.24-how-do-i-install-ruby-for-entries-that-require-it">FAQ 3.24: How do I install Ruby for entries that require it?</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p>Please see the <a href="https://www.ruby-lang.org/en/documentation/installation/">official Ruby installation
|
||||||
|
guide</a>.</p>
|
||||||
|
<p>Jump to: <a href="#">top</a></p>
|
||||||
|
<div id="faq3_25">
|
||||||
|
<div id="rake">
|
||||||
|
<h3 id="faq-3.25-how-do-i-install-rake-for-entries-that-require-it">FAQ 3.25: How do I install rake for entries that require it?</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p>First, if <code>gem</code> is not installed, see the <a href="https://github.com/rubygems/rubygems">gem GitHub repo</a>.</p>
|
||||||
|
<p>Assuming you have <code>git(1)</code> installed, you can do:</p>
|
||||||
|
<pre><code> git clone https://github.com/rubygems/rubygems
|
||||||
|
cd rubygems && exe/gem install rake</code></pre>
|
||||||
|
<p>Otherwise, you can download the zip file, extract it, cd to the directory and
|
||||||
|
then run:</p>
|
||||||
|
<pre><code> exe/gem install rake</code></pre>
|
||||||
|
<p>Once this is done, try as root or via <code>sudo</code>:</p>
|
||||||
|
<pre><code> gem install rake</code></pre>
|
||||||
|
<p>Jump to: <a href="#">top</a></p>
|
||||||
<div id="faq4">
|
<div id="faq4">
|
||||||
<h2 id="section-4-changes-made-to-ioccc-entries">Section 4: Changes made to IOCCC entries</h2>
|
<h2 id="section-4-changes-made-to-ioccc-entries">Section 4: Changes made to IOCCC entries</h2>
|
||||||
</div>
|
</div>
|
||||||
@@ -3398,7 +3423,7 @@ can look almost identical.</p>
|
|||||||
</div>
|
</div>
|
||||||
<p>We have set up make rules to easily do see what was changed in the winning IOCCC
|
<p>We have set up make rules to easily do see what was changed in the winning IOCCC
|
||||||
entry source. Using the <code>Makefile</code> in the entry directory, use
|
entry source. Using the <code>Makefile</code> in the entry directory, use
|
||||||
one of the following <em>make(1)</em> rules:</p>
|
one of the following <code>make(1)</code> rules:</p>
|
||||||
<p>The following <code>make</code> rules exist to make a difference:</p>
|
<p>The following <code>make</code> rules exist to make a difference:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><code>make diff_orig_prog</code>:
|
<li><code>make diff_orig_prog</code>:
|
||||||
|
|||||||
Reference in new issue
Block a user