Naz Posted May 16, 2020 Share Posted May 16, 2020 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 More sharing options...
Killveran89 Posted May 16, 2020 Share Posted May 16, 2020 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. http://killveran89.altervista.org/Homework/Pic/LogoL.pnghttp://killveran89.altervista.org/TheLastMiracle/img/200921_Harold.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 More sharing options...
Dax Posted May 17, 2020 Share Posted May 17, 2020 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: Le liste (o array, a seconda del linguaggio) La funzione RANDOM per estrarre dei numeri a caso I cicli for/foreach/whileLe 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] Link to comment Share on other sites More sharing options...
Testament Posted May 17, 2020 Share Posted May 17, 2020 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. Link to comment Share on other sites More sharing options...
Naz Posted May 18, 2020 Author Share Posted May 18, 2020 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 More sharing options...
Testament Posted May 18, 2020 Share Posted May 18, 2020 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. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now