При создании игры в дартс появляются две ошибки «слишком мало аргументов в вызове функции» и & quot; игра, идентификатор не найден & quot;

Создание игры в дартс и две ошибки

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);

}

0

Решение

  1. Вам нужно объявление game перед main
  2. game Функция принимает 2 аргумента, и вы передаете только один (в main)
  3. Тебе нужно #include <cstdlib> за rand(),
  4. Я бы тоже советовал #include <time.h> и положить srand (time(NULL)) в начале main,
1

Другие решения

  1. Либо вы объявляете прототип game или определите его перед вызовом.
  2. функция game принимает два аргумента.
1

По вопросам рекламы [email protected]