Il C++, come tutti i linguaggi, mette a disposizioni miriadi di funzioni utili ed anche indispensabili.
Una tra queste, di sicuro, è la funzione rand()
ovvero un generatore di valori interi casuali.
La funzione rand()
senza argomenti restituisce un intero positivo da 0
ad un massimo che dipende dal sistema su cui il codice viene eseguito. Si può sapere il massimo con la costante
RAND_MAX
La funzione rand()
genera un numero casuale.
La funzione rand()
genera un numero casuale e si può dare un limite massimo inserendo l’operatore modulo %
(resto)
Una funzione utile è char(valore)
che restituisce un carattere dal valore ASCII specificato.
ASCII (American Standard Code for Information Interchange) è un sistema di codifica dei caratteri a 8 bit
La funzione rand()
genera sempre lo stesso numero casuale se non si resetta il generatore ad inizio esecuzione!
Si deve inizializzare con un numero. Per avere sempre una generazione di numeri diversi, si può usare il tempo in millisecondi
attuali con la funzione
time(NULL)
e si passa alla funzione srand()
Modificare il nostro generatore in modo da produrre delle password con questo formato:
ASDF-FPIR-PORJ-PLOI
Ovvero una password di lunghezza 15 composta da 4 gruppi di lettere maiuscole (codici ASCII da 65 a 90) separate da un trattino.
Stampare a video la tabella ASCII facendo stampare il numero decimale ed il carattere associato.
Sapendo che una slot machine ha 3 rulli indipendenti da 10 simboli ciascuno, realizzare un piccolo programma che, in maniera random, visualizza 3 simboli tra un set di 10 simboli. Se i 3 simboli sono uguali viene stampata la scritta “hai vinto” altrimenti “ritenta”
La gran parte dei giochi contiene un generatore di valori casuali anche per rendere sempre lo scenario differente e non predicibile.
La funzione rand()
genera un numero casuale e il generatore deve essere resettato all’inizio del programma.
La funzione rand()
genera un numero casuale e il generatore deve essere resettato all’inizio del programma.
Per limitare la funzione rand()
con un valore MASSIMO e un valore MINIMO, ci servirà l’operatore % RESTO.
Ricordiamo la REGOLA del RESTO:
Il resto non può mai essere uguale
o maggiore del divisore
La funzione rand()
genera un numero casuale e il generatore deve essere resettato all’inizio del programma.
La funzione rand()
per il lancio di due dadi
✽ Far inserire una puntata tra 1 e 100 €
✽ Primo tiro - Se si effettua 7 o 11 si vince raddoppiando la posta, altrimenti si perde
✽ Primo tiro - Se si effettua 2, 3 oppure 12 si perde
✽ Per qualsiasi altro numero, non 2, 3, 7, 11 o 12, si memorizza e si ritira finché non esce di nuovo quel numero, e si vince, oppure 7 e si perde.
✽ Il giocatore che tira i dadi gioca per vincere e punta sulla vittoria, un secondo giocatore, può puntare o sulla vincita o sulla perdita di chi tira i dadi.
✽ Inserire uno switch case che al posto dei numeri faccia uscire la faccia del dado come icona