This program was created as an exercise as part of an interview process.
Alien Invasion Simulator
This program simulates an alien invasion. It accepts a file with a map of cities with roads connecting them. It also accepts a number of aliens that will land at random cities on the map.
If any city has two or more aliens, it gets destroyed along with the aliens, and you get an output letting you know what happened. Any remaining aliens can take a road to an adjacent city. These two steps are repeated 10,000 times. Afterwards, the remaining map is printed out.
Building
go build .
Creating a map
Maps have the following format:
Austin north=Cambridge
Cambridge east=Austin west=Chicago
Chicago south=Cambridge
Each city has one line. There can be up to four roads that connect to another city: north
east
south
and west
(or no roads at all).
Roads can curve, so (for instance) a north
road coming out of one city need not connect to the south
road of the connected city. However, it does need to connect to some road in the connected city. For instance, we see going east from Cambridge gets you to Austin, and going north from Austin gets you back to Cambridge.
Running
(On Linux)
./ignite-invasion my-map.txt 20
This will load the map located at my-map.txt, add 20 aliens in starting positions on the map, and run the simulation. Note that this will generate a fair amount of output.