Skip to content
Snippets Groups Projects
Select Git revision
  • c08f268b187ed43ecd18138d1d171e80ae07be32
  • master default protected
  • 61-upgrade-framework-and-dependencies
  • 42-add-allowed-categories-in-settings-page
  • 44-improve-app-metadata
  • 23-add-tip-response-on-clic-on-button
  • Release_1.11.0_55 protected
  • Release_1.10.2_54 protected
  • Release_1.10.1_53 protected
  • Release_1.10.0_52 protected
  • Release_1.9.0_51 protected
  • Release_1.8.0_50 protected
  • Release_1.7.0_49 protected
  • Release_1.6.2_48 protected
  • Release_1.6.1_47 protected
  • Release_1.6.0_46 protected
  • Release_1.5.1_45 protected
  • Release_1.5.0_44 protected
  • Release_1.4.1_43 protected
  • Release_1.4.0_42 protected
  • Release_1.3.1_41 protected
  • Release_1.3.0_40 protected
  • Release_1.2.33_39 protected
  • Release_1.2.32_38 protected
  • Release_1.2.31_37 protected
  • Release_1.2.30_36 protected
26 results

default_game_settings.dart

Blame
  • default_game_settings.dart 2.52 KiB
    import 'package:petitbac/utils/tools.dart';
    
    class DefaultGameSettings {
      // available game parameters codes
      static const String parameterCodeItemsCount = 'itemsCount';
      static const String parameterCodeTimerValue = 'timerValue';
      static const List<String> availableParameters = [
        parameterCodeItemsCount,
        parameterCodeTimerValue,
      ];
    
      // items count: available values
      static const String itemsCountValueNoLimit = 'nolimit';
      static const String itemsCountValueShort = 'short';
      static const String itemsCountValueMedium = 'medium';
      static const String itemsCountValueLong = 'long';
      static const List<String> allowedItemsCountValues = [
        itemsCountValueNoLimit,
        itemsCountValueShort,
        itemsCountValueMedium,
        itemsCountValueLong,
      ];
      // items count: default value
      static const String defaultItemsCountValue = itemsCountValueMedium;
    
      // timer value: available values
      static const String timerValueNoTimer = 'nolimit';
      static const String timerValueLow = 'low';
      static const String timerValueMedium = 'medium';
      static const String timerValueHigh = 'high';
      static const List<String> allowedTimerValues = [
        timerValueNoTimer,
        timerValueLow,
        timerValueMedium,
        timerValueHigh,
      ];
      // timer value: default value
      static const String defaultTimerValue = timerValueMedium;
    
      // available values from parameter code
      static List<String> getAvailableValues(String parameterCode) {
        switch (parameterCode) {
          case parameterCodeItemsCount:
            return DefaultGameSettings.allowedItemsCountValues;
          case parameterCodeTimerValue:
            return DefaultGameSettings.allowedTimerValues;
        }
    
        printlog('Did not find any available value for game parameter "$parameterCode".');
        return [];
      }
    
      static int getItemsCountValueFromCode(String itemsCountParameterValue) {
        const Map<String, int> values = {
          DefaultGameSettings.itemsCountValueNoLimit: 0,
          DefaultGameSettings.itemsCountValueShort: 5,
          DefaultGameSettings.itemsCountValueMedium: 10,
          DefaultGameSettings.itemsCountValueLong: 20,
        };
        return values[itemsCountParameterValue] ??
            getItemsCountValueFromCode(DefaultGameSettings.defaultItemsCountValue);
      }
    
      static int getTimerValueFromCode(String timerValueParameterValue) {
        const Map<String, int> values = {
          timerValueNoTimer: 0,
          timerValueLow: 5,
          timerValueMedium: 30,
          timerValueHigh: 90,
        };
        return values[timerValueParameterValue] ??
            getTimerValueFromCode(DefaultGameSettings.defaultTimerValue);
      }
    }