PDA

Visualizza versione completa : [C]Aiutino con programma


Ka2003
13-06-2007, 10.39.45
Ciao a tutti ragazzi scusatre se vi disturbo ma dovrei fare un esame di programmazione e mi serve un piccolo aiutino con un programma in c.Il programma richede solo di visualizzare a schermo la prima mano di scopa.
3 carte al giocatore 1, 3 al giocatore 2 e infine 4 a terra.
Poi si deve visualizzaare il mazzetto non mischiato e poi mischiato prima di dare le carte.....Io sono arrivato fin qui:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define lungh_mazzetto 4
void main ()
{
int i, nc,nc_1;
struct carta {
char seme[10];
}carta_mazzetto[lungh_mazzetto] = {{"Denari"}, {"Coppe"}, {"Spade"}, {"Bastoni"}};
srand((unsigned int) time(0));
for (i=1; i<=3;i++){
printf("Giocatore 1\n");

nc = rand()%lungh_mazzetto;
nc_1=1+rand()%10;

printf("carta n. %d = %d di %s\n", i, nc_1, carta_mazzetto[nc].seme);
}

}
Prima di tutto ringrazio anticipatamente tutti e mi scuso se in questo mio topic c'è qualkosa ke non va!!!!!Un saluto :mm: :mm: :mm: :mm:

P8257 WebMaster
14-06-2007, 20.32.21
Non so giocare a scopa, so di essere uno dei pochi, ma uniamo l'utile al dilettevole, scrivi per bene l'algoritmo del programma, passo passo e vediamo di metterlo giù.

Ka2003
14-06-2007, 22.57.03
in che senso devo riscrivere l'algoritmo????
L'ho gia scritto nel mio primo messsaggio :)

P8257 WebMaster
14-06-2007, 23.06.25
Scendi più nel dettaglio:

Visualizzare mazzetto, non mischiato e poi mischiato prima di dare le carte cosa vuol dire ?.. Cosa userai ? .. Matrici ? Array ? Sort per mischiare ?

Quello che sta alla base della programmazione è il processo di pseudocodifica ovvero dichiarare in un algoritmo cosa si deve fare nel dettaglio, se necessario usando pseudocodice ti faccio un esempio:

1 - Dichiaro struttura carta con i seguenti membri ....
2 - Inizializzo struttura carta / membro seme con i seguenti valori
3 - Genero un numero casuale con seme 10 per determinare.......

e così via...

Ka2003
14-06-2007, 23.15.47
ah ok ok scusa
allora prima di tutto definisco la lunghezza del mazzo di carte con #define lungh_mazzetto 40
nel main oltre a definire le variabili definisco una struct chiamandola struct carta con all'interno la variabile char seme(seme delle carte)
struct carta {
char seme[10];
}carta_mazzetto[lungh_mazzetto] = {{"Denari"}, {"Coppe"}, {"Spade"}, {"Bastoni"}};

ora passo con l'inserimento della srand x cercare di estrarre carte diverse ad ogni avvio e subito dopo innesto il for x far si ke mi dia 3 carte casuali al giocatore 1
srand((unsigned int) time(0));
for (i=1; i<=3;i++){
printf("Giocatore 1\n");

nc = rand()%lungh_mazzetto;
dopo di ciò innesto una rand x la generazione di numeri casuali da 1 a 10 come le carte del mazzetto
nc_1=1+rand()%10;
poi printf e stampo le 3 carte del giocatore 1!
Ora il problema principale è ke se seguo lo stesso ragionamento x il giocatore 2 e le 4 carte a terra il programma non mi funziona!!! :mm:

LoryOne
21-06-2007, 14.08.46
La domanda fondamentale è: Come si gioca a scopa ?
Vedi, qui sappiamo solo usare chi più chi meno la ramazza di saggina :D

Quello che il Web voleva sapere era come avevi pensato di strutturare il tuo programma in base ad un flow chart (o diagramma di flusso) che riporta passo dopo passo le operazioni eseguite in sequenza per ottenere lo scopo del programma (algoritmo)

tu ci hai spiegato cosa fa il tuo piccolo script, ma quello pewr noi era chiaro, limpido, Recoaro.