Giter Site home page Giter Site logo

ethanstanks / game-of-life Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 391 KB

This C# Windows Application project allows users to visualize and simulate the evolution of Conway's Game of Life, with basic features like cell toggling and advanced features like custom game colors and boundary behavior.

Home Page: https://ethanstanks.github.io/conway.html

C# 100.00%
cellular-automaton context-menu conway-s-game-of-life grid-based performance-optimization randomization settings simulation user-interaction visualization

game-of-life's Introduction

Conway's Game of Life


Introduction

Conway's Game of Life is a cellular automaton created by John Horton Conway in 1970. It is a simulation of life and death of cells on a two-dimensional grid. This program is a Windows C# application that renders Conway's Game of Life with additional features listed below.

Basic Features

  1. Render Conway's Game of Life in a .NET application.
  2. Cells can be turned on and off by clicking on them with the mouse.
  3. Living cells with less than 2 living neighbors die in the next generation.
  4. Living cells with more than 3 living neighbors die in the next generation.
  5. Living cells with 2 or 3 living neighbors live in the next generation.
  6. Dead cells with exactly 3 living neighbors live in the next generation.
  7. Start, Pause and Next menu items and tool strip buttons.
  8. Randomizing the universe.
  9. Emptying the universe.
  10. Saving the current universe to a text file.
  11. Opening a previously saved universe.
  12. Show the current generation.
  13. Show the current number of living cells.
  14. Controlling how many milliseconds between new generations.
  15. Controlling the current size of the universe.
  16. Displaying the neighbor count in each cell.
  17. Implement a View Menu that toggles the grid on and off, toggles the neighbor count display.

Advanced Features

  1. Game Colors.
  2. Universe boundary behavior.
  3. Context sensitive menu.
  4. Heads up display.
  5. Settings.

Getting Started

  • Clone or download the project from the repository.
  • pen the project in Visual Studio.
  • Build and run the project.

Usage

  • Click on the cells in the grid to turn them on or off.
  • Click on the Start button to begin the simulation.
  • Click on the Pause button to pause the simulation.
  • Click on the Next button to advance the simulation by one generation.
  • Click on the Randomize button to randomly populate the grid.
  • Click on the Clear button to empty the grid.
  • Click on the Save button to save the current grid to a text file.
  • Click on the Open button to load a previously saved grid from a text file.
  • Use the Size button to adjust the size of the grid.
  • Use the Speed button to adjust the speed of the simulation.
  • Use the View menu to toggle the grid, neighbor count display and heads up display.

game-of-life's People

Contributors

ethanstanks avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.