/// <summary> /// 次の状態を更新します. 現在の状態は変化しません. /// </summary> public void CalcNextState() { nextState = currentState.GetNextState(CountAliveNeighborhoods()); }
/// <summary> /// 現在の状態を更新します. 必ず先にCalcNextState()を呼び出しておいてください. /// </summary> public void GetNext() { currentState = nextState; }
private LifeGameCell(bool isAlive, LifeGameCell[] cells) { this.neighborhoods = cells; currentState = isAlive ? CellState.GetLivingState() : CellState.GetDeadState(); nextState = currentState; }