World Conquest Chronicles

World Conquest Chronicles

lualife, v1.5.1

The library that implements Conway's Game of Life.

Refactoring, decoring, and extending of possibilities of size and field models.

Change Log

  • models:
    • size:
      • supporting of checking if a point is inside;
    • field:
      • ignore outside points:
        • on checking if a cell is set;
        • on storing a set cell;
  • refactoring:
    • mark private class members of models:
      • properties;
      • methods;
    • extract examples to separate files;
  • documentation:
    • describe properties of models;
    • add examples as separate pages.

Features

  • models:
    • size:
      • supporting of checking if a point is inside;
      • supporting of checking if an other size with offset fits inside;
    • point:
      • supporting of translation;
      • supporting of scaling;
      • supporting of textual representation;
    • field:
      • storing only of set cells:
        • ignore outside points;
      • supporting of counting of set cells;
      • supporting of checking if a cell is set:
        • ignore outside points;
      • supporting of checking if an other field fits inside;
      • supporting of mapping;
    • placed field:
      • extends the field model;
      • storing a field offset;
      • working with cells taking into account the field offset;
      • supporting of checking if an other field with offset fits inside;
      • supporting of copying the existing field with setting an offset;
  • generating of a random field:
    • customizable filling factor;
    • limiting by a cell count:
      • lower limit;
      • upper limit;
  • operations with fields as with sets:
    • union of fields:
      • supporting an offset for the second operand;
      • restricting of the result size by the size of the first operand;
    • complement of fields:
      • supporting an offset for the second operand;
    • intersection of fields:
      • supporting an offset for the second operand;
  • operations with fields as with matrices:
    • rotating of a field clockwise;
  • populating of a field according to Conway's Game of Life rules:
    • using of the naive algorithm with iterating and copying of a whole field.

Repository

Link: https://github.com/thewizardplusplus/lualife/tree/v1.5.1.

Content: code.

License: MIT.