Beispiel #1
0
 def test_stat_randomize(self):
     stats = Stats()
     stats.randomize()
     for stat, default in DEFAULT_STATS.iteritems():
         actual = stats[stat]
         self.assertTrue(actual <= MAX_STAT)
         self.assertTrue(default <= actual)
Beispiel #2
0
    def __init__(self, **kwargs):
        self._stats = {}
        self.max_stat = MAX_STAT

        for stat, value in DEFAULT_STATS.iteritems():
            value = kwargs.get(stat, value)
            self._stats[stat] = value

        randomize_max = kwargs.get('randomize_max', None)
        if randomize_max:
            self.randomize(randomize_max)

        self._initial = self._stats.copy()
Beispiel #3
0
    def randomize(self, n=MAX_STAT):
        self.max_stat = n

        for stat, value in DEFAULT_STATS.iteritems():
            value = random.randint(value, n)
            self._stats[stat] = value
Beispiel #4
0
    def __repr__(self):
        stat_strs = [self.fmt_stat(stat) for stat in DEFAULT_STATS.iterkeys()]
        output = ', '.join(stat_strs)

        return '<{}: '.format(self.__class__.__name__) + output + '>'
Beispiel #5
0
 def test_stat_initialization(self):
     stats = Stats()
     for stat, value in DEFAULT_STATS.iteritems():
         actual = stats[stat]
         self.assertEqual(actual, value)
Beispiel #6
0
 def test_entity_has_randomized_stats(self):
     entity = Entity()
     default_stats = Stats()
     bools = [default_stats[stat] == entity.stats[stat]
              for stat, _ in DEFAULT_STATS.iteritems()]
     self.assertFalse(all(bools))
Beispiel #7
0
 def test_stat_randomized_initialization(self):
     stats = Stats(randomize_max=50)
     for stat, default in DEFAULT_STATS.iteritems():
         actual = stats[stat]
         self.assertTrue(actual <= 50)
         self.assertTrue(default <= actual)