Difference between revisions of "Course:CPSC312-2017-Game-of-life"

From UBC Wiki
Jump to: navigation, search
(Created page with "== Title == Authors: Alexander Lim, Felix Tso, Marcus Wong ===What is the problem?=== For this project, we wish to use Haskell to simulate Conway’s Game of Life. The Game of...")
 
Line 10: Line 10:
  
 
The Game of Life is turing complete, meaning that it has the same computational power as a universal turing machine, so it is theoretically as powerful as any computer with unlimited memory and no time constraints.
 
The Game of Life is turing complete, meaning that it has the same computational power as a universal turing machine, so it is theoretically as powerful as any computer with unlimited memory and no time constraints.
 
  
 
===What is the something extra?===
 
===What is the something extra?===

Revision as of 23:07, 20 November 2017

Title

Authors: Alexander Lim, Felix Tso, Marcus Wong

What is the problem?

For this project, we wish to use Haskell to simulate Conway’s Game of Life. The Game of Life consists of a m x m grid where each cell can either be populated or unpopulated. The cells can change state with each ‘tick’ of the program by adhering to 4 rules: Any live cell with fewer than two live neighbours dies Any live cell with two or three live neighbours lives on Any live cell with more than three live neighbours dies Any dead cell with exactly three live neighbours becomes a live cell The first generation is created by applying the above rules simultaneously to every cell in the seed, birth and deaths happen simultaneously.

The Game of Life is turing complete, meaning that it has the same computational power as a universal turing machine, so it is theoretically as powerful as any computer with unlimited memory and no time constraints.

What is the something extra?

We will implement a GUI for our program so that we can represent the populated or unpopulated with colored in cells instead of just depicting the state of the program in the console. In addition, we can also add a stepper as part of the GUI so that the user can step through each state of the world.

What did we learn from doing this?

(This should be written after you have done the work.) What is the bottom-line? Is logic programming suitable for (part-of) the task? Make sure you include the evidence for your claims.