// JogoMemoria.cpp // by Willian Luigi // Includes/Bibliotecas #include "stdafx.h" #include #include using namespace std; // Alocações/Variáveis char vetor[10]; int seq[5][2] = { {65, 0}, {66, 0}, {67, 0}, {68, 0}, {69, 0} }; // Procedimentos de manipulação do jogo void menu() { int i; int p; char itens_selecionados[2] = {0, 0}; int itens_idx[2] = {0, 0}; int descobertos[10] = {0,0,0,0,0,0,0,0,0,0}; char str_menu[256] = "\n\t0\t1\t2\t3\t4\t\n\n\t5\t6\t7\t8\t9"; do { system("cls"); printf("-------------------Jogo da memoria--------------\n"); printf(str_menu); printf("\n\n------------------------------------------------\n"); printf("\nDigite uma das opcoes: "); itens_selecionados[0] = 0; itens_selecionados[1] = 0; bool s = false; for (i = 0; i < 2; ++i) { if (s) break; if (i == 1) printf("Digite outra opcao: "); scanf("%d", &p); switch (p) { case 0: if (descobertos[0]) { printf("Esse numero ja foi descoberto.\n"); system("pause"); s = true; break; } printf("%c\n", vetor[0]); if (itens_selecionados[0]) { itens_selecionados[1] = vetor[0]; itens_idx[1] = p; } else { itens_selecionados[0] = vetor[0]; itens_idx[0] = p; } break; case 1: if (descobertos[1]) { printf("Esse numero ja foi descoberto.\n"); system("pause"); s = true; break; } printf("%c\n", vetor[1]); if (itens_selecionados[0]) { itens_selecionados[1] = vetor[1]; itens_idx[1] = p; } else { itens_selecionados[0] = vetor[1]; itens_idx[0] = p; } break; case 2: if (descobertos[2]) { printf("Esse numero ja foi descoberto.\n"); system("pause"); s = true; break; } printf("%c\n", vetor[2]); if (itens_selecionados[0]) { itens_selecionados[1] = vetor[2]; itens_idx[1] = p; } else { itens_selecionados[0] = vetor[2]; itens_idx[0] = p; } break; case 3: if (descobertos[3]) { printf("Esse numero ja foi descoberto.\n"); system("pause"); s = true; break; } printf("%c\n", vetor[3]); if (itens_selecionados[0]) { itens_selecionados[1] = vetor[3]; itens_idx[1] = p; } else { itens_selecionados[0] = vetor[3]; itens_idx[0] = p; } break; case 4: if (descobertos[4]) { printf("Esse numero ja foi descoberto.\n"); system("pause"); s = true; break; } printf("%c\n", vetor[4]); if (itens_selecionados[0]) { itens_selecionados[1] = vetor[4]; itens_idx[1] = p; } else { itens_selecionados[0] = vetor[4]; itens_idx[0] = p; } break; case 5: if (descobertos[5]) { printf("Esse numero ja foi descoberto.\n"); system("pause"); s = true; break; } printf("%c\n", vetor[5]); if (itens_selecionados[0]) { itens_selecionados[1] = vetor[5]; itens_idx[1] = p; } else { itens_selecionados[0] = vetor[5]; itens_idx[0] = p; } break; case 6: if (descobertos[6]) { printf("Esse numero ja foi descoberto.\n"); system("pause"); s = true; break; } printf("%c\n", vetor[6]); if (itens_selecionados[0]) { itens_selecionados[1] = vetor[6]; itens_idx[1] = p; } else { itens_selecionados[0] = vetor[6]; itens_idx[0] = p; } break; case 7: if (descobertos[7]) { printf("Esse numero ja foi descoberto.\n"); system("pause"); s = true; break; } printf("%c\n", vetor[7]); if (itens_selecionados[0]) { itens_selecionados[1] = vetor[7]; itens_idx[1] = p; } else { itens_selecionados[0] = vetor[7]; itens_idx[0] = p; } break; case 8: if (descobertos[8]) { printf("Esse numero ja foi descoberto.\n"); system("pause"); s = true; break; } printf("%c\n", vetor[8]); if (itens_selecionados[0]) { itens_selecionados[1] = vetor[8]; itens_idx[1] = p; } else { itens_selecionados[0] = vetor[8]; itens_idx[0] = p; } break; case 9: if (descobertos[9]) { printf("Esse numero ja foi descoberto.\n"); system("pause"); s = true; break; } printf("%c\n", vetor[9]); if (itens_selecionados[0]) { itens_selecionados[1] = vetor[9]; itens_idx[1] = p; } else { itens_selecionados[0] = vetor[9]; itens_idx[0] = p; } break; default: return; } } if (!s && itens_selecionados[0] == itens_selecionados[1]) { descobertos[itens_idx[0]]++; descobertos[itens_idx[1]]++; char t[35]; sprintf(t, "\n\n\t%d - %d: %c",itens_idx[0], itens_idx[1], itens_selecionados[0]); strcat(str_menu, t); printf("Voce acertou !\n"); system("pause"); } else if (!s && itens_selecionados[0] != itens_selecionados[1]) { printf("Voce errou !\n"); system("pause"); } if (descobertos[0] && descobertos[1] && descobertos[2] && descobertos[3] && descobertos[4] && descobertos[5] && descobertos[6] && descobertos[7] && descobertos[8] && descobertos[9]) { printf("Jogo finalizado.\n"); system("pause"); return; } } while (i != -1); } void iniciar() { srand(time(NULL)); int i = 0, j; while (i < 10) { int val = 65 + (rand() % 5), v = 0; for (j = 0; j < 5; ++j) { if (seq[j][0] == val) { v = j; break; } } if (seq[v][1] < 2) { vetor[i] = val; seq[v][1]++; i++; } } menu(); } // Método principal int _tmain(int argc, _TCHAR* argv[]) { iniciar(); return 0; }