基本功能和循环

时间:2019-07-15 01:25:14

标签: c++

班级奖励分配:

我知道这是我应该自己做的“任务”。我只需要一些指导。我不需要此程序的全部代码。

您将编写一个程序,该程序将与两个玩家一起玩名为“ 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分为止。

0 个答案:

没有答案