Xenos Enigma

Description:

In the grim dark future of 40k, there is only war and humanity is under threat again. There are Xenos forces emerging from deep space and the order of Adeptus Mechanicus has been tasked with creating advanced radar systems to detect these threats before it is too late.

Installation

gem install xenos-enigma

Run

xenos-enigma --help
Usage: bin/run [--path FILE]
--help       show help
--path FILE      set path to radar data file, uses default data if no file provided

Development

bundle install            # install development dependencies
bin/xenos-enigma          # run executable
rspec                     # run test suite

Known xenos:

Tau

--o-----o--
---o---o---
--ooooooo--
-oo-ooo-oo-
ooooooooooo
o-ooooooo-o
o-o-----o-o
---oo-oo---

Aeldari

---oo---
--oooo--
-oooooo-
oo-oo-oo
oooooooo
--o--o--
-o-oo-o-
o-o--o-o

Radar sample:

----o--oo----o--ooo--ooo--o------o---oo-o----oo---o--o---------o----o------o-------------o--o--o--o-
--o-o-----oooooooo-oooooo---o---o----o------ooo-o---o--o----o------o--o---ooo-----o--oo-o------o----
--o--------oo-ooo-oo-oo-oo-----O------------ooooo-----oo----o------o---o--o--o-o-o------o----o-o-o--
-------o--oooooo--o-oo-o--o-o-----oo--o-o-oo--o-oo-oo-o--------o-----o------o-ooooo---o--o--o-------
------o---o-ooo-ooo----o-----oo-------o---oo-ooooo-o------o----o--------o-oo--ooo-oo-------------o-o
-o--o-----o-o---o-ooooo-o-------oo---o---------o-----o-oo-----------oo----ooooooo-ooo-oo------------
o-------------ooooo-o--o--o--o-------o--o-oo-oo-o-o-o----oo------------o--oooo--ooo-o----o-----o--o-
--o-------------------------oo---------oo-o-o--ooo----oo----o--o--o----o--o-o-----o-o------o-o------
-------------------o----------o------o--o------o--------o--------o--oo-o-----oo-oo---o--o---o-----oo
----------o----------o---o--------------o--o----o--o-o------------oo------o--o-o---o-----o----------
------o----o-o---o-----o-o---o-----oo-o--------o---------------------------------o-o-o--o-----------
---------------o-------o-----o-------o-------------------o-----o---------o-o-------------o-------oo-
-o--o-------------o-o-----o--o--o--oo-------------o----ooo----o-------------o----------oo----o---o-o
-o--o-------------o----oo------o--o-------o--o-----o-----o----o-----o--o----o--oo-----------o-------
-o-----oo-------o------o----o----------o--o----o-----o-----o-------o-----------o---o-o--oooooo-----o
-o--------o-----o-----o---------oo----oo---o-o---------o---o--oooo-oo--o-------o------oo--oo--o-----
------------o---------o---------o----oooo-------------oo-oo-----ooo-oo-----o-------o-oo-oooooooo---o
----------------------o------------oooooooo---o-----o-------o--oooooo-o------------o-o-ooooooo-o----
------------o------o---o---o-------oo-oo--o--o---------o--o-o-o-ooooo-o--------------oo-o----o-oo-o-
---o-o----------oo-------oo----o----oooooooo-------o----o-o-o-o-----o-o-----o----------ooo-oo--o---o
-o-o---------o-o---------------o--o--o--ooo---ooo-------o------oo-oo------------o--------o--o-o--o--
-------oo---------------------------o-oo----------o------o-o-------o-----o----o-----o-oo-o-----o---o
---o--------o-----o-------o-oo-----oo--oo-o----oo----------o--o---oo------oo----o-----o-------o-----
---o--ooo-o---------o-o----o------------o---------o----o--o-------o----o--------o----------------oo-
---o------o----------------o----o------o------o---oo-----------o-------------o----------oo---------o
--oo---------------o--o------o---o-----o--o-------------o------o-------o-----o-----o----o------o--o-
-o-------o----------o-o-o-------o-----o--o-o-----------o-oo-----------o------o---------o-----o-o----
----------o----o-------o----o--o------o------------o---o---------------oo----o-----ooo--------------
----o--------oo----o-o----o--o------ooo----o-oooo---o--o-oo--------o-oo-----o-o---o-o--o-----oo-----
------o--------o-ooooo----o---o--o-----o---------------o-o-------o-----o----------------------------
o-------oo----o--oooooo-o---o--o------oooo----------o-oo-------o---o----------o------oo-------------
-o---o----------o--oo-oo-o---o-----o-o-----------------------oo--o------o------o--------------------
-----oo-o-o-o---ooooooooo----o----o--------o--o---oo---o------------o----------o-o---o------o-o--oo-
------o------o---ooo-o---------------------------o--o---o---o----o--o-------o-----o------o----o----o
-------o----------ooo-o-----o----o---o--o-oo--o--o-o--o------o--o-oo---ooo------------------------o-
-o-------o------o-o--ooo--o---o---oo-----o----o-------------o----o-ooo-o------o--o-o------o-o-------
---oo--o---o-o---------o---o--------------o--o-----o-------o-----o--o---o-oo--------o----o----o-----
o------o----oo-o-----------oo--o---o--------o-o------o-------o-o------o-oo---------o-----oo---------
----o--o---o-o-----------o---o------------o-------o----o--o--o--o-o---------------o-----------------
-------oo--o-o-----o-----o----o-o--o----------------------o-------o------o----oo----ooo---------o---
o-----oo-------------------o--o-----o-----------o------o-------o----o-----------o----------------o--
--o---o-------o------------o--------------------o----o--o-------------oo---o---------oo--------o----
--o--------o---------o------------o------o-------o------------o-------o---o---------ooooo-----------
------o--------------o-o-o---------o---o-------o--o-----o-------o-o----------o-----oo-ooo----------o
--o---------------o----o--oo-------------o---------o-------------------oo---------oo-o-ooo----------
-o-----------o------ooo----o----------------ooo-----o--------o--o---o-----------o-o-oooooo--------oo
-o---o-------o---o-oooo-----o-------------------o----oo-----------------o--o--------o--o------o--o--
-------o---o------oooooo--o----ooo--o--------o-------o----------------------------oo-oo-o--o--------
o--oo------o-----oo--o-oo------------oo--o------o--o-------------oo----o------------oooo-o------oo--
-----o----------ooooooooo--------------oo--------------oo-----o-----o-o--o------o----------o----o---

