Skip to content
Snippets Groups Projects
Select Git revision
  • 00ffc677a75b932ec6c18843ee9dba6d57a7699f
  • master default protected
  • 34-upgrade-framework-and-dependencies
  • 17-improve-app-metadata
  • Release_0.9.0_28 protected
  • Release_0.8.2_27 protected
  • Release_0.8.1_26 protected
  • Release_0.8.0_25 protected
  • Release_0.7.0_24 protected
  • Release_0.6.0_23 protected
  • Release_0.5.0_22 protected
  • Release_0.4.2_21 protected
  • Release_0.4.1_20 protected
  • Release_0.4.0_19 protected
  • Release_0.3.1_18 protected
  • Release_0.3.0_17 protected
  • Release_0.2.1_16 protected
  • Release_0.2.0_15 protected
  • Release_0.1.1_14 protected
  • Release_0.1.0_13 protected
  • Release_0.0.12_12 protected
  • Release_0.0.11_11 protected
  • Release_0.0.10_10 protected
  • Release_0.0.8_8 protected
24 results

game.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,
        };