我目前正在开发一款玩家玩老虎机的游戏。该游戏基于用户停止赚钱,100秒,300秒或500秒。然后用户为每个游戏下注。单臂强盗随机吐出9个片段中的3个不同符号。见图:
游戏的目标是尽可能多地获得相同符号的行,列和对角线。在我做的上面的例子中,当上下行具有相等的符号时获得了利润,连续两行(aaa)相同。 以下利润系统取决于具有相同符号的行数:
•A系列提供2 *下注
•两行给3 *下注
•三行给4 *下注
四行给出5 *下注
•五行给出7 *下注
•完全比赛场地提供10 *下注
我不知道怎么用付款来解决这个问题?我可以使用什么代码?我应该使用for循环吗?我是c ++的新手,所以我遇到了麻烦。我一直在这个游戏上花了很多时间,但我无法解决它。请帮我!这是我现在代码的一小部分:我只想比较结果。可以帮助我比较我刚才描述的先前目标之后的结果。我感谢所有的帮助!
srand(time(0));
char game[3][3] = {{'O','X','A'}, {'X','A','X'}, {'A','O','O'}};
for (int i = 0; i < 3; ++i)
{
int r = rand() % 3;
cout << " " <<game[r][0] << " | " << game[r][1] << " | " << game[r][2] << "\n";
cout << "___|___|___\n";
}
//.....compare the two-dimensional array????
答案 0 :(得分:1)
您可以使用comparison operators检查矩阵中的元素是否彼此相等。您已经知道如何访问矩阵的每个元素(game[r][0]
等)。
现在,您所要做的就是检查行,对角线等元素是否相等。
此外,您需要存储随机生成的符号。您应该创建一个名为results
的新矩阵(或2D数组)。
E.g。
char results[3][3];
现在,当您显示老虎机结果时,请将其存储在此2D阵列中:
for(int i = 0; i < 3; ++i)
{
int r = rand() % 3;
cout << " " <<game[r][0] << " | " << game[r][1] << " | " << game[r][2] << "\n";
cout << "___|___|___\n";
// Store
for(int j = 0; j < 3; ++j) results[r][j] = game[r][j];
}
上面,我刚刚使用了另一个循环来存储您显示的内容。
为了帮助您入门,以下是如何检查矩阵的所有3行的水平线:
bool horz_equal[3];
for(int r = 0; r < 3; ++r)
{
horz_equal[r] = (results[r][0] == results[r][1] && results[r][1] == results[r][2]);
}
此外,您应该考虑随机生成符号的方法。有更好的方法!
答案 1 :(得分:0)
我不确定我是否完全理解你的要求,但决定尽我所能地解释它们。此代码执行我认为您想要的。我已经使用0,1和2作为字符,但你可以轻松地将它们换成输出中你想要的任何东西。我也没有费心计算支出,因为你已经在你的问题中编写了伪代码。
int game[3][3];
int x, y;
int lines = 0;
// select a random grid
srand(time(0));
for(x = 0; x < 3; x++) {
for(y = 0; y < 3; y++) {
game[x][y] = rand() % 3;
cout << game[x][y];
if (y == 2)
cout << '\n';
}
}
// count horizontal lines
for (y = 0; y < 2; y++)
if (game[0][y] == game[1][y] && game[0][y] == game[2][y])
lines++;
// vertical
for (x = 0; x < 2; x++)
if (game[x][0] == game[x][1] && game[x][0] == game[x][2])
lines++;
// diagonal
if (game[0][0] == game[1][1] && game[0][0] == game[2][2])
lines++;
if (game[0][2] == game[1][1] && game[0][2] == game[2][0])
lines++;
cout << lines << " lines\n";
顺便说一下,这是我的第一个c ++程序。