add notices to those who wish for a greater challenge

We add the following level-3 header to help people identify text
they may wish to skip if they wish for a greater challenge:

```
```

After that notice we add:

```
**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.

If you get stuck, come back and read below for additional hints and information.
```

And sometimes follow with:

```
```

Or sometimes follow with:

```
```

Where the alt code impacts a "greater challenge", we add instead:

```
**If you want a greater challenge, don't read any further**:
just try to understand the program without looking at the Alternate code.

If you get stuck, come back and look at the Alternate code.
```

And where a given command impacts a "greater challenge", we add instead:

```
**If you want a greater challenge, don't read any further**:
just try to understand the program without running the command below.

If you get stuck, come back and run the following command:
```

Perform `make www` to perform the above and test under macOS.
This commit is contained in:
Landon Curt Noll committed 2024-07-07 00:25:20 -07:00
1 parent 7af7a80cca
commit 2e2ae5f132
112 files changed
+845 -216

No files matched your search

+40 -31
View File
@@ -259,7 +259,46 @@ a usage of `I` (complex's imaginary unit), but I bet this is cygwin's issue;
it is surely a C99 feature.
### Obfuscation
### Notes about Additional Files
[logo.txt](logo.txt) is a source of the logo in this remark file.
[column.txt](column.txt) is a water column collapse, which is a popular demo of SPH.
[pour-out.txt](pour-out.txt) pours you a cup of tea.
[tanada.txt](tanada.txt) simulates "Terrace farming". ("Tanada" means a
"[terraced rice](https://en.wikipedia.org/wiki/Terrace_(earthworks) fields)" in Japanese.)
[clock.txt](clock.txt) is a "water" clock created by HAMANO Tsukasa.
Other `*.txt` files are from the judges.
[endoh1_color.c](%%REPO_URL%%/2012/endoh1/endoh1_color.c) is a variant that shows the density by using terminal 256
colors.
### Acknowledgments
I would like to thank my wife @hirekoke for her teaching me the SPH method.
The judges <del>ordered</del> suggested creating a color version
after the contest.
The judges and HAMANO Tsukasa (The silver medalist at this IOCCC) kindly
provided many configuration files.
### NOTICE to those who wish for a greater challenge
**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.
If you get stuck, come back and read below for additional hints and information.
### How this entry works:
First of all, the source code itself serves as an initial configuration.
Preprocessing directives (such as `#include`)'s `#` serve as walls.
@@ -283,36 +322,6 @@ extract "integer part of real part" from a complex value by assigning (and
casting) it to an integer-type variable.
### Notes about Additional Files
[logo.txt](logo.txt) is a source of the logo in this remark file.
[column.txt](column.txt) is a water column collapse, which is a popular demo of SPH.
[pour-out.txt](pour-out.txt) pours you a cup of tea.
[tanada.txt](tanada.txt) simulates "Terrace farming". ("Tanada" means a
"[terraced rice](https://en.wikipedia.org/wiki/Terrace_&#x28;earthworks&#x29; fields)" in Japanese.)
[clock.txt](clock.txt) is a "water" clock created by HAMANO Tsukasa.
Other `*.txt` files are from the judges.
[endoh1_color.c](%%REPO_URL%%/2012/endoh1/endoh1_color.c) is a variant that shows the density by using terminal 256
colors.
### Acknowledgments
I would like to thank my wife @hirekoke for her teaching me the SPH method.
The judges <del>ordered</del> suggested creating a color version
after the contest.
The judges and HAMANO Tsukasa (The silver medalist at this IOCCC) kindly
provided many configuration files.
<!--
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
+20 -16
View File
@@ -554,22 +554,6 @@ used to clear screen and move cursor to home.</p>
and gcc-4.5.3 and clang-3.1 on Cygwin. On Cygwin, gcc and clang complain about
a usage of <code>I</code> (complex’s imaginary unit), but I bet this is cygwin’s issue;
it is surely a C99 feature.</p>
<h3 id="obfuscation">Obfuscation</h3>
<p>First of all, the source code itself serves as an initial configuration.
Preprocessing directives (such as <code>#include</code>)’s <code>#</code> serve as walls.</p>
<p>This program uses <code>double complex</code> to represent any 2D vector. But, note that
the <code>x-axis</code> and <code>y-axis</code> are swapped (real axis = y-axis, imaginary axis =
x-axis). The purpose of swapping is not only obfuscation, but also short
coding: for example, to add gravity to total force, <code>force += G</code> suffices,
rather than <code>force += G*I</code>.</p>
<p>(Incidentally, you can exert horizontal gravity by using for instance <code>-DG=I</code>)</p>
<p>Every five entries of <code>double complex a[]</code> contain information of one particle:
position, wall-flag, density, force, and velocity, in turn.</p>
<p>You can use <code>G</code>, <code>P</code>, and <code>V</code> as a guide to find the calculation code of
gravity, pressure, and viscosity forces.</p>
<p>Though some assignments may look meaningless, they are actually meaningful; they
extract “integer part of real part” from a complex value by assigning (and
casting) it to an integer-type variable.</p>
<h3 id="notes-about-additional-files">Notes about Additional Files</h3>
<p><a href="logo.txt">logo.txt</a> is a source of the logo in this remark file.</p>
<p><a href="column.txt">column.txt</a> is a water column collapse, which is a popular demo of SPH.</p>
@@ -586,6 +570,26 @@ colors.</p>
after the contest.</p>
<p>The judges and HAMANO Tsukasa (The silver medalist at this IOCCC) kindly
provided many configuration files.</p>
<h3 id="notice-to-those-who-wish-for-a-greater-challenge">NOTICE to those who wish for a greater challenge</h3>
<p><strong>If you want a greater challenge, don’t read any further</strong>:
just try to understand the program via the source.</p>
<p>If you get stuck, come back and read below for additional hints and information.</p>
<h3 id="how-this-entry-works">How this entry works:</h3>
<p>First of all, the source code itself serves as an initial configuration.
Preprocessing directives (such as <code>#include</code>)’s <code>#</code> serve as walls.</p>
<p>This program uses <code>double complex</code> to represent any 2D vector. But, note that
the <code>x-axis</code> and <code>y-axis</code> are swapped (real axis = y-axis, imaginary axis =
x-axis). The purpose of swapping is not only obfuscation, but also short
coding: for example, to add gravity to total force, <code>force += G</code> suffices,
rather than <code>force += G*I</code>.</p>
<p>(Incidentally, you can exert horizontal gravity by using for instance <code>-DG=I</code>)</p>
<p>Every five entries of <code>double complex a[]</code> contain information of one particle:
position, wall-flag, density, force, and velocity, in turn.</p>
<p>You can use <code>G</code>, <code>P</code>, and <code>V</code> as a guide to find the calculation code of
gravity, pressure, and viscosity forces.</p>
<p>Though some assignments may look meaningless, they are actually meaningful; they
extract “integer part of real part” from a complex value by assigning (and
casting) it to an integer-type variable.</p>
<!--
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.