Laurcons

Laurentiu Pricop

Conway's Game of Life

Another game recreation: Conway's Game of Life! Although not a 'game' in its pure meaning, it is 'playable' by a 'player'. This app was made using Windows Forms and GDI+. And, to be honest, GDI+ is actually pretty fast, regardless of what I though earlier..


Published: 2017-08-01
Versions and Links
1.0: ZIP
1.1: ZIP
This is a 8-year old project ported from my old ucoz.org site.
It's already history, and the Young Me who wrote this has grown a lot since then.
Please take everything you read here with a grain of salt (and maybe some humor).

I was in a low-programming-power mode just a few days ago. When I wanted to do some programming, maybe some code management for Minesweeper or working on some unreleased project from my folder, but I couldn't. I also had no ideas for new programs, as this usually keeps me busy for some time. But then, the inspiration has hit me: let's make a Game of Life!

Although it was relatively easy in my mind, it wasn't quite. I had to mess a lot with preparing the form so that I can properly draw on it using a Render static class, then I had to mess with making the drawing panel double buffered (and that property is protected so I could access it only by creating another class, and adding that to the form was a pain), then creating the Table class and extensions, and then testing. After that, I needed to implement the Life rules, which weren't so easy. I messed them up, and I had to google an actual C# implementation of the rules (which works, as opposed to mine, and I don't know why :( ). Then some GUI elements... yeah.

Features

  • This app's standards are definitely not above other programs like this' standards. No way.
  • You are able to proceed generation-by-generation, or by setting and interval.
  • You are able to edit the map whenever you like, by clicking cells
  • The map is resizable, <s>although the tile size is not</s> (v1.1)

To do

  • Clean up the code, it is messy AF
  • <s>Add a tile resize option </s>(v1.1)
  • Further clean up the code
  • General reordering of the source elements
  • Rewriting of some code
  • Testing (I didn't do that much, although it seems to work seamlessly)
  • Reworking parts of code
  • Reviewing performance (by changing code)

Additions to our competitors:

  • None. Did this for fahn.

Download

You will need .NET Framework 4.5.2 on your machine, although it should be installed on Windows 7 and higher.

Change log for all versions: Changelog
Version 1.1: Download News entry (latest) (Aug 5, '17)
Version 1.0: Download (first)

Source code

The source code for the latest version is not available for download, mainly because of how messy it is. The next future versions will hopefully have a cleaner code, point which I will make the source code publicly available.

Development is paused

I am not actively working on this project. If you are interested in reviving this project, send me a Private Message (PM) and I'll consider that!