Gioco del puzzle in c

di il
6 risposte

Gioco del puzzle in c

Ho bisogno di creare un programma che permette di inserire n tessere ( n è un multiplo di 2 e almeno 32) che possono essere disposte su una matrice quadrata.
Il programma inizia chiedendo all'utente di inserire le n tessere scelte tra tre colori o simboli
Successivamente vengono generate 1000 matrici casuali con gli stessi colori o simboli e vengono visualizzate le 10 più simili a quella scelta dall'utente
Qualcuno può darmi un'idea per favore? Mi sono completamente bloccata
Grazie

6 Risposte

  • Re: Gioco del puzzle in c

    Dove sei bloccata? Neanche la prima parte, ovvero l'input dell'utente?
  • Re: Gioco del puzzle in c

    È giusto questo per l'input?

    Char puzzle [6] [6];
    Int i,j;

    Printf("inserire 36 tessere: r per il rosso, n per il blu e g per il giallo");

    For (i=0;i<6;i++)
    For (j=0;j<6;j++)
    Scanf("%c", &puzzle [j]);
  • Re: Gioco del puzzle in c

    Sì, ma devi usare il minuscolo

    char
    int
    printf
    for
    scanf

    P.S. Usa i tag CODE quando posti il codice nel forum
    P.P.S. Perché n per il blu e non b ?
  • Re: Gioco del puzzle in c

    Si scusami è b per il blu
    Però già da qui mi crea problemi, mi fa inserire 6 righe ma solo 3 colonne invece di 6
    Qual è il problema?
  • Re: Gioco del puzzle in c

    Usa

    " %c"

    con uno spazio prima di %c
  • Re: Gioco del puzzle in c

    Grazie mille, ho risolto questo problema
    Adesso come mi consigli di procedere per le matrici casuali?

    Io per adesso ho provato a fare così, ma ovviamente è sbagliato

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
    char puzzle [6][6];
    char puzzle_casuale[6][6];
    int i,j,riga,colonna,colore;
    char tessera[3]={'r','g','b'};

    printf("Benvenuto nel gioco! \n");
    printf("Inserisci 36 tessere per creare il tuo puzzle:\n - r per il Rosso\n - b per il Blu\n - g per il giallo \n");
    for (i=0;i<6;i++)
    {
    printf("Inserisci le 6 tessere della %d riga \n", i+1);
    for (j=0;j<6;j++)
    scanf (" %c", &puzzle[j]);
    }

    for (i=0;i<1000;i++)
    for (j=0;j<36;j++)
    {
    riga=rand()%6;
    colonna=rand()%6;
    colore=rand()%3;
    puzzle_casuale[riga][colonna]=tessera[colore];

    }
    return 0;
    }
Devi accedere o registrarti per scrivere nel forum
6 risposte