private void _carMoveFunc(ACar model, int from, int to, int step, AMove m, PassedInfo passed, CarCallback callback) { model = model.Clone(); passed = passed.Clone(); m.Times = 0; for (var t = 0; t < from; t++) { if (!_modelMove(model, m, passed)) { return; } m.Times++; } for (var t = from; t <= to; t += step) { _movesStack.Add(m); callback(model, passed); _movesStack.Pop(); for (var r = 0; r < step; r++) { if (!_modelMove(model, m, passed)) { return; } m.Times++; } } }
private void _carMoveFunc(ACar model, int from, int to, int step, AMove m, PassedInfo passed, CarCallback callback) { model = model.Clone(); passed = passed.Clone(); m.Times = 0; for (var t = 0; t < from; t++) { if (!_modelMove(model, m, passed)) return; m.Times++; } for (var t = from; t <= to; t += step) { _movesStack.Add(m); callback(model, passed); _movesStack.Pop(); for (var r = 0; r < step; r++) { if (!_modelMove(model, m, passed)) return; m.Times++; } } }