RobotDisco / elm-trek

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Elm Trek

Elm Trek is an attempt to produce something akin to the 1971 mainframe game Star Trek, in Elm.

How to install and run

  1. Install the Elm toolchain via the official website or via the package manager of your choice.

  2. Run elm reactor to bring up a local server

  3. Go to http://localhost:8000 in your browser.

How to play

     INSTRUCTIONS:
<*> = ENTERPRISE
+++ = KLINGON
>!< = STARBASE
 *  = STAR
COMMAND 0 = WARP ENGINE CONTROL
  'COURSE' IS IN A CIRCULAR NUMERICAL          4  3  2
  VECTOR ARRANGEMENT AS SHOWN.                  \ ^ /
  INTERGER AND REAL VALUES MAY BE                \^/
  USED.  THEREFORE COURSE 1.5 IS              5 ----- 1
  HALF WAY BETWEEN 1 AND 2.                      /^\
                                                / ^ \
  A VECTOR OF 9 IS UNDEFINED, BUT              6  7  8
  VALUES MAY APPROACH 9.
                                               COURSE
  ONE 'WARP FACTOR' IS THE SIZE OF
  ONE QUADRANT.  THEREFORE TO GET
  FROM QUADRANT 6,5 TO 5,5 YOU WOULD
  USE COURSE 3, WARP FACTOR 1
COMMAND 1 = SHORT RANGE SENSOR SCAN
  PRINTS THE QUADRANT YOU ARE CURRENTLY IN, INCLUDING
  STARS, KLINGONS, STARBASES, AND THE ENTERPRISE; ALONG
  WITH OTHER PERTINATE INFORMATION.
COMMAND 2 = LONG RANGE SENSOR SCAN
  SHOWS CONDITIONS IN SPACE FOR ONE QUADRANT ON EACH SIDE
  OF THE ENTERPRISE IN THE MIDDLE OF THE SCAN.  THE SCAN
  IS CODED IN THE FORM XXX, WHERE THE UNITS DIGIT IS THE
  NUMBER OF STARS, THE TENS DIGIT IS THE NUMBER OF STAR-
  BASES, THE HUNDREDS DIGIT IS THE NUMBER OF KLINGONS.
COMMAND 3 = PHASER CONTROL
  ALLOWS YOU TO DESTROY THE KLINGONS BY HITTING HIM WITH
  SUITABLY LARGE NUMBERS OF ENERGY UNITS TO DEPLETE HIS
  SHIELD POWER.  KEEP IN MIND THAT WHEN YOU SHOOT AT
  HIM, HE'S GOING TO DO IT TO YOU TOO.
COMMAND 4 = PHOTON TORPEDO CONTROL
  COURSE IS THE SAME AS USED IN WARP ENGINE CONTROL
  IF YOU HIT THE KLINGON, HE IS DESTROYED AND CANNOT FIRE
  BACK AT YOU.  IF YOU MISS, HE WILL SHOOT HIS PHASERS AT
  YOU.
   NOTE: THE LIBRARY COMPUTER (COMMAND 7) HAS AN OPTION
   TO COMPUTE TORPEDO TRAJECTORY FOR YOU (OPTION 2).
COMMAND 5 = SHIELD CONTROL
  DEFINES NUMBER OF ENERGY UNITS TO BE ASSIGNED TO SHIELDS
  ENERGY IS TAKEN FROM TOTAL SHIP'S ENERGY.
COMMAND 6 = DAMAGE CONTROL REPORT
  GIVES STATE OF REPAIRS OF ALL DEVICES.  A STATE OF REPAIR
  LESS THAN ZERO SHOWS THAT THAT DEVICE IS TEMPORARILY
  DAMAGED.
COMMAND 7 = LIBRARY COMPUTER
  THE LIBRARY COMPUTER CONTAINS THREE OPTIONS:
    OPTION 0 = CUMULATIVE GALACTIC RECORD
     SHOWS COMPUTER MEMORY OF THE RESULTS OF ALL PREVIOUS
     LONG RANGE SENSOR SCANS
    OPTION 1 = STATUS REPORT
     SHOWS NUMBER OF KLINGONS, STARDATES AND STARBASES
     LEFT.
    OPTION 2 = PHOTON TORPEDO DATA
     GIVES TRAJECTORY AND DISTANCE BETWEEN THE ENTERPRISE
     AND ALL KLINGONS IN YOUR QUADRANT

Contributing

Since this is a hobby project and I'm learning Elm, for reasons of insecurity and hubris I likely won't take any external pull requests.

Inspirations and Thanks

  • The original BASIC code for this game can be found here. Thanks for existing and giving me purpose.
  • Thanks to the Elm Language for making a typed programming language that is appealing to learn.

License

AGPLv3

About

License:GNU Affero General Public License v3.0


Languages

Language:Elm 100.0%