Two players have a set of dice each. The first player has nine dice with four faces each, with numbers one to four. The second player has six normal dice with six faces each, each face has the usual numbers from one to six. They roll their dice and sum the totals of the faces.
The player with the highest total wins it's a draw if the totals are the same. What's the probability of the first player beating the second player? Later the two players use a different set of dice each. Now the first player has five dice with ten faces each, and the second player has six dice with seven faces each.
Now what's the probability of the first player beating the second player? This task was adapted from the Project Euler Problem n. Click this link to run this code.
The table has 2 columns. The first column is the pip count on all dice, the second column is the number of ways this many pips can occur. If we further restrict die faces to be 1 to n instead of arbitrary values, the combo generation can be made much faster:. Note that all calculations are in integer and rational arithmetic, so the results in fractional notation are exact. To handle the nested loop in NdKTcl 's metaprogramming abilities are exercised.
The goal is to produce a script that looks like:. Such metaprogramming is a very powerful technique in Tcl for building scripts where other approaches in this case, recursion might not be appealing, and should be in every programmer's toolbox! The nested-loop generation illustrated above is useful to factor out as a routine by itself.
I include this to emphasise the importance and power of metaprogramming in a Tcler's toolbox, as well as sharing a useful proc. Create account Log in. Toggle plant water relation mcq. Page Discussion Edit History. Dice game probabilities From Rosetta Code.
Jump to: navigationsearch. Dice game probabilities is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page. Works with : Julia version 0.
It only takes a minute to sign up. I've written a basic dice program in Java which takes a number of faces then randomly selects a number within that boundary. Here is the code:. In your code you have declared a variable dice which is a Random. This is an indication that you have a mismatch between the object and the implementation. The fact that you call it 'dice' implies you want something that is a Dice A Dice should be able to "encapsulate" itself. Now you have a class that represents a dice, and you can roll that dice, and you now have a main method that looks like:.
Note, there's always going to be a discussion about the singular is "Die", and the plural is "Dice". One Die, many Dice Creating a class called "Die" is just wrong. Unlike in C, in Java people usually declare the variables when they actuall need them; for example:.
Sign up to join this community. The best answers are voted up and rise to the top. Home Questions Tags Users Unanswered. Java Dice Roller Ask Question. Asked 4 years, 6 months ago. Active 4 years, 6 months ago. Viewed 15k times. Here is the code: package com.
If user's sum is 2,3,12 then they lose. If the sum is 7,11 then they win. If sum is 4,5,6,8,9,10 then the program automatically rolls the dice again until the user wins or loses. Here is my code so far:. You should use a while loop: The dice are rolled again and again until the player has won or lost then, break ends the while loop. Learn more. Dice Rolling java program Ask Question. Asked 5 years, 6 months ago. Active 2 years, 4 months ago.
Viewed 65k times. Hope you brought lots of CASH! Jk1 9, 9 9 gold badges 47 47 silver badges 63 63 bronze badges. May I suggest a while loop?
Your title is not useful. Please edit it to reflect the issue at hand. Why do you run every thing in the main method?
Start a daemon thread to run the engine. Diwas, Sorry this is not a solution but a question. I was working on a similar problem and did not understand the code in my textbook.
Active Oldest Votes. The Overflow Blog. The Overflow How many jobs can be done at home? Featured on Meta. Community and Moderator guidelines for escalating issues via new response….Senior Devvie. Probabilities with Dice. I'm contemplating programming an RPG where you roll N 6-sided dice to use a skill the value of N comes from a statistic, and I might allow it to be as high as A difficult task might require multiple successes to complete.
I've written a program to compute just how likely all these dice rolls are to succeed. However, I've done this by using what little I can remember about probabilities rather than computing every possibility. Does the following pseudocode seem like it should be correct? It's the probability of getting exactly J successes with I dice not more or less. Re: Probabilities with Dice. This is just the number of ways of selecting j items from n items. That's just n! Edit: I get the feeling that there is a flaw in my logic, but I've been up all night, and for the life of me I cant see it.
Junior Devvie. Games published by our own members! Check 'em out! Just thought I'd add that the values in the first table match the formula, so I guess they're right.
Also, that anydice site is nice! Quote from: Jono on Quote from: markus. Junior Newbie. I've taken a different approach in a board-game adaption I'm currently finishing up. For 2d6, rather than generate one random number and compare against a probability table, I just generate two random numbers in the range [1,6] and add them! JGO Ninja Medals: Quote from: Robert The Rebuilder on Quote from: fletchergames on I must have learned this stuff 3 times, but I can't remember any of it.
Check out our latest community projects! Android Showcase.Stephan van Hulst wrote: First of all, start by making your program more clear by eliminating all the 'cases' you use. Stephan van Hulst wrote: I apologize, I didn't notice you already had a variable with that name. I meant a new variable, which you have interpreted correctly. Anyway, looking at your program, I don't see why it would keep asking for input. You should have an entirely different problem on your hand, namely that you're stuck in a permanent loop.
Have a look at the exit condition of your nested for loop. By the way, you can also eliminate a lot in your display code. If I may give you a big hint, I think you are using the nested loop for the wrong purpose. Tell me, how many dice do you have?
Stephan van Hulst wrote: It doesn't say in the requirements you need a nested loop. Life is full of choices. Sometimes you make the good ones, and sometimes you have to kill all the witnesses. Forum: Beginning Java. Dice probability program, using nested loops.
Isaac Davis. One of my assignments requires that I make a program that will calculate dice probability using nested loops no idea why nested loops would be used here. I've written it out, and I get no compiling errors, but when I actually run the program for some reason it won't stop asking for user input, any advice as to why it does this would be helpful.
I think the problems inside the for loop because without it there is no repetitive issue. I think the for loop isn't taking the value of rolls and is actually asking for it, but I need that value in there. Scanner; import java.
Stephan van Hulst. Saloon Keeper. First of all, start by making your program more clear by eliminating all the 'cases' you use. I can't use rolls to store my values, rolls needs to be a number put in by the user because it determines how many times a dice would be rolled. The only real use I have for it is to determine when the main for loop ends. Then I need compare each new random toto determine how many times that number has been rolled. Anyways this is what I've worked out according to what I think you mean.
Still get the same issue though. I think it's asking for a new rolls every time the for loop runs through, any idea how to fix that? I apologize, I didn't notice you already had a variable with that name. That's the format the displays supposed to go in, according to the example given by my teacher.During these challenging times, we guarantee we will work tirelessly to support you. We will continue to give you accurate and timely information throughout the crisis, and we will deliver on our mission — to help everyone in the world learn how to do anything — no matter what.
Thank you to our community and to all of our readers who are working to aid others in this time of crisis, and to all of those who are making personal sacrifices for the good of their communities. We will get through this together. The Random class in java can be very helpful for performing simulations and creating games. A basic way to use this class is to simulate a dice, which means getting a random number from a certain range depending on how many sides the dice contains.
Log in Facebook Loading Google Loading Civic Loading No account yet?
Even odd program in Java
Article Edit. Learn why people trust wikiHow. Author Info Updated: March 11, To create this article, volunteer authors worked to edit and improve it over time. This article has also been viewed 8, times. Learn more Explore this Article Steps. Tips and Warnings.Nick Cantara wrote: Not sure about this last one, but the program should have a class called Die that stores the data for each die.C# 8.17: Dice Rolling (C# arrays, C# 2-dimensional arrays, C# loops)
This is what I have so far and I'm lost on it There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors. Forum: Beginning Java. Roll the Dice program. Nick Cantara. So I'm writing an application that rolls two six-sided dice, displaying the results after each roll and asking the user if they would like to roll again.
It is supposed to show Roll 1, Roll 2, Roll 3, etc, but I am having problems with it showing that based on my counter variable. I have 5 classes created.
Below is what I have for code so far. This is what I have so far and I'm lost on it. Jeff Verdegan. I like Hi, and welcome to the Ranch! Wha specific problem are you having?
Also, that's a lot of code, and the vast majority of it is not related to your problem. It will be easier for people to help you and easier for you to help yourself! Winston Gutkowski. Right, well I'm assuming your Die class is supposed to model a single die, so why would you have a ' sum ' field? Also, it would appear that you're using the ' d ' field to hold the number of sides, so why not call it ' numberOfSides '? Giving things meaningful names is a very important part of good programming.
If it's the random number stuff you're stuck on, have a look at the Random class java. You are writing too much code at once. Before you ever write a single line of code, you should analyze the problem and come up with all the individual things you need it to do.
For example, my first pass at this assignment would be: 1 Generate an integer in the range 2 compute the sum of two numbers 3 Display a result 4 keep track of the number of rolls 5 ask the user something 6 Get input from a user 7 validate input 8 loop around and do it all again if needed I'd make sure I could do each of the above steps by them selves before trying to combine them.
I'd make sure one worked before I considered starting the next. I think he's gonna try to grab my monkey.
Do we have a monkey outfit for this tiny ad? Boost this thread! Beginner Yahtzee Progam. Variables assigned to objects. Need Help Understand this. Create a Die Class.