Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .idea/Python.DiceyLab.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

140 changes: 127 additions & 13 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added src/main/python/__pycache__/bins.cpython-38.pyc
Binary file not shown.
Binary file added src/main/python/__pycache__/dice.cpython-38.pyc
Binary file not shown.
Binary file not shown.
21 changes: 13 additions & 8 deletions src/main/python/bins.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
class Bins:

def __init__(self, numrolls):
self.numberOfRolls = numrolls

bin = {}
for x in range (self.numberOfRolls, self.numberOfRolls * 6):
result ={x:0}
bin.append(result)
return bin
def __init__(self, numDice):
self.numberOfDice = numDice
self.list = []


def create_bin(self):
for x in range(self.numberOfDice, self.numberOfDice * 6 + 1):
self.list.append(0)

def increment_bin(self,sum):
index = sum - self.numberOfDice
checkthis = self.list[index] + 1
self.list[index] = checkthis
9 changes: 4 additions & 5 deletions src/main/python/dice.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@


class Dice:
MAX = 6

def __init__(self, numrolls):
self.numberOfRolls = numrolls
def __init__(self, numDice):
self.numberOfDice = numDice

def tossandsum(self):
def tossAndSum(self):
toss = 0
for i in range(self.numberOfRolls):
for i in range(self.numberOfDice):
toss = toss + random.randint(1, 6)
return toss
4 changes: 4 additions & 0 deletions src/main/python/mainapplication.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from src.main.python.simulation import Simulation

sim = Simulation(3,1000000)
sim.runSimulation()
23 changes: 18 additions & 5 deletions src/main/python/simulation.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,29 @@
from src.main.python.bins import Bins
from src.main.python.dice import Dice
# from src.main.python.bins import ?????


class Simulation:


def __init__(self, numberdice, numberrolls):
self.numberOfDice = numberdice
self.numberOfRolls = numberrolls
self.dice = Dice(self.numberOfDice)
self.bins = Bins(self.numberOfDice)

def runSimulation(self):
self.bins.create_bin()
for i in range(self.numberOfRolls):
dice1 = Dice(self.numberOfDice)
dicesum = dice1.tossandsum()
print(dicesum)
# add dicesum to bin
dicesum = self.dice.tossAndSum()
self.bins.increment_bin(dicesum)
self.printStars(self.bins.list)



def printStars(self, list):
for x in list:
stars = ""
for y in range(1, int(100*x/self.numberOfRolls)):
stars = stars + "*"

print("sum: %-5s times: %-7s percent: %-9s : %s" % (list.index(x) + self.numberOfDice, x, x/self.numberOfRolls, stars))
22 changes: 22 additions & 0 deletions src/test/python/dicey_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import unittest
from src.main.python.bins import Bins
from src.main.python.dice import Dice
from src.main.python.simulation import Simulation


class TestDiceyLab(unittest.TestCase):
def test_createBin(self):
bins = Bins(5)
bins.create_bin()
self.assertTrue(len(bins.list), 26)

def test_tossAndSum(self):
for x in range(0, 10000):
num = Dice(5).tossAndSum()
self.assertTrue(num <= 30)
self.assertTrue(num >= 5)



if __name__ == '__main__':
unittest.main()
10 changes: 0 additions & 10 deletions test/python/dicey_test.py

This file was deleted.