Oppure

Loading
15/05/11 16:57
vera_nica
aiuto...devo creare il gioco del sette e mezzo utilizzando dei vettori semplici...il gioco si evolve così...gioca il giocatore contro il pc, il pc è mazziere, il giocatore ha a disposizione un borsellino che indica la cifra che vuole scommetere, e c'è la presenza della matta o meglio re di quadri che può valere un qualsia valore intere tra 1 e 7... allora io ho pensato di creare due vettori uno carte di 10 elementi che conterrà i valori 1 2 3 4 5 6 7 0.5 0.5 0.5 visto che le figure valgono mezzo punto e un vettore di quattro elemente che conterrà i semi quindi cuori quadri picche e fiori, poi tramite la funzione random estrarre un numero da uno a 10 che utilizzero come puntatore per il vettore ddelle carte e un numero da uno a 4 per i semi....il problema...così facendo le carte si ripetono....altro promela come faccio a risolvere la questione della matta???aiutooo vi prego
aaa
15/05/11 17:06
crybot
beh, per esempio potresti azzerare ogni elemento che viene estratto, sostituendolo con uno 0, poi fai una verifica ad ogni altra estrazione e se l'elemento e` uguale a 0 continua ad estrarre finche` non trova un elemento che non e` ancora stato estratto; fai la stessa cosa con i semi, per il problema della matta non ho capito bene a cosa ti riferisci...
Ultima modifica effettuata da crybot 15/05/11 17:09
aaa
16/05/11 10:54
Oligoatria
Mah, dovendo utilizzare vettori semplici hai diverse possibilità. Si potrebbe evitare di utilizzare un sistema tedioso come quello che ho pensato di scrivere, ma volendo farlo come esercizio scolastico gestirei il problema così:
potresti dichiarare un vettore di 40 elementi, uno per ogni carta. Da 0 a 9 un seme, da 10 a 19 un altro ecc., assegnando poi i punteggi come dicevi. Se ho ben capito la matta è solo una carta, quindi assegnale il punteggio massimo che può avere. Potresti fare come ha detto crybot con la peculiarità seguente: quando viene estratta la matta viene attivato un flag (assegni true ad una variabile booleana) che mi fa capire che c'è la matta tra le carte del giocatore. In quel caso sai che il punteggio va fino a quello calcolato (che chiamiamo x), ma potrebbe valere x-1, x-2, ..., x-6.

Se ho capito bene il problema quella di prima potrebbe essere una banale soluzione. Sottolineo però che il questo modo si eseguono estrazioni senza ripetizione mantenendo però n=40, in sostanza. Per renderlo coerente sotto il profilo probabilistico dovresti effettuare estrazioni sugli elementi rimasti, quindi con un random che spazia prima tra 40, poi 39, 38, ... elementi, dove ottenendo j non è detto che sia nella posizione j dell'array. Mi spiego con un esempio:

x=rand(40)=5
[...] // ora l'elemento 5 è azzerato
x=rand(39)=5
// l'elemento interessato è in posizione 6 (quello in posizione 5 è già stato estratto).

Mah, spero di essere riuscito a spiegarmi
aaa
24/02/22 19:56
reshaeelelahi@gmail.com
Potresti mandarmi l'esercizio intero per favore
24/02/22 20:30
AldoBaldo
Reshaeelelahi, riconsidera la data alla quale risale la richiesta dalla quale ha preso il via questo thread.
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
09/03/22 13:45
Carlo
NO.
Scrivi qualcosa e dove non riesci riceverai aiuto.
Se non sai scrivere nulla, inizia con una nuova domanda tipo: mi piacerebbe usare CODE::BLOCKS/Visual Studio per programmare in C++ come posso iniziare?
Ultima modifica effettuata da AldoBaldo 12/05/22 11:13
in programmazione tutto è permesso