Dzień dobry, mianowicie mam problem, ponieważ dostałem zadanie o takiej treści " utwórz grę kościaną, gra musi spełnić poniższe wymagania:
- Na początku ma się pojawić z ilu graczy będzie składała się rozgrywka max 4
- Użytkownik może wybrać sobie nick.
- Każdy gracz ma mieć symulowany rzut dwiema kośćmi do gry oraz sumowany wynik
- Gracz z najwyższą sumą punktów ma wygrywać rundę
- Jeżeli dochodzi do remisu pomiędzy dowolną ilością graczy, ma być powtarzany rzut kośćmi tylko pomiędzy graczami którzy mieli ten sam wynik
- Po sześciu rundach rozgrywka się kończy i jest przedstawiona tablica wyników "
mam problem z 4,5,6 podpunktem w sensie 4 jako tako działa ale średnio najgorzej z podpunktem piątym.
Wiem jak zrobić to teoretycznie lecz w praktyce coś nie wychodzi. W 6 podpunkcie muszę wszystko dać w pętle i wyniki graczy po każdej rundzie zapisać do tabeli, która na końcu się wyświetli, 5 podpunktu nie umiem zrobić, proszę o jakąś małą podpowiedź lub nakierowanie poniżej jest mój kod.
#include <iostream>
#include <windows.h>
#include <ctime>
#include <cstdlib>
using namespace std;
void menu();
void gra();
/* */
int main() {
menu();
}
int liczba_graczy, rzut1, rzut2, wyniki_1[4], wyniki_2[4], suma[4], command, rmax;
string nick[4];
void menu() {
cout << "****** witaj w grze ******" << endl;
cout << "* 1. Start gry \t*" << endl;
cout << "* 2. Wyjscie z gry \t*" << endl;
cout << "* 3. Informacje \t*" << endl;
cout << "**************************" << endl;
cin >> command;
switch(command)
{
case 1:
{
gra();
} break;
case 2:
{
cout << "gra zostanie wylaczona!"; Sleep(2000);
exit(0);
} break;
case 3:
{
cout << "autorzy: ******* " << endl;
cout << "jezyk programowania: c++" << endl;
} break;
default:
{
cout << "przykro mi ale nie ma takiej opcji!" << endl; Sleep(2000);
menu();
} break;
}
}
void gra()
{
srand((unsigned)time(0));
cout << "ilu jest graczy (max 4)" << endl; //zad1
cin >> liczba_graczy;
if(liczba_graczy < 1 || liczba_graczy > 4)
{
cout << "nieprawidlowa ilosc graczy sprobuj ponownie" << endl; Sleep(2000);
gra();
}
for (int i = 0; i < liczba_graczy; i++)
{
cout << "podaj swoj nick" << endl;
cin >> nick[i]; // zad2
cout << endl;
}
for (int i = 0; i < liczba_graczy; i++)
{
rzut1 = rand() % 6 + 1;
rzut2 = rand() % 6 + 1;
wyniki_1[i] = rzut1; // zad3
wyniki_2[i] = rzut2;
suma[i] = rzut1 + rzut2;
}
rmax = suma[0]; // zad4 nie do konca dziala
for (int i = 1; i < liczba_graczy; i ++)
{
if (rmax < suma[i])
rmax = suma[i];
cout << nick[i] << " wygral bo ma najwiecej punktow " << rmax << endl;
}
for (int i = 0; i < liczba_graczy; i++)
{
cout << nick[i] << " uzyskal z jednej kostki " << wyniki_1[i] << endl;
cout << nick[i] << " uzyskal z drugiej kostki " << wyniki_2[i] << endl;
cout << nick[i] << " uzyskal lacznie " << suma[i] << endl;
}
}