Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [C++] Progetto Memory

  1. #1

    Progetto Memory

    Allora il codice che avevo fatto in precedenza è quello che vi ho postato da scaricare nel link che vi avevo scritto nel post da voi bloccato. Non vi resta che sbirciare lì!

    E quello nuovo è questo:


    Adesso quello nuovo è questo in cui ho dovuto ricostruirlo creando una matrice dinamica ed eccolo qui:

    #include <stdio.h>
    #include <stdlib.h>

    #define NUM_LETTERE 46

    int numeroRandom(int lBound, int uBound); //Funzione integer:
    void inizio(void);

    int main()
    {
    inizio();
    char menu1,menu2;
    system("color 0A");
    fflush(stdin);
    menu1 = getch();
    system("cls");
    switch(menu1)
    {
    case '1':
    {

    char nome_giocatore[30]; //Variabile di dichiarazione character:
    char caratteri[NUM_LETTERE+1] = {"ABCDEFGHILMNOPQRSTUVZWHKYJ1234567890£$^&=?!<>-"}; //Variabile di dichiarazione character:
    int caratteriUtilizzati[NUM_LETTERE];
    char** matrice; //Variabile di dichiarazione character:
    int i, j, lt;
    int lettereDaInserire;
    int nRighe, nColonne;
    puts("Inserire nome giocatore:");
    scanf("%s",&nome_giocatore);
    system("cls");
    for (i = 0; i < NUM_LETTERE; i++)
    caratteriUtilizzati[i] = 0;
    printf("Numero righe: ");
    fflush(stdin);
    scanf("%d",&nRighe);
    printf("Numero colonne: ");
    fflush(stdin);
    scanf("%d",&nColonne);
    lettereDaInserire = nRighe * nColonne;
    if (lettereDaInserire % 2 == 1 || lettereDaInserire == 0)
    {
    printf("\nNumero di celle non valido!");
    exit(0);
    }
    matrice = (char **)malloc(sizeof(char*)*nRighe);
    for (i = 0; i < nRighe; i++)
    *(matrice + i) = (char *)malloc(sizeof(char)*nColonne);
    for (i = 0; i < nRighe; i++)
    for (j = 0; j < nColonne; j++)
    *(*(matrice + i) + j) = ' ';
    do
    {
    lt = numeroRandom(0,NUM_LETTERE-1);
    if (!caratteriUtilizzati[lt])
    {
    do
    {
    i = numeroRandom(0,nRighe-1);
    j = numeroRandom(0,nColonne-1);
    }
    while (*(*(matrice + i) + j) != ' ');
    *(*(matrice + i) + j) = caratteri[lt];
    do
    {
    i = numeroRandom(0,nRighe-1);
    j = numeroRandom(0,nColonne-1);
    }
    while (*(*(matrice + i) + j) != ' ');
    *(*(matrice + i) + j) = caratteri[lt];
    caratteriUtilizzati[lt] = 1;
    lettereDaInserire-=2;
    }
    }
    while(lettereDaInserire > 0);
    printf("\n\n");
    int k = 0;
    int n = 0;
    for (j = 0; j < nColonne; j++)
    {
    printf(" %d",k++);
    }
    printf("\n");
    for (i = 0; i < nRighe; i++)
    {
    printf("%d",n++);
    for (j = 0; j < nColonne; j++)
    printf(" %c",*(*(matrice + i) + j));
    printf("\n");
    }
    printf("\n");
    printf("Menu'",nome_giocatore);
    puts("");
    puts("[1] - Scopri le carte\n[2] - Salva la partita\n[3] - Carica la partita");
    puts("[4] - Visualizza lista mosse\n[5] - Istruzioni\n[6] - Esci");
    printf("Che cosa vuoi fare, %s?\n");
    menu2 = getch();
    switch(tolower(menu2)) //Funzione switch:
    {
    case '1':
    {
    scopri_carte();
    break;
    }
    case '2': //Funzione di salvataggio da vedere
    {
    puts("Salvataggio effettuato!!!");
    sleep(1000);
    system("cls");
    break;
    }
    case '3': //Funzione di caricamento da vedere
    {
    puts("Caricamento effettuato!!!");
    sleep(1000);
    system("cls");
    break;
    }
    }
    system("pause");
    }
    break;
    case '2':
    istruzioni();
    system("cls");
    break;
    case '3':
    puts("GRAZIE PER AVER SCELTO MEMORY!!");
    sleep(2000);
    exit(0);
    default:
    system("cls");
    puts("Lettera errata. Riprovare!");
    sleep(1000);
    system("cls");
    }
    }
    int scopri_carte()
    {
    printf("QUESTA E' LA PARTE DI MERDA PIU' DIFFICILE DA RIFARE PER COLPA DELLA MATRICE FISSA!");
    system("pause");
    }
    int numeroRandom(int lBound, int uBound)
    {
    int valore, diff;
    diff = uBound-lBound;
    if (diff != 0)
    return lBound + (rand()+time(NULL))%(diff+1);
    else
    return lBound;
    }
    void inizio(void)
    {
    puts(" M M EEEE M M OOOOO RRRR Y Y");
    puts(" MM MM E MM MM O O R R Y Y ");
    puts(" M M M EEEE M M M O O RRRR Y ");
    puts(" M M E M M O O R R Y ");
    puts(" M M EEEE M M OOOOO R R Y ");
    puts("");
    puts(" Cristian Capannini\n");
    puts(" @@@@@@@@@@@@@ ");
    puts(" @ @");
    puts(" @ [1] Gioca @");
    puts(" @ [2] Info @");
    puts(" @ [3] Esci @");
    puts(" @ @");
    puts(" @@@@@@@@@@@@@ ");
    puts("");
    printf(" -> ");
    }
    int istruzioni()
    {
    system("cls");

    puts("\nUniversita': Scienze dell'informazione - Cesena\n");
    puts("ISTRUZIONI\n");
    puts("In questo gioco devi trovare ogni coppia di carte uguali.");
    puts("Per trovarle vi verranno chieste le coordinate per scoprirle.");
    puts("Per scoprire una carta dovete digitare in questo modo:");
    puts("Numero riga spazio numero colonna. Per esempio: 0 0.");
    puts("Se indovinate vincete due punti altrimenti verrà tolto 1 punto.\n");
    system("pause");
    system("cls");
    main();
    }
    Adesso quello che mi chiedo è come posso fare il blocco scoprilecarte nel nuovo progetto? Come lo devo trasformare?
    Se volete modificare e compilare vi prego di usare dev-c++ postato nel link.
    Grazie e arrivederci!Come vi sembra il codice? :master:

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Moderazione

    Originariamente inviato da utente852007
    Allora il codice che avevo fatto in precedenza è quello che vi ho postato da scaricare nel link che vi avevo scritto nel post da voi bloccato.
    Avrei bloccato anche questo, visto che manca il linguaggio, ma voglio sperare che tu riesca a trovare il tempo di leggere il Regolamento prima o poi...
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.