Создание игры в дартс и две ошибки
too few argurments in function call
а также
game, identifier not found
Я пытаюсь создать игру для задания, в котором двое игроков будут играть в дротики «Джо и Сид» из 301, нет двойных чисел, только быка и 21 числа в массиве, любая помощь в решении вопроса будет принята с благодарностью, приведенный ниже код имеет четыре основные функции, каждая из которых приводит к снижению оценки: сначала на 50 (бык), а затем на 20, а затем в одиночном разряде, оба игрока должны закончить на быка, и любой результат, который не является быком, когда счет достигает 50, отбрасывается. ,
Вот мой код ниже, любая помощь будет оценена.
#include <iostream>
using namespace std;
int dartScores[] = {20, 1, 18, 4, 13, 6, 10, 15, 2, 17, 3, 19, 7, 16, 8, 11, 14, 9, 12, 5, 20};
void makeThrow( int &score );
int main ()
{
int joeScore = 301;
int sidScore = 301;
for (int i = 0; i< 1000;i++){
while( joeScore > 0 || sidScore > 0 )
{
//do a throw
game( joeScore);
game( sidScore);
}
// remember to reset the score value
}}
void makeThrow_50( int &score, int acc )
{
if ( rand()%100 < acc )
{
score -= 50;
}
else
{
//select a random
int missedScore = dartScores[ rand()%20 ];
// Only reduce score when thrown score is less than remaining score
if (missedScore > score)
{
// Valid dart, take from score
score -= missedScore;
}
else
{
// Invalid throw - BUST
//cout << " BUST ";
}
//if (score <0) score=0;
}
}
void makeThrow_20( int &score, int acc )
{
if ( rand()%100 < acc )
{
score -= 20;
}
else
{
//select a random
int missedScore = dartScores[ rand()%20 ];
// Only reduce score when thrown score is less than remaining score
if (missedScore > score)
{
// Valid dart, take from score
score -= missedScore;
}
else
{
// Invalid throw - BUST
//cout << " BUST ";
}
//if (score <0) score=0;
}
}
void makeThrow_Single( int &score, int acc )
{
if ( rand()%100 < acc )
{
score -= 1;
}
else
{
//select a random
int missedScore = dartScores[ rand()%20 ];
// Only reduce score when thrown score is less than remaining score
if (missedScore > score)
{
// Valid dart, take from score
score -= missedScore;
}
else
{
// Invalid throw - BUST
//cout << " BUST ";
}
//if (score <0) score=0;
}
}
void makeThrow_bull( int &score, int acc )
{
if ( rand()%100 < acc )
{
score -= 50;
}
else
{
//select a random
int missedScore = dartScores[ rand()%20 ];
// Only reduce score when thrown score is less than remaining score
if (missedScore > score)
{
// Valid dart, take from score
score -= missedScore;
}
else
{
// Invalid throw - BUST
//cout << " BUST ";
}
//if (score <0) score=0;
}
}int game(int& score, int acc) {
if (score >= 100)
makeThrow_50(score, acc);
else if (score >= 70)
makeThrow_20(score, 80);
else if (score >= 51)
makeThrow_Single(score, 80);
else
makeThrow_bull(score, 80);
}
game
перед main
game
Функция принимает 2 аргумента, и вы передаете только один (в main
)#include <cstdlib>
за rand()
, #include <time.h>
и положить srand (time(NULL))
в начале main
,game
или определите его перед вызовом.game
принимает два аргумента.