Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    [C]prob con num casuale

    provate questo codice e ditemi perkè i tre numeri sono uguali...
    grazie


    #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");
    }
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Semplice: reinizializzi 3 volte il generatore con lo stesso seme!

    Lascia la prima istruzione srand e togli le altre 2.



    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    ma mi servono tutti e tre i tiri di dado!! se no come facciop a creare il personaggio del mio RPG testuale?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    la funzione che ti restituisce un numero casuale è rand(), mentre srand serve solo a inizializzare il seme.
    Tu inizializzi con srand(), poi fai tre chiamate successive alla funzione rand() che ti restituisce 3 numeri pseudo-causali.



    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    sonoun novellino... ti spiegheresti meglio?

    ty

    cosadevo fare?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Devi fare così:

    codice:
    #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"); 
    }
    Togli le istruzioni in grassetto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.