File tree Expand file tree Collapse file tree 1 file changed +4
-1
lines changed
Expand file tree Collapse file tree 1 file changed +4
-1
lines changed Original file line number Diff line number Diff line change @@ -188,13 +188,16 @@ std::vector<SokobanLevel>::iterator LevelLoader::GetLevel(std::mt19937& gen) {
188188 if (n_levels_to_load_ > 0 && levels_loaded_ >= n_levels_to_load_) {
189189 throw std::runtime_error (" Loaded all requested levels." );
190190 }
191+ // Load new files until the current level index is within the loaded levels
192+ // this is required when new files have lesser levels than the number of envs
191193 while (cur_level_ >= levels_.size ()) {
192194 cur_level_ -= levels_.size ();
193195 LoadFile (gen);
194- if (levels_.empty ()) {
196+ if (levels_.empty ()) { // new file is empty
195197 throw std::runtime_error (" No levels loaded." );
196198 }
197199 }
200+ // no need for bound checks since it is checked in the while loop above
198201 auto out = levels_.begin () + cur_level_;
199202 cur_level_ += num_envs_;
200203 levels_loaded_++;
You can’t perform that action at this time.
0 commit comments