Gioco delle biglie

di il
22 risposte

Gioco delle biglie

Salve a tutti. Ho ricevuto il progetto di programmazione 1 da fare per l'esame scritto e orale, c'è quest'esercizio dove dice che devo creare il gioco delle biglie, i dettagli sono su questo pdf, non riesco a creare una griglia 50x50 e a far comparire in alcuni punti a caso della mamppa i buchi e la biglia. Qualcuno saprebbe darmi una mano nel fare questo codice? Mi è proprio incomprensibile.
Allegati:
25628_1efe78a63cb8bf9088357fff685e6af9.png
25628_1efe78a63cb8bf9088357fff685e6af9.png

22 Risposte

  • Re: Gioco delle biglie

    Strano che tu non sappia neanche iniziare. Cosa avete studiato fino ad ora? Se hai avuto assegnato questo compito dovresti almeno sapere come cominciare a scrivere il codice e poi si vedono i problemi.

    La grigilia è un array, va bene anche

    int griglia[50][50];

    in cui le buche possono essere indicate con un valore (1 per la buca finale, 2 per una buca tra le 40, 3 per una buca tra le 20 ...) ...

    E con un paio di cicli e una printf visualizzi il campo ...

    Insomma, datti da fare ...
  • Re: Gioco delle biglie

    oregon ha scritto:


    Strano che tu non sappia neanche iniziare. Cosa avete studiato fino ad ora? Se hai avuto assegnato questo compito dovresti almeno sapere come cominciare a scrivere il codice e poi si vedono i problemi.

    La grigilia è un array, va bene anche

    int griglia[50][50];

    in cui le buche possono essere indicate con un valore (1 per la buca finale, 2 per una buca tra le 40, 3 per una buca tra le 20 ...) ...

    E con un paio di cicli e una printf visualizzi il campo ...

    Insomma, datti da fare ...
    Scusa, forse ho esagerato quando ho detto che mi è incomprensibile. Il fatto è che non riesco a fare questo tipo di problema, però so fare altri programmi, ho comunque fatto un bel po' di pratica.
  • Re: Gioco delle biglie

    Beh ti ho dato dei suggerimenti... comincia a scrivere
  • Re: Gioco delle biglie

    A volte ritornano...


    https://www.iprogrammatori.it/forum-programmazione/cplusplus/progetto-t30219.html
  • Re: Gioco delle biglie

    Probabilmente è lo stesso corso di studi, stesso professore, medesimi esercizi ... questi studenti, se solo facessero qualche ricerca ...
  • Re: Gioco delle biglie

    Ai fini didattici in realtà non dovrebbero farle le ricerche!
  • Re: Gioco delle biglie

    Dato che non ci sono soluzioni complete ma thread con altri consigli, potrebbero avere delle indicazioni utili per risolvere da soli.
  • Re: Gioco delle biglie

    Ragazzi aggiornamento. Ho quasi finito di fare il programma. Ci sarebbe solo un problema. Che non riesco a far spostare casualmente la biglia randomicamente vicino ai bordi quando esce dalla griglia, cioè ci sono riuscito a metà. Con il bordo destro e in basso. Il bordo a sinistra e in alto no, succede che quando cerco di andare verso il bordo a sinistra, esce dalla griglia. Ecco il codice: [CODE] #include <stdio.h> #include <stdlib.h> #include <time.h> #define SIZE 50 int main() { char griglia[SIZE][SIZE]; int colonna,riga,c1,c2,c3,a, x1, y1, b, scelta, rn1,rn2; int cont=1; char biglia, b1, b2, b3; srand( (unsigned)time(NULL) ); for(colonna=0;colonna<SIZE;colonna++) for(riga=0;riga<SIZE;riga++) b=griglia[riga][colonna] = '.'; c1 = 0; c2 = 0; c3 = 0; int xlose=x1; int ylose=y1; while(c1 < 40) { colonna = rand() % SIZE; riga = rand() % SIZE; b1=griglia[riga][colonna] = 'è'; c1++; } while(c2 < 20) { colonna = rand() % SIZE; riga = rand() % SIZE; b2=griglia[riga][colonna] = '*'; c2++; } while(c3 < 1) { colonna = rand() % SIZE; riga = rand() % SIZE; b3=griglia[riga][colonna] = '*'; c3++; } x1=rand() %50; y1=rand() %50; biglia=griglia[x1][y1] = 'O'; int xpos = x1; int ypos = y1; printf("************************* \n"); printf("* IL GIOCO DELLE BIGLIE * \n"); printf("************************* \n"); do{ printf("Seleziona le opzioni disponibili: \n"); printf("1)Gioca \n2)Crediti \n"); scanf("%d",&scelta); switch(scelta) { case 1:system("cls"); while (cont<51) { system("cls||clear"); for(colonna=0;colonna<SIZE;colonna++) { for(riga=0;riga<SIZE;riga++) printf(" %c ",griglia[riga][colonna]); putchar('\n'); } printf("Lancio %d \n", cont); printf("1 Sinistra - 2 Destra - 3 Su - 4 Giu' - 5 Giu' a sinistra - 6 Su a sinistra - 7 Giu' a destra - 8 Su a destra \n"); int savex = xpos; int savey = ypos; int move = 0; scanf("%d", &move); switch (move) { case 1: if (xpos > 0) xpos--; break; case 2: if (xpos < 50) xpos++; break; case 3: if (ypos > 0) ypos--; break; case 4: if (ypos < 50) ypos++; break; case 5: if (ypos < 50 && xpos > 0) xpos--; ypos++; break; case 6: if (ypos > 0 && xpos > 0) xpos--; ypos--; break; case 7: if (ypos < 50 && xpos < 50) xpos++; ypos++; break; case 8: if (ypos > 0 && xpos <50) xpos++; ypos--; break; default: cont--; } if(griglia[xpos][ypos]==b2) { printf("Hai perso"); return 0; } if(griglia[xpos][ypos]==b1) { xpos=rand() %50; ypos=rand() %50; } if(griglia[xpos][ypos]==b3) { printf("Hai vinto!"); return 0; } if(xpos==50||ypos==50) { rn1=1+rand()%3; rn2=1+rand()%3; xpos=xpos-rn1; ypos=ypos-rn2; } if(xpos==0||ypos==0) { rn1=1+rand()%3; rn2=1+rand()%3; xpos=xpos-rn1; ypos=ypos-rn2; } griglia[savex][savey] = '-'; griglia[xpos][ypos] = 'O'; cont++; } printf("Hai finito il numero di lanci. Game Over \n"); return 0; case 2:system("cls"); printf(""); break; //lo scrivo alla fine } printf("Premi un tasto qualunque per tornare al menu, premi 9 se invece vuoi uscire dal gioco' \n"); scanf("%d",&scelta); }while(scelta!=9); } [\CODE]
  • Re: Gioco delle biglie

    In quali linee del programma controlli che la biglia sia al bordo superiore o sinistro?
  • Re: Gioco delle biglie

    oregon ha scritto:


    In quali linee del programma controlli che la biglia sia al bordo superiore o sinistro?
    Dove sta scritto if (xpos==0||ypos==0)
  • Re: Gioco delle biglie

    Scusa ma se sono a zero tu togli un valore? Diventeranno negativi.. che senso ha?
  • Re: Gioco delle biglie

    oregon ha scritto:


    Scusa ma se sono a zero tu togli un valore? Diventeranno negativi.. che senso ha?
    Guarda io ho provato fare con if(xpos==50||ypos==50) e vedevo che funzionava. Ho pensato che facendo in questo modo, avrei avuto lo stesso risultato. E invece non è così
  • Re: Gioco delle biglie

    E se provo a cambiare i segni? Adesso ci provo
  • Re: Gioco delle biglie

    Allora ci sono quasi riuscito, devo solo fare in modo che arrivi alla prima cella e poi quando vado a sinistra o in alto, si sposti randomicamente vicino al bordo
Devi accedere o registrarti per scrivere nel forum
22 risposte