我写了模拟骰子卷的程序
Random r = new Random();
int result = r.nextInt(6);
System.out.println(result);
我想知道是否有一种方法可以“预测”下一个生成的数字,以及JVM如何确定要生成的下一个数字?
在任何JVM和OS上,我的代码输出数字是否接近真正的随机值?
下面是两个功能:一个是掷骰子,另一个是滚动数据。当你掷骰子时,它每次都给你一个随机值,这是很好的。然而,当滚动一个stat时,它似乎为所有6个迭代提供了相同的随机值。我认为这可能是因为每次迭代之后没有正确地重置resultStat。
以下是代码:
int Roll_Dice(int number_of_dice, int number_of_faces)
{
int i;
int result = 0;
srand((unsigned) time(NULL));
for (i = 0; i < number_of_dice; i++)
{
如果我想投100d6,我必须:
int sum=0;
for(int i=0; i<100; i++)
sum += Random.BetweenInclusive( 1, 6);
但对于高骰子数,这可能是昂贵的。
是否有任何算法能够用总是需要相同时间(在骰子数量中为常数)并且仍然会产生二项分布的算法抛出多个骰子?
目标是编写一个函数,以便:
int RollADice( int rolls, int faces)
{
if( rolls <1245) // constant determined by profiling
{
int sum
虽然这应该是一个非常基本的问题,但我没有找到解决办法:如何在没有可信第三方的情况下在网络上玩骰子?
M玩家将掷N个骰子,一个接一个。任何球员都不能“欺骗”,即在下一轮比赛前改变结果,或“展望未来”。
这有可能吗?
我想解决方案应该类似于公钥密码,每个玩家都会提交一条加密的消息。收集完所有邮件后,您可以交换密钥来解码这些消息。然后用sha1(joined string of all decrypted messages) mod 6 + 1来确定模具。
我面临的主要问题是:由于消息c/s可能是任何东西,我不知道如何防止私钥被篡改。Esp。最后一个上交钥匙的玩家很容易作弊(我猜)。
如果所有玩家“
我写了一个程序,它用用户指定的边数掷骰子。问题是,它太容易预测了。
我使用的是CodeBlocks集成开发环境,编译器是GCC。该程序可以很好地编译为调试和发布构建,但无论我选择哪种构建选项,可执行文件每次运行时都将返回相同的值。我不能这样做,因为它的预期用途是作为桌面RPG工具,如果聪明的玩家知道掷骰子的模式,那么作弊就相对容易了。
解决此问题的最简单方法是什么?
以下是源代码:
#include <iostream> /* for input and output */
#include <cstdlib> /* for random number
我想要创建一个掷骰子,以便用户可以选择骰子上的几个边,它将随机化响应,我当前的代码抛出的数字总是相同的。
Sub rollDie(ByVal sides As Integer)
Dim rand As Single = Rnd()
For cnt As Integer = 1 To sides
If rand < cnt / sides Then
diceRoll = cnt
Exit For
End If
Next
Console.WriteLine("You rol
我有个掷两个骰子的骰子游戏。一个是你的,一个是“计算机的”。如果“计算机”的骰子比你的高或等于你的,你就输了。
我对每个掷骰子有12个独立的符号(1-6个你的骰子,1-6个“计算机”的骰子)。我使用此代码在每次重新打开swf时获得一个随机掷骰子:
var diceplayer:int = 1;
diceplayer = Math.random()*6 + 1; //(the +1 so you don't get 0)
我如何去做一个重试按钮,用不同的Math.random重新掷出2个骰子?通常,当我声明一个Math.random时,它会一直保持不变,直到我重新启动swf。
我希望我能
我正在试着让它做计算,无论输入的数字是什么,我对python不是很有经验,我正在做一些东西,它将有一个'x‘数量的边的骰子,它将寻找'x’数量的对,例如,它将需要多少骰子掷6个6。如果我写得不好,我很抱歉
时间就是掷骰子的次数
配对是指它正在查找的配对的数量
边数是骰子有多少边/数
import random
sides = int(input("How many Dice Sides/Numbers: "))
pairs = int(input("How many Pairs to Search for: "))
time = 0
if
Console.WriteLine("How many times would you like to roll?");
string count = Console.ReadLine();
int cnt = Convert.ToInt32(count);
for (int i = 1; i <= cnt; i++)
{
int rol = new int();
Random roll = new Random();
rol = roll.Next(1, 6);
Console.WriteLine("Die {0} landed
在过去,我只做了大部分前端的事情。HTML/CSS,我正在尝试做一些需要一些脚本的东西,但我甚至不确定从哪里开始寻找。
基本上,我想做的事情如下所示。
我想有3个骰子,可以随机显示一个面孔,当页面被刷新或按下一个按钮时,面孔是1-6,每个骰子有不同的颜色,每个面孔和每种颜色都有一组描述,他们链接到。
因此,假设我刷新页面,我希望每个骰子显示不同的面孔。
然后在下面,每个模具有多个部分,因此:
红色骰子6:(来自listA of 6的随机描述)
绿色模具2:(来自listB of 6的随机描述)
黑色骰子4:(来自listC of 6的随机描述)
这些描述可以从频繁更改的XML文件中提取出来吗?
我正在试着做一个非常基本的骰子游戏(Javascript的新成员)。在页面加载中,“骰子”被“掷”了三次,结果会显示出来,并显示一条消息,告诉你是否掷出了6。我试图放入一个永久的消息,关于已经赢了多少场-问题是,如果你看我下面的代码,我用于这个'wins‘的变量在每次赢的时候都会递增,但它实际上只显示两个值:如果用户刚刚输了,它实际上只显示了两个值:如果用户刚刚输了,那就是1。无论掷骰子多少次,它都不会达到一个更高的数字。想知道是否有人有解决方案/解释?
代码:
console.log("Dice game. You have 3 tries to roll a 6 - go&
我在c#程序中遇到了一个奇怪的问题。该程序的目的是掷骰子和显示他们的输出。程序的逻辑是好的,并且只有在我输出到消息框时才起作用。下面是代码:
private void btnRoll_Click(object sender, EventArgs e)
{
lbDice.Items.Clear();
int[] rolls = new int[13];
for (int i = 1; i < numTxt.Value; i++) {
int index = new Random().Next(1, 7) + n