Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - sette e mezzo con c++ utilizzando array
Forum - C/C++ - sette e mezzo con c++ utilizzando array

Avatar
vera_nica (Normal User)
Newbie


Messaggi: 1
Iscritto: 15/05/2011

Segnala al moderatore
Postato alle 18:57
Domenica, 15/05/2011
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

PM
Avatar
Oligoatria (Founder Member)
Pro


Messaggi: 79
Iscritto: 20/02/2006

Up
1
Down
V
Segnala al moderatore
Postato alle 12:54
Lunedì, 16/05/2011
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

Oligoatria è vivo! omg - pierotofy - 16/05/11 23:55
Si, mi dispiace essere sostanzialmente inattivo nella community. Resto sempre in agguato però.. ahah. Al momento sto lavorando alla tesi di laurea (triennale). Dovrei finire a breve. Quando avrò finito penso che scriverò un articolo a riguardo. Piuttosto interessante - Oligoatria - 19/05/11 09:52


Ci vuole pazienza con chi ne sà meno di te.. e spera che quelli che ne sanno più di te a cui chiedi aiuto facciano lo stesso

http://www.oligoatria.altervista.org - in allestimento..
PM
Avatar
crybot (Normal User)
Rookie


Messaggi: 43
Iscritto: 11/04/2011

Up
-1
Down
V
Segnala al moderatore
Postato alle 19:06
Domenica, 15/05/2011
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 il 15/05/2011 alle 19:09


Time is the best hacker in the world, he can bypass systems in no time, because Time can not measure it-self...

cit. - Crybot -
PM