Advertisement
nosthemerc

20190131_ToG_dice

Jan 31st, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.90 KB | None | 0 0
  1. import random
  2. import math
  3.  
  4. # Create Dice
  5. class Die:
  6.     def __init__(self, die_sides):
  7.         self.die_sides = die_sides
  8.  
  9.     def Generator(self, number_of_sides):
  10.         '''Generate die based on the number of sides'''
  11.         return [i for i in range(1, number_of_sides + 1)]
  12.  
  13.     def GenerateFudge(self):
  14.         fudge_list = []
  15.         for i in range(1):
  16.             for i in range(1, -1, -1):
  17.                 fudge_list.append(i)
  18.         return fudge_list
  19.  
  20.     def Roll(self):
  21.         '''Get random side from die'''
  22.         return random.choice(die_sides)
  23.  
  24.     def GetDie(self):
  25.         return self.die_sides
  26.  
  27.     def AddSide(self, side):
  28.         self.die_sides.append(side)
  29.  
  30.     def RemoveSide(self, side):
  31.         self.die_sides.remove(side)
  32.  
  33. class Dice:
  34.     def __init__(self, number_of_dice, die_type):
  35.         self._number_of_dice = number_of_dice
  36.         self._die_type = die_type
  37.  
  38.     def Generator(self, number_of_dice, number_of_sides):
  39.         '''Generate dice based on the number of sides'''
  40.         return number_of_dice, Die.Generator(number_of_sides)
  41.  
  42.     def GenerateFudge(self, number_of_dice):
  43.         return number_of_dice, Die.GenerateFudge()
  44.  
  45.     def Roll(self):
  46.         '''Add random sides from dice'''
  47.         total_from_dice = 0
  48.  
  49.         for i in range(self._number_of_dice):          
  50.             total_from_dice += self._die_type.Roll()
  51.  
  52.         return total_from_dice
  53.  
  54.     def GetAllDice(self):
  55.         return self._number_of_dice, self._die_type
  56.  
  57.     def ChangeDiceAmount(self, new_amount):
  58.         self._number_of_dice = new_amount
  59.  
  60.     def ChangeDiceType(self, new_type):
  61.         self._die_type = new_type
  62.  
  63.  
  64. # Testing...
  65. if __name__ == "__main__":
  66.     sword = 100
  67.  
  68.     # Test dice
  69.     d66 = Die.Generator(66)
  70.     THREEd6 = Dice.Generator(3, 66)
  71.     altTHREEd6 = Dice(3, d66)
  72.  
  73.     # Common Dice
  74.     FOURdF = Dice.GenerateFudge(4)
  75.     ONEd6 = Dice.Generator(1, 6)
  76.  
  77.     # to test dice
  78.     print(d66)
  79.     print(THREEd66)
  80.     print(altTHREEd66)
  81.     print(FOURdF)
  82.     print(ONEd6)
  83.  
  84.     for i in range(10):
  85.         print("The F roll is", FOURdF.Roll())
  86.         print("The d6 roll is", ONEd6.Roll())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement