Merge pull request #14 from xexyl/2020

2020 fixes, improvements etc.
This commit is contained in:
Landon Curt Noll authored and GitHub committed 2023-02-22 20:56:59 -08:00
commit 7c454abbc4
23 files changed
+150 -92

No files matched your search

+20
View File
@@ -0,0 +1,20 @@
burton/check
burton/check_be
burton/prog_be
endoh2/spoiler/
endoh3/clock
endoh3/clock.c
endoh3/run_clock
ferguson2/recode
kurdyukov2/out.gif
kurdyukov2/out*.jpg
kurdyukov2/output.ppm
kurdyukov2/random.ppm
kurdyukov2/prog_png
kurdyukov2/prog_ppm
kurdyukov3/prog.extra
kurdyukov3/prog.orig
kurdyukov4/Eugene_Onegin.txt
kurdyukov4/Shakespeare.txt
yang/code.c
yang/encoded.c
+2
View File
@@ -436,9 +436,11 @@ all: ${TARGET} ${DATA}
@${TRUE}
prog: prog.c
@echo "NOTE: this program will segfault without an argument."
${CC} ${CFLAGS} -DB=${B} -DI=${I} -DT=${T} -DS=${S} $< -o $@ ${LIBS}
prog_be: prog.c
@echo "NOTE: this program will segfault without an argument."
${CC} ${CFLAGS} -DB=${_B} -DI=${_I} -DT=${_T} -DS=${_S} $< -o $@ ${LIBS}
check: check.sh
+14 -4
View File
@@ -24,18 +24,28 @@ The code for this entry can be found in prog.c
./prog 85
./prog 128 128
./prog 128 128 128
./prog 128 128 128 128
# Can you determine why this shows strange output for the first and third
# but not the second? Can you find a pattern here? What happens if you
# specify different numbers?
### Selected Judges Remarks:
This tiny one-liner is a bit-twiddlers delight! It does all of the work
without looping.
To understand how it works, a good place to start is to look at the hex
value that results when the two magic constants are XOR'ed.
value that results when the two magic constants are XORed.
Once you've figured out what happens with one set of constants, how can
choosing new constants, but using the same computation generate a reversed
result?
NOTE: this entry will dump core if you do not specify an argument.
## Author's comments:
Invoke this with a single non-negative integer less than 256, and a useful transformation occurs.
@@ -47,7 +57,7 @@ so they are truly configuration parameters, not logic.
### Notes
One <strike>ping</strike> argument only. It will SEGV on zero arguments, and
One <strike>ping</strike> argument only. It will segfault on zero arguments, and
display strange results if more than one argument.
Small, non-negative integers only. Useful range is 0 .. 511, sorta, for LE; 0 .. 255 for BE.
@@ -70,11 +80,11 @@ On a little-endian machine:
On a big-endian machine:
clang -include stdio.h -include stdlib.h -Wall -Weverything -pedantic -DB=7091606191627001958LL -DI=6006468689561538903LL -DT=1 -DS=0 -o prog.be prog.c
clang -include stdio.h -include stdlib.h -Wall -Weverything -pedantic -DB=7091606191627001958LL -DI=6006468689561538903LL -DT=1 -DS=0 -o prog_be prog.c
You might be interested to compile it both ways on the same host, and try:
./prog 1; ./prog.be 1
./prog 1; ./prog_be 1
-----------------------------------------------------------------------------------------------------
(c) Copyright 1984-2020, [Leo Broukhis, Simon Cooper, Landon Curt Noll][judges] - All rights reserved
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/sh
prog="$1"
: ${prog:=prog_be}
: ${prog:=./prog_be}
check_code() {
/bin/echo -n "$1 "; $prog $1 | rev
+2
View File
@@ -57,6 +57,8 @@ It uses ncurses:
You will see a terminal-wide field of a minesweeper. Probe a cell by mouse click.
If a cell turns out to have a mine (or not), the program determines whether its neighbors have a mine or not, and automatically probes (or flags) the cell.
##### Keyboard commands
* `R`: new game (You can also click the smiley face at the top line.)
* `Q`: quit
@@ -13,15 +13,18 @@ should you run into trouble.
# Portability
I have tested this under macOS Catalina, Fedora (29 and also 31 - no that's not
a typo, I upgraded from 29 to 31 as I had delayed upgrading to 30 due to a
number of issues and being busy) and CentOS 7.7.1908. It obviously requires
ncurses but other than that nothing extra should be needed. Note that the
testing of Fedora 29 was earlier in the development however (but then 29 is also
EOL).
I have tested this under macOS Catalina, macOS Ventura (and probably between the
two), Fedora (29 and also 31 - no that's not a typo, I upgraded from 29 to 31 as
I had delayed upgrading to 30 due to a number of issues and being busy) and
CentOS 7.7.1908. It should work under any modern linux system and maybe other
Unices as well as macOS (as noted).
It obviously requires ncurses but other than that nothing extra should be
needed. Note that the testing of Fedora 29 was earlier in the development
however (but then 29 is also EOL).
Furthermore I do not believe - but I cannot confirm either - that endianness
matters; I only have Intel CPUs.
matters; I only have Intel CPUs and arm64 (MacBook Pro M1).
I imagine that it works for 32-bit systems but I do not know for sure.
@@ -1,9 +1,11 @@
# WARNING: There are some things cited in this document that are no longer
# correct, might be misleading or otherwise not clear. This is both intentional
# and unintentional. This is especially true for claims that something means
# something specific. Put another way just because the table says something
# doesn't mean it's the whole truth: no misleading comments but misleading
# document that talks about some parts of the code!
## Warning / caveat about this document
WARNING: There are some things cited in this document that are no longer
correct, might be misleading or otherwise not clear. This is both intentional
and unintentional. This is especially true for claims that something means
something specific. Put another way just because the table says something
doesn't mean it's the whole truth: no misleading comments but misleading
document that talks about some parts of the code!
In this document I provide information to the herpetologist hackers to help them
to modify certain things and add features for their studying of snakes. Or if
+1 -1
View File
@@ -420,7 +420,7 @@ MAY_NEED_GCC= gcc
##############################
#
OBJ= prog.o termcaps.o
DATA= COMPILING HACKING bugs.md cannibalism.log \
DATA= COMPILING.md HACKING.md bugs.md cannibalism.log \
chocolate-cake.md crazy.log gameplay.md \
snake-colours.sh snake.1 spoilers.md \
termcaps.c terminals.md troubleshooting.md
+1 -1
View File
@@ -314,7 +314,7 @@ I can think of at the least the following:
the max size or very close to it. In fact if you have the shedding size to be
even one on every move even if you normally can't win with the same size
screen you might find it happens much more easily! You could of course play
with these paramters in different ways together - there are certainly
with these parameters in different ways together - there are certainly
different combinations than I have given.
- Of course you could also enable one or both cheat modes. You might be
considered a filthy cheat but both modes are quite fun (one being enabled by
+1 -1
View File
@@ -40,7 +40,7 @@ actually done in more detail.
First I initialise curses; if this fails I print an error message ('curses
error') and return 1. Next the screen size is determined and I subtract 1 from
each the x/y. If it's too small curses is ended and an error message ('screen
both x/y. If it's too small curses is ended and an error message ('screen
too small') is printed - returning 1.
Next the max size of the snake is determined: if `MAXSIZE` is specified then
+4 -4
View File
@@ -663,7 +663,7 @@ that.
[1992 Worst Abuse of the Rules]: http://www.ioccc.org/1992/nathan/nathan.hint
[1998 ASCII / Morse code translator]: http://www.ioccc.org/1998/dorssel/dorssel.hint
[2014 Morse audio transcoder]: http://www.ioccc.org/2014/vik/README.md
[Enigma Message Procedures]: http://users.telenet.be/d.rijmenants/en/enigmaproc.htm
[Enigma Message Procedures]: https://web.archive.org/web/20200710094321/http://users.telenet.be/d.rijmenants/en/enigmaproc.htm
[Interactive Enigma Machine]: http://enigmaco.de/enigma/enigma.html
[enigma.1]: enigma.1
[recode.1]: recode.1
@@ -673,9 +673,9 @@ that.
[obfuscation.md]: obfuscation.md
[obfuscation.txt]: obfuscation.txt
[obfuscation.key]: obfuscation.key
[Tony Sale's pages on The Enigma cipher machine]: http://www.codesandciphers.co.uk/enigma/index.htm
[Technical Details of the Enigma Machine]: http://users.telenet.be/d.rijmenants/en/enigmatech.htm
[The German Enigma Cipher Machine]: http://users.telenet.be/d.rijmenants/en/enigma.htm
[Tony Sale's pages on The Enigma cipher machine]: https://web.archive.org/web/20200621180323/http://www.codesandciphers.co.uk/enigma/index.htm
[Technical Details of the Enigma Machine]: https://web.archive.org/web/20200710094303/http://users.telenet.be/d.rijmenants/en/enigmatech.htm
[The German Enigma Cipher Machine]: https://web.archive.org/web/20200710094243/http://users.telenet.be/d.rijmenants/en/enigma.htm
[How the Enigma was Set Up and Operated]: http://www.ellsbury.com/enigma3.htm
[https://ioccc.xexyl.net/2020/enigma]: https://ioccc.xexyl.net/2020/enigma
+4 -4
View File
@@ -68,14 +68,14 @@ Written by Cody Boone Ferguson for IOCCC 2020 (the 27th IOCCC).
.PP
\fB\<https://ioccc.xexyl.net/2020/enigma\>\fP The 27th IOCCC 'Most enigmatic'.
.PP
\fB\<http://users.telenet.be/d.rijmenants/en/enigmaproc.htm\>\fP Enigma Message Procedures for the Heer (Army), Luftwaffe (Air Force) and Kriegsmarine (Navy).
\fB\<https://web.archive.org/web/20200710094321/http://users.telenet.be/d.rijmenants/en/enigmaproc.htm\>\fP Enigma Message Procedures for the Heer (Army), Luftwaffe (Air Force) and Kriegsmarine (Navy).
.PP
\fB\<http://enigmaco.de/enigma/enigma.html\>\fP Online interactive Enigma simulator.
.PP
\fB\<http://www.codesandciphers.co.uk/enigma/index.htm\>\fP Tony Sale's (original curator of the Bletchley Park Museum) pages on The Enigma cipher machine.
\fB\<https://web.archive.org/web/20200621180323/http://www.codesandciphers.co.uk/enigma/index.htm\>\fP Tony Sale's (original curator of the Bletchley Park Museum) pages on The Enigma cipher machine.
.PP
\fB\<http://users.telenet.be/d.rijmenants/en/enigmatech.htm\>\fP Technical Details of the Enigma Machine.
\fB\<https://web.archive.org/web/20200710094303/http://users.telenet.be/d.rijmenants/en/enigmatech.htm\>\fP Technical Details of the Enigma Machine.
.PP
\fB\<http://users.telenet.be/d.rijmenants/en/enigma.htm\>\fP The German Enigma Cipher Machine.
\fB\<https://web.archive.org/web/20200710094243/http://users.telenet.be/d.rijmenants/en/enigma.htm\>\fP The German Enigma Cipher Machine.
.PP
\fB\<http://www.ellsbury.com/enigma3.htm\>\fP How the Enigma was Set Up and Operated.
+2 -2
View File
@@ -56,7 +56,7 @@ good chocolate and could use a delicious <a href="chocolate-cake.html">Double-la
<li><p><a href="#conclusion">Usage conclusion</a></p></li>
<li><p><a href="#additions">Example additions</a></p></li>
<li><p><a href="#exampleuses">Example uses</a></p></li>
<li><p><a href="#cake">Delicious Enigma: Double-layered Chocolate Fudge Cake</a></p></li>
<li><p><a href="#cake">Deliciously Enigmatic: Double-layered Chocolate Fudge Cake</a></p></li>
</ul>
<h1><a name="recode" href="#toc">What is recode and why is it recommended?</a></h1>
@@ -540,7 +540,7 @@ anyway?</p></li>
</ul>
<h1><a name="cake" href="#toc">Delicious Enigma: Double-layered Chocolate Fudge Cake</a></h1>
<h1><a name="cake" href="#toc">Deliciously Enigmatic: Double-layered Chocolate Fudge Cake</a></h1>
<p>As I was making the above silly list something occurred to me. My other entries
this year include a recipe for a wonderful double-layered chocolate fudge cake
+2 -2
View File
@@ -39,7 +39,7 @@ Alternatively if you just want the recipe you could look at my Snake entry
- [Example uses](#exampleuses)
- [Delicious Enigma: Double-layered Chocolate Fudge Cake](#cake)
- [Deliciously Enigmatic: Double-layered Chocolate Fudge Cake](#cake)
# <a name="recode" href="#toc">What is recode and why is it recommended?</a>
@@ -515,7 +515,7 @@ anyway?
* Best idea: try the below experiment!
# <a name="cake" href="#toc">Delicious Enigma: Double-layered Chocolate Fudge Cake</a>
# <a name="cake" href="#toc">Delicious Enigmatic: Double-layered Chocolate Fudge Cake</a>
As I was making the above silly list something occurred to me. My other entries
this year include a recipe for a wonderful double-layered chocolate fudge cake
+4 -1
View File
@@ -417,7 +417,7 @@ MAY_NEED_GCC= gcc
#
OBJ= prog.o prog_png.o prog_ppm.o
DATA= sample.jpg
TARGET= prog prog_png prog_ppm
TARGET= prog prog_png prog_ppm makegif
#
ALT_OBJ=
ALT_TARGET=
@@ -439,6 +439,9 @@ prog_png: prog.png.c
prog_ppm: prog.ppm.c
${CC} ${CFLAGS} $< -o $@ ${LIBS}
makegif: makegif.sh
${CHMOD} +x $?
# alternative executable
#
alt: ${ALT_TARGET}
+24 -12
View File
@@ -37,7 +37,7 @@ What is the complexity? Is it obvious from the source code?
## Author's comments:
### Usage
This program divides the image into a specified number of rectangles. This process is content aware, so algorithm tries to match most of the information. However, it doesn't finds the best theoretically possible layout.
This program divides the image into a specified number of rectangles. This process is content aware, so algorithm tries to match most of the information. However, it doesn't find the best theoretically possible layout.
./prog 1000 input.jpg output.jpg
@@ -45,13 +45,15 @@ This program divides the image into a specified number of rectangles. This proce
You can build three versions, depending on the image format.
Default is JPEG version, if you have the *libjpeg* development package installed in your system, then `make` without arguments should do the thing.
Default is JPEG version; if you have the `libjpeg` development package installed
in your system, then `make` without arguments should do the right thing.
If you want to use *libjpeg* compiled from sources, then use `LIBS` define to specify the path to includes and the library.
If you want to use `libjpeg` compiled from sources, then use `LIBS` define to
specify the path to includes and the library.
make prog LIBJPEG="-Ijpeg-6b jpeg-6b/libjpeg.a"
Use this command to build a PNG version (you need *libpng*):
Use this command to build a PNG version (you need `libpng`):
make prog_png LIBPNG="-lpng"
@@ -61,7 +63,7 @@ And the PPM version (no additional dependencies, can read raw/ASCII PPM, writes
### Building on macOS
- Thanks to Cody Ferguson for this information!
- Thanks to Cody Boone Ferguson for this information!
First, make sure you have the compiler tools installed e.g. by:
@@ -71,7 +73,7 @@ Make sure you install [MacPorts](https://www.macports.org/install.php). Then do:
$ sudo port install jpeg libpng ImageMagick
The program itself doesn't need ImageMagick, install it only if you plan to make gifs from the results using "makegif.sh".
The program itself doesn't need ImageMagick, install it only if you plan to make GIFs from the results using `makegif.sh`.
After that’s installed you need to run make with these options:
@@ -79,15 +81,25 @@ After that’s installed you need to run make with these options:
### Notes
Made this thing while experimenting with the idea of representing an image with rectangles (lossy compression). It's not very good in that sense, but the results look funny, like a kind of cubism pixelart.
Made this thing while experimenting with the idea of representing an image with
rectangles (lossy compression). It's not very good in that sense, but the
results look funny, like a kind of cubism pixelart.
Do not use values above 50000, it gonna be slow.
Do not use values above 50000, it'll be slow.
To understand how this works, just try running with 1,2,3,4... number of rectangles. At each iteration, the rectangle with the biggest difference from the picture data is split (halves may have different size) horizontally or vertically to get the minimum difference.
To understand how this works, just try running with 1,2,3,4... number of
rectangles. At each iteration, the rectangle with the biggest difference from
the picture data is split (halves may have different size) horizontally or
vertically to get the minimum difference.
You can use this command to make a gif from output images (uses ImageMagick):
`convert -delay 10 -dither none -loop 0 $(ls out*.png | sort -V) $(ls out*.png | sort -rV) +map out.gif`
Also provided `makegif.sh` to aid with gif creation.
You can use this command to make a GIF from output images (uses ImageMagick).
For instance after running the command suggested by the judges:
convert -delay 10 -dither none -loop 0 $(ls out*.jpg | sort -V) $(ls out*.jpg | sort -rV) +map out.gif
Also provided `makegif.sh` to aid with GIF creation.
-----------------------------------------------------------------------------------------------------
Regular → Executable
+1 -1
View File
@@ -7,7 +7,7 @@ dir="gif"
[ $# -lt 3 ] && [ "$ext" = "png" -o "$ext" = "ppm" ] && prog="./prog_$ext"
[ -f "$image" ] || {
echo "Usage: makegif.sh image.jpg output.gif ./prog"
echo "Depends: ImageMagick, bc (basic calculator)"
echo "Dependencies: ImageMagick, bc (basic calculator)"
echo "Note: don't use large images (dimensions above 1000), ImageMagick may fail."
echo "Uses \"gif\" directory for temporary files."
exit 1
+1 -1
View File
@@ -35,7 +35,7 @@ is it a pnuch crad)?
Compile and try this:
cat some.input.txt | ./prog
cat input.txt | ./prog
The program can work with letters that are not represented in English, as long as these letters are encoded in the higher part of the single-byte character set (use `iconv` to convert from UTF-8 and back).
+1 -1
View File
@@ -440,7 +440,7 @@ alt: ${ALT_TARGET}
data: ${DATA}
${DATA}:
${CURL} -o $@.gz http://ioccc.org/2019/mills/$@.gz && ${GUNZIP} $@.gz
${CURL} -o $@.gz https://www.ioccc.org/2019/mills/$@.gz && ${GUNZIP} $@.gz
###############
# utility rules
+42 -38
View File
@@ -23,8 +23,9 @@ The code for this entry can be found in prog.c
./prog Eugene_Onegin.txt 2000 10 1
# For those not knowing Russian, just to see how the UTF-8 characters are handled
(*Performance depends on the number of same hashes found.*
*Too many identical strings if the context length is small. author*)
*Performance depends on the number of same hashes found.
Too many identical strings if the context length is small.
-- Author*
### Selected Judges Remarks:
@@ -32,18 +33,19 @@ We were able to write our own program performing the same trick
using the (still non-standard, for some reason) library function `memmem`,
but that way it works too fast regardless of the context length, and it's much less fun.
(*Wow, amazing! Very fast, but there is a drawback to randomness.*
*If some string only appears after half the input, the first instance*
*of this string will have a 50% chance of occurrence.*
*Example:*
*Wow, amazing! Very fast, but there is a drawback to randomness.
If some string only appears after half the input, the first instance
of this string will have a 50% chance of occurrence.
Example:*
echo "00000000000000000000 01 02 02 02 02 02 02" > test.txt
./prog test.txt 1000 2 123
# more twos in output
./rand test.txt 1000 2 123
# more ones in output
echo "00000000000000000000 01 02 02 02 02 02 02" > test.txt
./prog test.txt 1000 2 123
# more twos in output
./rand test.txt 1000 2 123
# more ones in output
*But this will happen very rarely on real data. author*)
*But this will happen very rarely on real data.
-- Author*
Try using the same random seed and varying the context size.
@@ -74,32 +76,34 @@ Randomness and performance depend inversely on this parameter and the size of th
You can try this with the inputs provided with `2019/mills` from the IOCCC winners.
$ ./prog shakespeare.txt 2001 10 12345
r sons, wives for them, as the hope I had it. This is the way they be not too ra
sh a trial of you only. Therefore will not out of door? Nurse: Marry, bachelor,
Have other some, he is in Rome: but where is Warwick frowns at his. PRINCE EDWAR
D: Where is the light: But I will watch thy waking, what work he makes Amongst y
ou? Come, sirs, We shall write to you, fortune and The hazard of much blood. I w
ould to heaven, respective lenity, And fire-eyed fury be my convoy in the senten
ced; 'tis too horrible, so bloody on the banks If they were created, Would bring
them to our presence? FLORIZEL: And those his golden crown, What is six winters
? they are but Lewis and Warwick bids you come too late come from the king's fri
end, and will do't; for, look you, sir, For still thy true servitor: I will rend
an oak And peg thee in his knotty entrails till Thou hast hazel eyes: what eye
but such an eye would spy out such a day to-morrow, or next day: He is within th
e limit of the like, forsworn to love, Send her a story of more woe Than this is
a merry ballad, but a very pretty one. MOPSA: Thou hast amazed me, My name is E
lbow: I do lean upon, Now thou art: Thy tears are womanish; thy wild acts denote
The unreasonably: come, you must: and there, I then do't to them? VOLUMNIA: Now
the red pestilence hangs in our aim, which is yours. What is't your honour, as
in war, since then, You have said before: My child is dead; or 'twere not 'long
of him; but he, like you, lads; about your ears it is Menenius? Second Officer:
Come, come, young wanton and effeminate boy, Takes on the hungry beach Fillip th
e stars Shall bitterly begin his wooing that we have in hand are angry And frown
ing brow to brow, ourselves, Still your own affections are devised, As blanks, b
enevolences, and I thank thee for it. KING HENRY VI: Master lieutenant comes. Ma
ster lieutenant comes. Master lieutenant, pray you,-- CORIOLANUS: What's that to
him? CHRISTOPHER: At Pembroke, Sir James Blunt, And Rice ap Thomas with a virtu
$ ./prog Shakespeare.txt 2001 10 12345
r sons, wives for them, as the hope I had it. This is the way they be not too ra
sh a trial of you only. Therefore will not out of door? Nurse: Marry, bachelor,
Have other some, he is in Rome: but where is Warwick frowns at his. PRINCE EDWAR
D: Where is the light: But I will watch thy waking, what work he makes Amongst y
ou? Come, sirs, We shall write to you, fortune and The hazard of much blood. I w
ould to heaven, respective lenity, And fire-eyed fury be my convoy in the senten
ced; 'tis too horrible, so bloody on the banks If they were created, Would bring
them to our presence? FLORIZEL: And those his golden crown, What is six winters
? they are but Lewis and Warwick bids you come too late come from the king's fri
end, and will do't; for, look you, sir, For still thy true servitor: I will rend
an oak And peg thee in his knotty entrails till Thou hast hazel eyes: what eye
but such an eye would spy out such a day to-morrow, or next day: He is within th
e limit of the like, forsworn to love, Send her a story of more woe Than this is
a merry ballad, but a very pretty one. MOPSA: Thou hast amazed me, My name is E
lbow: I do lean upon, Now thou art: Thy tears are womanish; thy wild acts denote
The unreasonably: come, you must: and there, I then do't to them? VOLUMNIA: Now
the red pestilence hangs in our aim, which is yours. What is't your honour, as
in war, since then, You have said before: My child is dead; or 'twere not 'long
of him; but he, like you, lads; about your ears it is Menenius? Second Officer:
Come, come, young wanton and effeminate boy, Takes on the hungry beach Fillip th
e stars Shall bitterly begin his wooing that we have in hand are angry And frown
ing brow to brow, ourselves, Still your own affections are devised, As blanks, b
enevolences, and I thank thee for it. KING HENRY VI: Master lieutenant comes. Ma
ster lieutenant comes. Master lieutenant, pray you,-- CORIOLANUS: What's that to
him? CHRISTOPHER: At Pembroke, Sir James Blunt, And Rice ap Thomas with a virtu
-----------------------------------------------------------------------------------------------------
(c) Copyright 1984-2020, [Leo Broukhis, Simon Cooper, Landon Curt Noll][judges] - All rights reserved
+1 -1
View File
@@ -28,7 +28,7 @@ In an entry that boasts not using literals, one would expect to see straightforw
small integers like `!(x^x)<<!(x^x)`, etc. but this entry is trickier than that. Deciphering what it does,
apart from reading stdin and writing to stdout, would take a while.
While doing that, you can be audially *entertained* by a sample of its output.
While doing that, you can be audibly *entertained* by a sample of its output.
## Author's comments:
### MIDI "boots and cats"
+2 -2
View File
@@ -29,7 +29,7 @@ reverse indentation style.
## Author's comments:
#### Controls
- Movement:
`w`, `a`, `s`, `d`
`w` (forwards), `a` (left), `s` (backwards), `d` (right)
- Fire:
`space`
- Quit:
@@ -73,7 +73,7 @@ cc -std=c99 -O3 prog.c -o prog
- `-Wno-misleading-indentation`
- `-Wno-maybe-uninitialized`
- You may experience a mild [motion aftereffect](https://en.wikipedia.org/wiki/Motion_aftereffect) when playing for too long
#### Highscore
#### High score
Score will be shown in the top left corner.
My best was **156**. If you beat that I'll send you the image of a very expensive chocolate.
#### Features
+2 -2
View File
@@ -44,7 +44,7 @@ spoiler](spoiler.html) that shows how this entry was written.
## Author's comments:
### Synopsis
echo "Hello world" | ./mile 12345 > encoded.c
echo "Hello world" | ./prog 12345 > encoded.c
gcc -DPIN=12345 encoded.c -o ./decoded && ./decoded
@@ -59,7 +59,7 @@ Mile is a C code generator. Run without arguments for the help message below:
When run with an encoding PIN (first command line argument), Mile will
read bytes from stdin and generate C code on stdout. Example:
echo "Hello, world!" | ./mile 56789 > encoded.c
echo "Hello, world!" | ./prog 56789 > encoded.c
This generated code will reproduce the same input bytes on stdout when
executed, if it was compiled with the same encoding PIN.