prob con numero casuale in C
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 7 di 7

Discussione: prob con numero casuale in C

Cambio titolo
  1. #1
    Utente L'avatar di complicated
    Registrato il
    08-03
    Località
    villaggio dei puffi
    Messaggi
    364

    prob con numero casuale in C

    provate il codice..
    xkè i tre num son = ?

    fate conto ke mi servoino tutti e tre...


    #include <stdio.h> /* */
    #include <stdlib.h> /* */
    #include <time.h> /* inclusione librerie */

    int pv, dm, dif, nome[10], /* variabili del personaggio */
    forza, intelligenza, vitalita, /* variabili per caratteristiche */
    dadoPOZ, dado6, dado12, /* variabili dei dadi */
    menu1, menu2, /* variabili dei menu */
    giorno, ore, min; /* variabili del tempo */


    void CreaEroe() /* creare il personaggio */
    {
    printf("\t\n");
    printf("\tCREAZIONE PERSONAGGIO\n");
    printf("\t\n");
    printf("\tPrima di cominciare devi crearti il personaggio.\n");
    printf("\tInnanzitutto dai un nome al tuo personaggio:\n");
    printf("\t\n");
    printf("\t");
    scanf("%s", nome);
    printf("\t\n");
    printf("\tOk %s, adesso stabiliremo le caratteristiche\n", nome);
    printf("\tdel tuo personaggio...\n");
    printf("\t\n");

    /* tiro x determinare la forza */
    srand((unsigned)time(NULL));
    forza=1+rand()%6;
    printf("\tTiro dado per determinare la FORZA: %d\n", forza);
    /* tiro x determinare la vitalità */
    srand((unsigned)time(NULL));
    vitalita=1+rand()%6;
    printf("\tTiro dado per determinare la VITALITA': %d\n", vitalita);
    /* tiro x determinare l'intelligenza */
    srand((unsigned)time(NULL));
    intelligenza=1+rand()%6;
    printf("\tTiro per determinare l'INTELLIGENZA: %d\n", intelligenza);
    }

    main() /* funzione MAIN */
    {
    CreaEroe();
    system("PAUSE");
    }

    Una donna per domarli, Una donna per trovarli,
    Una donna per ghermirli e nel buio incantenarli.
    (motto del partito "Donne al Potere")


    non so cos'altro scrivere nella firma...

  2. #2
    Ex ***** VIPz Estathé L'avatar di nicjedi
    Registrato il
    12-02
    Località
    non vivo
    Messaggi
    16.158
    Mi sa che è dovuto al fatto che il programma è talmente veloce che fa tutti e 3 i rand() quasi nello stesso momento, quindi i numeri risultano uguali. Inoltre dovresti mettere la possibilità ,attraverso un while di poter rilanciare i dadi )di solito per 3 volte)

    Ciao

    Nicola
    "La violenza è l'ultimo rifugio degli incapaci"
    "Non lasciare mai che la morale ti impedisca di fare la cosa giusta"
    "La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta."
    "fare molte cose alla volta significa non farne bene nessuna"


  3. #3
    Utente L'avatar di Fractal
    Registrato il
    02-03
    Località
    Catania
    Messaggi
    273
    NAAAAAAAAAAAAAAAAaa

    invece di

    forza=1+rand()%6;

    usa

    forza=(1+rand())%6;

    o se non funziona usa

    int random=rand();
    forza=(1+random)%6;

    se risultano sempre uguali vuol dire che hai qualche problema nell'inclusione della libreria che gestisce rand()

    cmq se ti interessa posso aiutarti nella creazione di un gioco visuale... ti bastano delle semplici librerie grafiche.. inoltre puoi farlo sotto windows invece di usare la console di dos x eseguirlo.

  4. #4
    Utente L'avatar di complicated
    Registrato il
    08-03
    Località
    villaggio dei puffi
    Messaggi
    364
    Inviato da Fractal
    NAAAAAAAAAAAAAAAAaa

    invece di

    forza=1+rand()%6;

    usa

    forza=(1+rand())%6;

    o se non funziona usa

    int random=rand();
    forza=(1+random)%6;

    se risultano sempre uguali vuol dire che hai qualche problema nell'inclusione della libreria che gestisce rand()

    cmq se ti interessa posso aiutarti nella creazione di un gioco visuale... ti bastano delle semplici librerie grafiche.. inoltre puoi farlo sotto windows invece di usare la console di dos x eseguirlo.


    o risolto il problema inserendo tra una generazione el'altra

    system("PAUSE");
    system("CLS");

    va al tread "provate e ditemi" e da un'okkiata....

    ty cmq

    Una donna per domarli, Una donna per trovarli,
    Una donna per ghermirli e nel buio incantenarli.
    (motto del partito "Donne al Potere")


    non so cos'altro scrivere nella firma...

  5. #5
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.310
    bastava mettere una chiamata a srand( (unsigned)time( NULL ) );
    che reinizializzava il generatore di numeri casuali.

  6. #6
    ...ros1k... L'avatar di <TheShop>Evoc Thurner
    Registrato il
    10-03
    Località
    La Spezia
    Messaggi
    7.557
    perchè molto semplicemente devi fare (rand()%6)+1

  7. #7
    Utente L'avatar di complicated
    Registrato il
    08-03
    Località
    villaggio dei puffi
    Messaggi
    364
    Inviato da Fractal
    ti bastano delle semplici librerie grafiche.. inoltre puoi farlo sotto windows invece di usare la console di dos x eseguirlo.


    mi spiegheresti come?

    Una donna per domarli, Una donna per trovarli,
    Una donna per ghermirli e nel buio incantenarli.
    (motto del partito "Donne al Potere")


    non so cos'altro scrivere nella firma...

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •