diff --git a/.idea/Python.DiceyLab.iml b/.idea/Python.DiceyLab.iml
index 0a5fa1d..4e6ce24 100644
--- a/.idea/Python.DiceyLab.iml
+++ b/.idea/Python.DiceyLab.iml
@@ -5,7 +5,4 @@
-
-
-
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 8d7b733..71effa2 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -2,11 +2,10 @@
+
+
-
-
-
@@ -15,16 +14,25 @@
-
+
+
+
+
+
+
+
+
+
+
@@ -39,7 +47,7 @@
-
+
@@ -49,6 +57,11 @@
+
+
+
+
+
@@ -61,24 +74,99 @@
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
@@ -92,11 +180,13 @@
1574867906960
-
-
+
+
+
+
@@ -112,5 +202,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/python/__pycache__/bins.cpython-38.pyc b/src/main/python/__pycache__/bins.cpython-38.pyc
new file mode 100644
index 0000000..d87c2d9
Binary files /dev/null and b/src/main/python/__pycache__/bins.cpython-38.pyc differ
diff --git a/src/main/python/__pycache__/dice.cpython-38.pyc b/src/main/python/__pycache__/dice.cpython-38.pyc
new file mode 100644
index 0000000..4003cde
Binary files /dev/null and b/src/main/python/__pycache__/dice.cpython-38.pyc differ
diff --git a/src/main/python/__pycache__/simulation.cpython-38.pyc b/src/main/python/__pycache__/simulation.cpython-38.pyc
new file mode 100644
index 0000000..69847ac
Binary files /dev/null and b/src/main/python/__pycache__/simulation.cpython-38.pyc differ
diff --git a/src/main/python/bins.py b/src/main/python/bins.py
index 034e789..e81c4ff 100644
--- a/src/main/python/bins.py
+++ b/src/main/python/bins.py
@@ -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
\ No newline at end of file
diff --git a/src/main/python/dice.py b/src/main/python/dice.py
index 5ed4499..0ff5230 100644
--- a/src/main/python/dice.py
+++ b/src/main/python/dice.py
@@ -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
diff --git a/src/main/python/mainapplication.py b/src/main/python/mainapplication.py
new file mode 100644
index 0000000..1b46146
--- /dev/null
+++ b/src/main/python/mainapplication.py
@@ -0,0 +1,4 @@
+from src.main.python.simulation import Simulation
+
+sim = Simulation(3,1000000)
+sim.runSimulation()
\ No newline at end of file
diff --git a/src/main/python/simulation.py b/src/main/python/simulation.py
index 84a5dd4..75f1215 100644
--- a/src/main/python/simulation.py
+++ b/src/main/python/simulation.py
@@ -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))
diff --git a/src/test/python/dicey_test.py b/src/test/python/dicey_test.py
new file mode 100644
index 0000000..5118357
--- /dev/null
+++ b/src/test/python/dicey_test.py
@@ -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()
diff --git a/test/python/dicey_test.py b/test/python/dicey_test.py
deleted file mode 100644
index 58e5dfe..0000000
--- a/test/python/dicey_test.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import unittest
-
-
-class MyTestCase(unittest.TestCase):
- def test_something(self):
- self.assertEqual(True, False)
-
-
-if __name__ == '__main__':
- unittest.main()