[C++] Zuffalszahlengenerator => Fehler



  • Tag!

    Ich versuche vergeblich Schiffe versenken zu programmieren.
    Ja der ZFG, er generiert mir zahlen > als 25 und das sollte nicht passieren!

    [cpp]#include<iostream>
    #include<cmath>
    using namespace std;

    struct User
    {
    int choose_x;
    int choose_y;
    int koord;
    bool check;
    };

    struct Computer
    {
    int choose_x;
    int choose_y;
    int koord;
    };

    int main(){
    int feld_user[5][5] = {
    1, 2, 3, 4, 5,
    6, 7, 8, 9, 10,
    11, 12, 13, 14, 15,
    16, 17, 18, 19, 20,
    21, 22, 23, 24, 25
    };
    int feld_computer[5][5] = {
    1, 2, 3, 4, 5,
    6, 7, 8, 9, 10,
    11, 12, 13, 14, 15,
    16, 17, 18, 19, 20,
    21, 22, 23, 24, 25
    };

    User u1;
    Computer c1;

    THREAD_1:

    u1.choose_x = 0;
    u1.choose_y = 0;
    c1.choose_x = 0;
    c1.choose_y = 0;

    do
    {

    cin>>u1.choose_x;

    if(u1.choose_x > 25)
    {
    cout<<"Zahl ist zu gross!"<< endl;
    goto THREAD_1;

    }
    else

    cin>>u1.choose_y;

    if(u1.choose_y > 25)
    {
    cout<<"Zahl ist zu gross!"<< endl;
    goto THREAD_1;

    }
    else

    u1.koord = feld_user[u1.choose_y][u1.choose_x];

    // ZufallszahlenGenerator
    srand (time(NULL));
    c1.choose_x = rand()%25;

    if(c1.choose_x > 25)
    {

    goto THREAD_1;

    }
    else
    c1.choose_y = rand()%25;
    if(c1.choose_y > 25)
    {

    goto THREAD_1;

    }
    else
    c1.koord = feld_computer[c1.choose_y][c1.choose_x];

    // Test wird später entfernt
    cout<<c1.koord<< endl;

    if(u1.koord == c1.koord)
    {
    u1.check = false;

    }
    else

    u1.check = true;
    cout<<"Verloren!" << endl;

    }
    while(u1.check != false);

    cout<<"Gewonnen!"<< endl;

    }[/cpp]

    PS: Der cpp tag funzt nicht 😕



  • du benutzt die zufallszahl als index, wo mir 0-4 erlaubt ist.



  • volkard schrieb:

    du benutzt die zufallszahl als index, wo mir 0-4 erlaubt ist.

    so einfach der fehler nun auch sein mag, die aumerksamkeit ist stets am varieren

    so danke ich dir für diese tat, den ich dir so hoch anrechnen mag

    bis zum nächsten fehler 😃



  • edit: geloescht!


Anmelden zum Antworten