Skip to main content

Conway's game of life in python

Project description

Game Of Life

Simple way to play Conway's game of life in python.
You can import your own map as json file name "save.json", using get_MAP methode.
All you custom maps (in the save.json file) are available in the list custom_maps.
Other custom maps are available such as: my_map_1 and my_map_2, created using Map class :

from simple_game_of_life import Map
m = Map(100)
my_map_1 = m.mini_random_MAP((25, 20))
my_map_2 = m.kind(kind="line 10")


**NOTE** : Two artificials borders are created for each map,
The first one is visible while playing, it's in black.
The second one is white (invisible) just after the black border, no cell can born here

Installation

Run the following command to install: $ pip install simple-game-of-life

Usage

for a random map

from simple_game_of_life import GameOfLife
game = GameOfLife(50) 
game.start_animation()

for a custom map

from simple_game_of_life import GameOfLife
from random import choice
custom_map = GameOfLife.get_MAP() # custom_map already saved in the json file
game = GameOfLife(custom_map=choice(my_custom_map))
game.start_animation()
# Note you can also import custom_map like that :
# from simple_game_of_life import custom_map 

to implement a pattern :

from simple_game_of_life import GameOfLife, Map
glider = [[0,1,0],
          [0,0,1],
          [1,1,1]]
m = Map(100)
my_map = m.my_pattern(glider)
game = GameOfLife(custom_map=my_map)
game.start_animation()

Other usage

GameOfLife classe :
- You can save a map by using saved_MAP methode.
- You can get a map by using get_MAP methode.
- You can reset all saved map by using reset_MAP methode.
- You can get all frames by using get_history methode.
- You can set a new animation with the same instance using new_animation methode.

Map classe :
- full_random_MAP : all the map gonna be random.
- mini_random_MAP : a portion of the map gonna be random.
- my_pattern : insert your pattern into an empty map.
- kind : insert well know pattern into an empty map, (currenly 5 patterns are alives).

You can also calculate the average time of instancing, using timeit function:

game = timeit(GameOfLife, loop=100, size_or_side=50, frames=200) # loop : number of loop
game.start_animation()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simple_game_of_life-0.0.4.3.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simple_game_of_life-0.0.4.3-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file simple_game_of_life-0.0.4.3.tar.gz.

File metadata

  • Download URL: simple_game_of_life-0.0.4.3.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.0

File hashes

Hashes for simple_game_of_life-0.0.4.3.tar.gz
Algorithm Hash digest
SHA256 688458f520de6531db96c57f257b7430f399761913fe667da894a7631cbac94c
MD5 76a0d6c0c68a244656c1065e84d681df
BLAKE2b-256 05a2933e9ae802d26de158c3a98226acddf4a52f3f3cdf844bb08d710a32ebd5

See more details on using hashes here.

File details

Details for the file simple_game_of_life-0.0.4.3-py3-none-any.whl.

File metadata

File hashes

Hashes for simple_game_of_life-0.0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 01aae7f50c332441240229129180b107b43acdd1938b52dfe439c7d1aa3508c0
MD5 f7094628eb99131c27988e2252d5721d
BLAKE2b-256 e149a5d7c81fd86e8fde0c0153b25cb18cd7309e233f0565e523a7c566727e11

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page