班级奖励分配:
我知道这是我应该自己做的“任务”。我只需要一些指导。我不需要此程序的全部代码。
您将编写一个程序,该程序将与两个玩家一起玩名为“ Frack!”的骰子游戏。这是基本的播放顺序:
1。第一个玩家的回合开始时掷出五个六个六面骰子。
2。如果骰子的平均值小于或等于3,则该回合玩家获得0分,游戏转移到下一位玩家。这称为“水力压裂”。
3。如果骰子的平均值大于3(五个骰子的几率大约为70%),则玩家是安全的,将骰子的总和添加到其回合得分中,并选择其中一个以下选项:
a。他们可以再次滚动,但是这次死亡人数减少了。例如,如果玩家总共获得22个带5个骰子的骰子,则可以保留22个回合得分,并再次以4个骰子掷骰。但是,他们冒着再次跳水并以0分结束回合的风险。但是,如果他们不紧张,他们的转弯得分将随着该掷骰的总数而增加。他们可以继续做这一切,只滚动一个骰子。掷出该骰子后,游戏将自动转到下一个玩家。
b。他们可以宣布自己的交出,将其回合得分加到他们的总比赛得分中,并将骰子传递给下一位玩家。请注意,游戏总得分不会受到干扰的影响。只能将转弯分数重置为零。
4。下一位玩家可以从0点和5个骰子开始回合,也可以从另一位玩家当前获得的点数开始,但是此时剩下很多骰子。
程序启动时,程序应询问用户要玩多少点。游戏必须始终以两个回合数相等的玩家结束;如果第一个玩家获得总分,第二个玩家必须最后一个回合。如果第二位玩家获得总分,则第一位玩家不会再获得回合。
由于主要的重点是功能,因此我决定将该程序分为6部分。
1)用于显示游戏介绍,获取用户信息以及获取游戏目标的功能。
2)使用随机数生成来模拟一个模具的滚动的功能
3)该函数将一个数字作为输入,并模拟该数字的掷骰,显示其值并返回总数。
4)循环?因此玩家可以选择再次执行此操作或通过,或选择转弯。 5)添加第二个播放器。
6)可能是确定游戏结束时间的最终循环。
我只能做第一部分。我不确定如何继续其余部分。
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
string getPlayerOneName();
string getPlayerTwoName();
int getUserInputForPoints();
int main()
{
cout << "Let's Play Frack! " << endl << endl;
string nameOne = getPlayerOneName();
string nameTwo = getPlayerTwoName();
int points = getUserInputForPoints();
int compChoice;
srand(unsigned(time(NULL)));
compChoice = rand() % 5 + 1;
system("pause");
return 0;
}
string getPlayerOneName() // -----------------------------------------------------
{
string playerOne;
cout << "Enter player 1's name: ";
cin >> playerOne;
return playerOne;
}
string getPlayerTwoName() // -----------------------------------------------------
{
string playerTwo;
cout << "Enter player 2's name: ";
cin >> playerTwo;
return playerTwo;
}
int getUserInputForPoints() // ---------------------------------------------------
{
int totalPoints;
cout << "How many points are we playing to? ";
cin >> totalPoints;
while (totalPoints < 0)
{
cout << "Please re - enter the points again: ";
cin >> totalPoints;
}
return totalPoints;
}
让我们玩Frack!
输入玩家1的名字:Elon 输入玩家2的名字:Jeff
我们要打多少分? 50
伊隆转一圈
输入R掷出5个骰子:R Elon以5个骰子开头
您的骰子是:6 2 4 1 4 总数为17,平均为3.4,伊隆是安全的,可以选择是再次掷骰还是将4个骰子传递给下一个玩家。
伊隆很安全!现在您的回合得分是17。
输入R重新滚动,或输入P通过:R他选择重新滚动。
您的骰子是3 4 5 2 总数为14,平均安全系数为3.5!
伊隆很安全!您的回合得分现在是31。这次Elon选择放分,结束转牌,并将剩下的3个骰子传递给Jeff。
输入R重新滚动,或输入P通过:P
杰夫转一圈
您要从零(Z)开始还是以埃隆的点(P)和3个骰子开始? P
您的骰子是3 2 1
杰夫选择继续从埃隆(Elon)离开的地方继续,但不幸的是,本回合以0分结束。
总数为6,平均为2.0
糟糕!您得到0分。
在第一轮结束时,比分是埃隆:28和杰夫:0
伊隆转弯2
输入R掷出5个骰子:R
您的骰子是:6 3 3 1 1 总数为14,平均为2.8
…游戏应继续进行,直到其中一位玩家达到50分为止。