From 7bb8f6a988f329e4efc46bb76c3594664dbaee74 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Sun, 19 Nov 2023 12:44:47 -0800 Subject: [PATCH] Format/typo check 2004/vik1 --- 2004/vik1/README.md | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/2004/vik1/README.md b/2004/vik1/README.md index 0f69e17a4..4ec1a70aa 100644 --- a/2004/vik1/README.md +++ b/2004/vik1/README.md @@ -42,9 +42,9 @@ Happy touring on the road and in the code! This program is a complete car race game with a lot of nice features: -* Drive on a road in a 3-d landscape with hills and curves +* Drive on a road in a 3D landscape with hills and curves. -* Mountains in the horizon +* Mountains in the horizon. * A sun in the sky when driving during the day. @@ -68,9 +68,10 @@ This program is a complete car race game with a lot of nice features: * The best lap time is stored as reference. + ### Build and Run -Compile the source code and link x libraries if necessary. +Compile the source code and link X libraries if necessary. The program takes three options which have to be typed in a specific order as described below. @@ -85,14 +86,14 @@ d - Racing in at night in the dark Here are a few examples: ``` - Command line: Description: +Command line: Description: - $ ./vik1 Run track 1 at daytime in the summer - $ ./vik1 a Run track 1 at daytime in the winter - $ ./vik1 d Run track 1 at night in the summer - $ ./vik1 3 Run track 3 at daytime in the summer - $ ./vik1 d3 Run track 3 at night in the summer - $ ./vik1 ad2 Run track 2 at night in the winter +$ ./vik1 Run track 1 at daytime in the summer +$ ./vik1 a Run track 1 at daytime in the winter +$ ./vik1 d Run track 1 at night in the summer +$ ./vik1 3 Run track 3 at daytime in the summer +$ ./vik1 d3 Run track 3 at night in the summer +$ ./vik1 ad2 Run track 2 at night in the winter ``` Note that the order in which the argument characters are entered is @@ -109,14 +110,14 @@ The main obfuscation is the fact that the program is extremely compact. There are a few things I didn't want to do, e.g. define `#define` to a single letter to save some space, or to remove casts to save some space. -The program uses a lot of variables. In fact, all letters a-z are used -and most letters A-Z. +The program uses a lot of variables. In fact, all letters `a-z` are used +and most letters `A-Z`. The constants are chosen very carefully and they have multiple purposes, e.g. a constant can be both the length of the track and a color. -Most of the code is kept inside five for loops each without a body. Each for -loop does many things. One for loop draws all cars by restarting a +Most of the code is kept inside five `for` loops each without a body. Each `for` +loop does many things. One `for` loop draws all cars by restarting a couple of times. Another draws the road, mountains, and the sun. `main()` is called recursively. The return value and output depends on the @@ -126,12 +127,14 @@ the entry point of the application. The program frequently uses the `?:` operator mainly to save space but it makes the program more obscure. + ### Compiler warnings -There are no compiler warnings when compiling with -ansi but there are -quite many warnings from lclint. Mainly because the program is very +There are no compiler warnings when compiling with `-ansi` but there are +many warnings from lclint. Mainly because the program is very optimized for code size. + ### Limitations The program only compiles and runs on X based systems. @@ -139,7 +142,7 @@ The program only compiles and runs on X based systems. The program requires a display with 24 bit color depth. It also assumes that the byte order of the colors are as on my Linux PC. That is, The colors are represented by a 32 bit value where the bytes (from high to -low) are { 0, RED, GREEN, BLUE }. +low) are `{ 0, RED, GREEN, BLUE }`. ## Copyright and CC BY-SA 4.0 License: