2021-06

プログラミング

【まとめ】Pythonでライフゲーム

これまでに書いた記事の中から、「Pythonでライフゲーム」というテーマで書いた記事をまとめてみました。
プログラミング

【Pygame】セル編集機能を実装する

格子をクリックすることでセルの生死を切り替えるために_edit_cellsメソッドを作成する。 import pygame import sys import time class LifeGame: def __init__(self):...
プログラミング

【Pygame】コマ送り機能を実装する

エンターキーを押すことでセルの更新をコマ送りで実行するために_advance_frameメソッドを作成する。 import pygame import sys import time class LifeGame: def __init__...
プログラミング

【Pygame】実行・停止機能を実装する

スペースキーを押すことでセルの更新の実行と停止を切り替えるために_switch_run_stopメソッドを作成する。 import pygame import sys import time class LifeGame: def __in...
プログラミング

【Pygame】ライフゲームをGUIで実行する

格子の中に生きているセルを描画するために_draw_cellsメソッドを作成し、ライフゲームをGUIで実行できるようにする。 import pygame import sys import time class LifeGame: def ...
プログラミング

【Pygame】格子を描画する

格子を描画するために_draw_gridメソッドを作成する。 import pygame import sys class LifeGame: def __init__(self): self.cells = [[0, 1, 0, 0, 0...
プログラミング

【Python】ライフゲームをCUIで実行する

2次元配列を次の世代のセルに更新するためにupdate_cellsメソッドを作成し、ライフゲームをCUIで実行できるようにする。 class LifeGame: def __init__(self): self.cells = [[0, 1...
プログラミング

【Python】次の世代のセルの生死を判定する

ライフゲームのルールに従って、周辺のセル(ムーア近傍)の生きているセルの合計から次の世代のセルの生死を判定するためにcheck_rulesメソッドを作成する。 class LifeGame: def __init__(self): self...
プログラミング

【Python】2次元配列を1次元配列に変換する(平坦化)

周辺のセル(ムーア近傍)の生きているセルの合計を求めるため、2次元配列を1次元配列に変換(平坦化)するflattenメソッドを作成する。 class LifeGame: def __init__(self): self.cells = [[...
プログラミング

【Python】周辺のセル(ムーア近傍)を取得する

任意のセルの周辺のセル(ムーア近傍)を取得するためにget_around_cellsメソッドを作成する。 class LifeGame: def __init__(self): self.cells = [[0, 1, 0, 0, 0], ...