gamedie's Issues
Add feature to report distribution as percentages
get_distribution()
keeps a tally of how many times each face has been rolled, but some users are reporting that they want this same information as a percentage of total rolls.
Add a public member function vector<double> GameDie::get_percentages()
that returns the percentage of rolls for each face relative to the number of total rolls. Each percentage should be a double
between 0
and 1
inclusively. For example, if we have a 4-sided die that has rolled each face 1 time and has the get_distribution()
of:
{1,1,1,1}
then the get_percentages()
function should return:
{0.25,0.25,0.25,0.25}
If there are no rolls yet, percentages should report 0
for each face in the vector. Otherwise, the percentage should be calculated by face rolls / total rolls.
Implement the roll function
Roll needs to generate a random number between 1-6 and display it
Set up Continuous Integration that builds the project
The continuous integration should run when (and only when) there is a new commit into the main
branch.
It should build the project using g++ to compile GameDie.cpp
with the options -Wall -Werror
to report warnings as errors. It should build but not run the project.
With the build CI set up, its status badge should be added to the README.md
file
Create member function get_distribution
Create a public member function GameDie::get_distribution()
that returns a vector <int>
that represents the number of rolls for each face of the die.
A die is typically labelled from 1...n
but vectors are zero-indexed, so it should return a vector from 0...n-1
where each cell represents the count of rolls at the face, minus one. For example, on a four-sided die where there has been one roll of the face value 4, get_distribution()
should return the vector {0,0,0,1}
. However, those indices are at locations [0], [1], [2], and [3].
If there have been no rolls yet, each cell should have the count 0
.
Overload constructor for alternate-sized die
Create an overloaded constructor GameDie::GameDie(unsigned int)
so that die can be created with any positive number of faces.
If the parameter passed is zero, default to six faced die.
Otherwise, allow a die that has as many faces as provided as a parameter.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.