Rpg˛S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Vai al contenuto

Rpg˛S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Screen Contest #90

Kamikun






  • Si prega di effettuare il log in prima di rispondere
Solitario in c - - - - -

    Naz
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 0 messaggi

#1 Inviato 16 May 2020 - 17:59 PM

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.

    Killveran89
  • Animatore

  • Rpg˛S Staff
  • Rens: 100
  • 5
  • StellettaStellettaStellettaStelletta
  • 530 messaggi
  • Sesso:Maschio
  • Abilitā:Adepto

#2 Inviato 16 May 2020 - 19:23 PM

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.pngLogoL.png200921_Harold.png
__________________________________________________________________________________________________________

BIM_BACK.png

Spoiler

    Dax
  • C'č pių gioia nel dare che nel ricevere

  • Rpg˛S Admin
  • Rens: 838
  • 7
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 4556 messaggi
  • Sesso:Maschio
  • Provenienza:Nord Sud Ovest Est
  • Abilitā:Maestro


#3 Inviato 17 May 2020 - 20:17 PM

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[icona di un premio]

tgSY1j0.pnggifnatale1.pnggifnatale12.png


    Testament
  • Il Custode della Memoria

  • Utenti Speciali
  • Rens: 1141
  • 51
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 12376 messaggi
  • Sesso:Maschio
  • Provenienza:Firenze
  • Abilitā:Esperto


#4 Inviato 17 May 2020 - 20:59 PM

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


    Naz
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 0 messaggi

#5 Inviato 18 May 2020 - 11:47 AM

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

    Testament
  • Il Custode della Memoria

  • Utenti Speciali
  • Rens: 1141
  • 51
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 12376 messaggi
  • Sesso:Maschio
  • Provenienza:Firenze
  • Abilitā:Esperto


#6 Inviato 18 May 2020 - 12:02 PM

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





  • Feed RSS