예제 #1
0
    def test_save(self):
        path = Path('grid.txt')

        game = GameOfLife((self.rows, self.cols))
        game.curr_generation = self.grid
        game.save(path)

        game = GameOfLife.from_file(path)
        self.assertEqual(game.curr_generation, self.grid)
        self.assertEqual((game.rows, game.cols), (self.rows, self.cols))
예제 #2
0
                        type=str,
                        default="white",
                        help="Enter color of dead cells")
    parser.add_argument("--maxgenerations",
                        type=int,
                        default=50,
                        help="Enter max number of generations")
    parser.add_argument("--grid_path",
                        type=Path,
                        default=None,
                        help="Load grid from file")
    parser.add_argument("--randomize",
                        type=int,
                        default=1,
                        help="Should grid be randomized?")
    arguments = parser.parse_args()
    if arguments.grid_path is not None:
        gui = GUI(GameOfLife.from_file(arguments.grid_path), arguments.size,
                  arguments.speed)
    else:
        gui = GUI(
            GameOfLife(
                (arguments.rows, arguments.cols),
                arguments.randomize,
                arguments.maxgenerations,
            ),
            arguments.size,
            arguments.speed,
        )
    gui.run()
예제 #3
0
                        dest="it",
                        required=False,
                        default=1000,
                        help="Количество итераций")
    parser.add_argument("--cell-size",
                        "-cs",
                        type=int,
                        dest="cs",
                        required=False,
                        default=10,
                        help="Размер ячейки")

    parser.add_argument("--input-filename",
                        "-in",
                        type=str,
                        dest="in",
                        required=False,
                        help="Путь к файлу с входными данными")

    return parser.parse_args()


if __name__ == '__main__':
    args = vars(parse_args())
    if args.get('in'):
        life = GameOfLife.from_file(pathlib.Path(args['in']))
    else:
        life = GameOfLife((args['r'], args['c']), True, args['it'])
    ui = GUI(life, cell_size=args['cs'])
    ui.run()
예제 #4
0
                        default=30,
                        help="Enter number of columns in grid")
    parser.add_argument("--speed",
                        type=int,
                        default=1,
                        help="Enter game speed")
    parser.add_argument("--maxgenerations",
                        type=int,
                        default=1000,
                        help="Enter max number of generations")
    parser.add_argument("--randomize",
                        type=int,
                        default=1,
                        help="Should grid be randomized?")
    parser.add_argument("--grid_path",
                        type=Path,
                        default=None,
                        help="Load grid from file")
    parser.add_argument("--symbol",
                        type=str,
                        default="@",
                        help="Select a symbol to display live cells")
    arguments = parser.parse_args()
    if arguments.grid_path is not None:
        gui = Console(GameOfLife.from_file(arguments.grid_path))
    else:
        gui = Console(
            GameOfLife((arguments.rows, arguments.cols), arguments.randomize,
                       arguments.maxgenerations))
    gui.run()