#include
#include
#include
using namespace std;
class Dice
{
public:
void Fling();
int GetAce();
private:
int ace;
};
class Game
{
public:
void Play();
Game ();
private :
Dice dice1;
Dice dice2;
bool Judge();
};
void Dice::Fling()
{
ace =(int)(rand()*6/(RAND_MAX+1))+1;
}
int Dice::GetAce()
{
return ace;
}
Game::Game ()
{
srand(time (NULL));
}
void Game::Play()
{
dice1.Fling();
cout <<"Generate"<
dice2.Fling();
cout<<"Generate"<
if (Judge())
cout <<"Won!"<
else
cout <<"Fail"<
}
bool Game ::Judge()
{
if (dice1.GetAce()+dice2.GetAce()==7);
return true;
else
return false;
}
int main()
{
Game game;
game.Play();
return 0;
}
int 改成 long不行吗?
把
ace =(int)(rand()*6/(RAND_MAX+1))+1;
改为
ace =(int)((double)rand()/(RAND_MAX+1) * 6) + 1;
不知道你这个问题是否已经解决, 如果还没有解决的话: 我很好奇你这句想要实现什么功能。可以用 int64 接收随机数并进行计算。