Radar echo:

--------------------oooo---------------------oo-----------------------------------------------------
-------------------oooooo-------------------oooo----------------------------o-----o-----------------
------------------oo-oo-oo-----------------oooooo----------------------------o---o------------------
------------------oooooooo----------------oo-oo-oo--------------------------ooooooo-----------------
--------------------o--o------------------oooooooo-------------------------oo-ooo-oo----------------
-------------------o-oo-o-------------------o--o--------------------------ooooooooooo---------------
------------------o-o--o-o-----------------o-oo-o-------------------------o-ooooooo-o---------------
------------------------------------------o-o--o-o------------------------o-o-----o-o---------------
-----------------------------------------------------------------------------oo-oo------------------
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------o-----o------
--------------------------------------------------------------o-----o-------------------o---o-------
---------------------------------------------------------------o---o-------------------ooooooo------
--------------------------------------oo----------------------ooooooo-----------------oo-ooo-oo-----
-------------------------------------oooo--------------------oo-ooo-oo---------------ooooooooooo----
------------------------------------oooooo------------------ooooooooooo--------------o-ooooooo-o----
-----------------------------------oo-oo-oo-----------------o-ooooooo-o--------------o-o-----o-o----
-----------------------------------oooooooo-----------------o-o-----o-o-----------------oo-oo-------
-------------------------------------o--o----------------------oo-oo--------------------------------
------------------------------------o-oo-o----------------------------------------------------------
-----------------------------------o-o--o-o---------------------------------------------------------
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
-------------------oo-------------------------------------------------------------------------------
------------------oooo------------------------------------------------------------------------------
-----------------oooooo-----------------------------------------------------------------------------
----------------oo-oo-oo----------------------------------------------------------------------------
----------------oooooooo----------------------------------------------------------------------------
------------------o--o------------------------------------------------------------------------------
-----------------o-oo-o-----------------------------------------------------------------------------
----------------o-o--o-o----------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------oo-------------
------------------------------------------------------------------------------------oooo------------
-----------------------------------------------------------------------------------oooooo-----------
----------------------------------------------------------------------------------oo-oo-oo----------
--------------------oo------------------------------------------------------------oooooooo----------
-------------------oooo-------------------------------------------------------------o--o------------
------------------oooooo-----------------------------------------------------------o-oo-o-----------
-----------------oo-oo-oo---------------------------------------------------------o-o--o-o----------
-----------------oooooooo---------------------------------------------------------------------------