Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Program ciągle losuje tą samą liczbę

Ostatnio zmodyfikowano 2012-10-19 11:35
Autor Wiadomość
Ivsimato
Temat założony przez niniejszego użytkownika
[C++] Program ciągle losuje tą samą liczbę
» 2012-10-15 23:08:17
Oto kod mojej pierwszej gry. Niedokończonej ponieważ system losuje ciągle tą samą liczbę. Czy może to ktoś zmodyfikować aby było inaczej. Z góry thx. Pozdrawiam, Ivsiamto.

C/C++
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <ctime>

using namespace std;

int main()
{
    int wmenu;
   
   
    cout << "\t\t\t      Six - The Video Game \n " << endl;
    cout << "--------------------------------------------------------------------------------" << endl;
    cout << "     Menu:" << endl;
    cout << "1. Graj!" << endl;
    cout << "2. Exit." << endl;
   
    {
        cin >> wmenu;
       
       
        switch( wmenu ) {
            int x, y;
            long time_t, t;
        case 1:
           
            cout << "Gra polega na odgadnieciu ilosci oczek jaka wypadnie na kostce ktora \n rzuci komputer, gracz nie widzi kostki." << endl;
            srand(( unsigned ) time( & t ) ); // OMG
            x =( rand() % 6 ) + 1; // OMG
            cout << "Wedlug ciebie ta liczba jest rowna: " << endl;
            do
            {
                cin >> y;
                // checkpoint
                if( x == y )
                     cout << "Swietnie!" << endl;
                else( x > y ),( x < y );
               
                cout << "Sprobuj jeszcze raz!" << endl;
            } while( y > - 1 );
            // checkpoint
            break;
           
        case 2:
            system( "PAUSE" );
            return 0;
            break;
           
            default:
            cout << "Error, please reset the game." << endl;
           
           
           
        }
    }
}
P-66922
cyklopek11
» 2012-10-15 23:16:21
Źle zainicjalizowałeś ziarno. Usuń:
C/C++
srand(( unsigned ) time( & t ) );
 a na początku main dodaj:
C/C++
srand( time( NULL ) );

i usuń:
C/C++
long time_t, t;
P-66923
Ivsimato
Temat założony przez niniejszego użytkownika
» 2012-10-16 15:59:32
Dalej to samo.
P-66930
crash
» 2012-10-16 16:37:48
Dałeś zaraz pod main(){ instrukcję srand(time(NULL)) czy zostawiłeś w słiczu?
P-66933
Forczek
» 2012-10-19 11:35:39
C/C++
if( x == y )
     cout << "Swietnie!" << endl;
else( x > y ),( x < y );

Myślę że nie trzeba robić
else( x > y ),( x < y )
Wystarczy samo else i na przyszłość, warunki możesz łączyć magicznym:
&&
, czyli
( x > y && x < y ).
To tak na marginesie twojego problemu.
P-67066
« 1 »
  Strona 1 z 1