Skip to content

marcusbuffett/game-of-life

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Game of Life with ncurses

This is an implementation of Conway's Game of Life written in Haskell, using ncurses for display.

asciicast

Installation

Installing from Hackage requires a working cabal installation (or stack):

cabal update 
cabal install game-of-life
game-of-life # Make sure ~/.cabal/bin is in your path

Running / Testing

First, install stack. curl -sSL https://get.haskellstack.org/ | sh will work on most Unix systems, otherwise checkout https://docs.haskellstack.org/en/stable/README/ . If you haven't run other Haskell projects on your system, the first time you try to build the project it may say you have to run stack setup; do so.

Note that you'll need the ncurses header files on your system. OS X should have these installed by default. Some Linux distros won't, running sudo apt-get install libncurses-dev (replace apt-get with package manager of choice) should fix any issues.

Running:

stack build && stack exec game-of-life

Testing:

stack build && stack test

Installing:

stack build && stack install .

Notes

  • Currently doesn't handle resizing the shell during execution
  • The screen doesn't update fast enough sometimes, causing tearing / lag / unresponsiveness. Seems to have more to do with ncurses / the shell than the speed of the simulation
  • Some linux distros cause the program to crash (and mess up the user's shell since the ncurses cleanup commands don't run)

About

Conway's Game of Life written in Haskell, using ncurses

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published