Jump to content
Rpg²S Forum

Solitario in c


Naz
 Share

Recommended Posts

Salve, stiamo svolgendo un progetto universitario, nel quale è richiesto lo sviluppo in c di un solitario. Il solitario consiste nella distribuzione di un mazzo di carte francesi (esclusi i jolly), in 7 pile di dimensione decrescente partendo da 8(totale 36 vedi foto), con lultima carta di ogni pila scoperta. Le restanti (12 carte) non distribuite in queste pile, saranno a disposizione in un mazzetto (si può sfogliare solo 3 volte). Il giocatore dovrà interagire nel selezionare e accoppiare le carte scoperte con lo stesso valore, non tenendo conto del seme, fino a concludere tutte le carte disponibili. Il nostro problema, oltre la grafica, sta nel come definire il mazzo principale. Inoltre non abbiamo ben capito in che modo, possiamo distribuire le carte nelle varie pile e come considerarle. Avete consigli a riguardo? Grazie mille in anticipo.
Link to comment
Share on other sites

Prima di tutto, ciao e benvenuto!

 

Questa sezione solitamente è utilizzata per presentarsi agli altri utenti, mentre quello che scrivi riguarda più un progetto, quindi immagino verrà spostato nella sezione corretta...

 

Per il progetto, mi sembra di capire che l'obbiettivo sia quello di riprodurre il classico solitario di windows.

Scrivi vedi foto, ma non c'è nessuna foto da vedere...

 

Non conosco il C, ma penso che l'approccio più immediato siano gli array, senza semi è ancora più facile.

icon.pnghttp://killveran89.altervista.org/Homework/Pic/LogoL.pnghttp://killveran89.altervista.org/TheLastMiracle/img/200921_Harold.png

__________________________________________________________________________________________________________

 

BIM_BACK.png

 

 

 

http://www.rpg2s.net/dax_games/xmas/gifnatale1.pnghttp://www.rpg2s.net/dax_games/xmas/gifnatale123.gifhttp://www.rpg2s.net/dax_games/xmas/gifnatale12.png

 

 

Link to comment
Share on other sites

Benvenuti, subito al sodo vedo xD

 

L'argomento non è proprio semplicissimo, bisognerebbe capire prima l'effettivo livello di C a cui siete (si studia ancora C?)

Idealmente vi servono 3 cose per creare un gioco di carte:

  1. Le liste (o array, a seconda del linguaggio)
  2. La funzione RANDOM per estrarre dei numeri a caso
  3. I cicli for/foreach/while

Le liste sono elenchi indicizzati di dati di uno stesso tipo, che possono essere lette e manipolate in vari modi. Potrebbero essere utili per tenere conto delle carte presenti in ogni colonna e anche per le carte presenti nel mazzetto.

La funzione rand(nMax) dovrebbe estrarvi un numero intero da 0 a nMax. In questo modo potete selezionare di volta in volta dove posizionare le varie carte.

I cicli sono necessari per scorrere le liste fino a esaurimento per assegnare le carte.

 

Con queste strutture dovreste già poter buttar giu qualcosa, mi raccomando: prima la logica su carta, poi si scrive il codice ;)

 

Buona fortuna e se volete restare, qui troverete modo di programmare e divertirvi al contempo ^^

Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]


SCContest1Oct.gif
gifnatale1.pnggifnatale12.png

Link to comment
Share on other sites

Sì, varie liste di elementi union che rappresentino una carta (seme, valore, stato (scoperta/coperta)).

 

Una lista per tutto il mazzo, anche ordinato, proprio da inizializzare a inizio programmazione.

 

Poi man mano vanno eliminati randomicamente gli elementi della lista aggiornando in numero di elementi che contiene finché non rimane vuota, ogni carta tolta alimenta una serie di liste in sequenza rappresentanti i vari mazzetti in alto e quello delle pescate.

 

L'ultima carta di ciascun mazzetto (di cui in fase di preparazione si conosce il numero, sarà scoperta, le altre tutte coperte.

 

E poi vanno gestiti gli spostamenti delle carte, non so se col mouse o a tastiera, ma la struttura base è tutta gestita a liste da cui staccare elementi e raccordare i puntatori fra gli elementi restanti.

183.png
donatePQ.gif bYridanSiBEi27EwrQBOKvYB04IgpCwL27xIfmrh FBnono.gif

Link to comment
Share on other sites

Vi ringrazio per le risposte e vi chiedo umilmente scusa sia per essere andato direttamente al sodo senza presentarmi e sia per aver postato nella sezione sbagliata. La preparazione in c diciamo che è intermedia, però allo stesso tempo poca per poter programmare un solitario in C (parere personale) ma essendo un esame universitario bisogna adattarsi. Il mio problema più grande stava appunto come considerare il mazzo di carte e le pile, dai vostri messaggi deduco che le liste dovrebbero essere il miglior approccio per questo tipo di programma. Vedo di informarmi per bene su queste liste, buttare giù qualcosa e cominciare a scrivere il programma, posterò in seguito il codice. Vi ringrazio ancora
Link to comment
Share on other sites

Volevo dire Struct, non Union. Come Struct saranno tutti i nodi delle varie liste, con al loro interno la Struct carta, un puntatore all'elemento successivo della lista e un puntatore al precedente.

 

Non ti auguro nulla per scaramanzia.

183.png
donatePQ.gif bYridanSiBEi27EwrQBOKvYB04IgpCwL27xIfmrh FBnono.gif

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...