mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-08 12:56:23 +03:00
Minesweeper: Perform sanity check on configuration (#1300)
This addresses the issue found in #1261. Previously we weren't doing any form of sanity checking on the values in the configuration file, meaning that a user could input a ridiculous number of mines such that the number of mines is larger than the number of squares on the field.
This commit is contained in:
parent
35024154cc
commit
d879102549
Notes:
sideshowbarker
2024-07-19 09:03:30 +09:00
Author: https://github.com/Quaker762 Commit: https://github.com/SerenityOS/serenity/commit/d8791025492 Pull-request: https://github.com/SerenityOS/serenity/pull/1300 Reviewed-by: https://github.com/awesomekling
@ -156,7 +156,13 @@ Field::Field(GUI::Label& flag_label, GUI::Label& time_label, GUI::Button& face_b
|
||||
int mine_count = config->read_num_entry("Game", "MineCount", 10);
|
||||
int rows = config->read_num_entry("Game", "Rows", 9);
|
||||
int columns = config->read_num_entry("Game", "Columns", 9);
|
||||
set_field_size(rows, columns, mine_count);
|
||||
|
||||
// Do a quick sanity check to make sure the user hasn't tried anything crazy
|
||||
if (mine_count > rows * columns || rows <= 0 || columns <= 0 || mine_count <= 0)
|
||||
set_field_size(9, 9, 10);
|
||||
else
|
||||
set_field_size(rows, columns, mine_count);
|
||||
|
||||
set_single_chording(single_chording);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user