コード例 #1
0
def two_d6_plus_6() -> list:
    """Roll 2d6+6 six times, keeping the order.

    This ensures no score is too low and most abilities are above average.
    """
    rolls: List[int] = []
    for i in range(1, 7):
        roll: int = multi_die(2, 6) + 6
        rolls.append(roll)
    return rolls
コード例 #2
0
def three_d6() -> list:
    """Roll 3d6 six times. Each result is the value of the ability, from top to bottom

    This can lead to characters that are weaker than average and limit race and class eligibility.
    However, it can also lead to more role playing opportunities.

    :rtype: list
    """
    rolls: List[int] = []
    for i in range(1, 7):
        roll: int = multi_die(3, 6)
        rolls.append(roll)
    return rolls
コード例 #3
0
def four_d6_drop_lowest() -> list:
    """Roll 4d6 six times, discarding the lowest roll, keeping the order.

    This ensures above average scores and greater likelihood of getting the desired class.
    """
    rolls: List[int] = []
    for x in range(1, 7):
        new_val: int = 0
        i: int = 0
        while i < 7:
            roll: int = multi_die(3, 6)
            if roll >= new_val:
                new_val = roll
            i += 1
        rolls.append(new_val)
    return rolls
コード例 #4
0
 def set_social_class(self, social_class=None):
     """If not defined, randomly assign a social class to the character."""
     if social_class:
         self.social_class = social_class
     else:
         roll = multi_die(1, 100)
         if 1 <= roll <= 4:
             self.social_class = "Lower-Lower Class"
         elif 5 <= roll <= 10:
             self.social_class = "Middle-Lower Class"
         elif 11 <= roll <= 20:
             self.social_class = "Upper-Lower Class"
         elif 21 <= roll <= 35:
             self.social_class = "Lower-Middle Class"
         elif 36 <= roll <= 55:
             self.social_class = "Middle-Middle Class"
         elif 56 <= roll <= 87:
             self.social_class = "Upper-Middle Class"
         elif 88 <= roll <= 96:
             self.social_class = "Lower-Upper Class"
         elif 97 <= roll <= 99:
             self.social_class = "Middle-Upper Class"
         else:
             self.social_class = "Upper-Upper Class"
コード例 #5
0
ファイル: test_d6.py プロジェクト: crystalattice/Fantasy_RPG
 def test_1d6(self):
     for i in range(25):
         assert 1 <= multi_die(1, 1) <= 6
コード例 #6
0
ファイル: test_d6.py プロジェクト: crystalattice/Fantasy_RPG
 def test_num_error(self):
     assert multi_die(0, 1) == 0
コード例 #7
0
ファイル: test_d6.py プロジェクト: crystalattice/Fantasy_RPG
 def test_3d6(self):
     for i in range(25):
         assert 3 <= multi_die(3, 1) <= 18
コード例 #8
0
 def test_2d20(self):
     for i in range(25):
         assert 2 <= multi_die(2, 7) <= 40
コード例 #9
0
 def test_3d20(self):
     for i in range(25):
         assert 3 <= multi_die(3, 7) <= 60
コード例 #10
0
 def test_3d4(self):
     for i in range(25):
         assert 3 <= multi_die(3, 4) <= 16
コード例 #11
0
 def test_2d8(self):
     for i in range(25):
         assert 2 <= multi_die(2, 5) <= 16
コード例 #12
0
 def test_1d12(self):
     for i in range(25):
         assert 1 <= multi_die(1, 6) <= 12
コード例 #13
0
 def test_2d12(self):
     for i in range(25):
         assert 2 <= multi_die(2, 6) <= 24
コード例 #14
0
 def test_3d10(self):
     for i in range(25):
         assert 3 <= multi_die(3, 5) <= 30
コード例 #15
0
 def test_2d10(self):
     for i in range(25):
         assert 2 <= multi_die(2, 2) <= 20
コード例 #16
0
 def test_1d10(self):
     for i in range(25):
         assert 1 <= multi_die(1, 2) <= 10
コード例 #17
0
ファイル: test_d6.py プロジェクト: crystalattice/Fantasy_RPG
 def test_2d6(self):
     for i in range(25):
         assert 2 <= multi_die(2, 1) <= 12
コード例 #18
0
 def test_2d4(self):
     for i in range(25):
         assert 2 <= multi_die(2, 4) <= 8
コード例 #19
0
 def test_3d12(self):
     for i in range(25):
         assert 3 <= multi_die(3, 6) <= 36
コード例 #20
0
 def test_1d8(self):
     for i in range(25):
         assert 1 <= multi_die(1, 5) <= 8
コード例 #21
0
 def test_1d20(self):
     for i in range(25):
         assert 1 <= multi_die(1, 7) <= 20
コード例 #22
0
 def test_1d4(self):
     for i in range(25):
         assert 1 <= multi_die(1, 4) <= 4