import 'package:minehunter/utils/tools.dart'; class DefaultGameSettings { // available game parameters codes static const String parameterCodeLevel = 'level'; static const String parameterCodeSize = 'size'; static const List<String> availableParameters = [ parameterCodeLevel, parameterCodeSize, ]; // level: available values static const String levelValueEasy = 'easy'; static const String levelValueMedium = 'medium'; static const String levelValueHard = 'hard'; static const String levelValueNightmare = 'nightmare'; static const List<String> allowedLevelValues = [ levelValueEasy, levelValueMedium, levelValueHard, levelValueNightmare, ]; // level: default value static const String defaultLevelValue = levelValueMedium; // size: available values static const String sizeValueSmall = '10x10'; static const String sizeValueMedium = '15x15'; static const String sizeValueLarge = '20x20'; static const List<String> allowedSizeValues = [ sizeValueSmall, sizeValueMedium, sizeValueLarge, ]; // size: default value static const String defaultSizeValue = sizeValueMedium; // available values from parameter code static List<String> getAvailableValues(String parameterCode) { switch (parameterCode) { case parameterCodeLevel: return DefaultGameSettings.allowedLevelValues; case parameterCodeSize: return DefaultGameSettings.allowedSizeValues; } printlog('Did not find any available value for game parameter "$parameterCode".'); return []; } // parameters displayed with assets (instead of painter) static List<String> displayedWithAssets = [ // ]; // how many mines? (per 100 tiles) static const Map<String, int> minesCountRatios = { DefaultGameSettings.levelValueEasy: 5, DefaultGameSettings.levelValueMedium: 10, DefaultGameSettings.levelValueHard: 15, DefaultGameSettings.levelValueNightmare: 20, }; }