Skip to content
Snippets Groups Projects
Select Git revision
  • 5a1e0604e11dfb18b12f615f6e13829fac228218
  • master default protected
  • 39-upgrade-framework-and-dependencies
  • 22-improve-app-metadata
  • 9-improve-layout-and-graphics
  • Release_0.9.0_34 protected
  • Release_0.8.2_33 protected
  • Release_0.8.1_32 protected
  • Release_0.8.0_31 protected
  • Release_0.7.0_30 protected
  • Release_0.6.0_29 protected
  • Release_0.5.0_28 protected
  • Release_0.4.2_27 protected
  • Release_0.4.1_26 protected
  • Release_0.4.0_25 protected
  • Release_0.3.1_24 protected
  • Release_0.3.0_23 protected
  • Release_0.2.1_22 protected
  • Release_0.2.0_21 protected
  • Release_0.1.1_20 protected
  • Release_0.1.0_19 protected
  • Release_0.0.18_18 protected
  • Release_0.0.17_17 protected
  • Release_0.0.16_16 protected
  • Release_0.0.15_15 protected
25 results

game_utils.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);
      }
    }