Ir ao conteúdo
  • Cadastre-se

Bingo


Posts recomendados

Boa tarde, estou com uma duvida enorme. 

Preciso fazer um jogo em c, que aceite até 4 usuarios e gere ate 4 cartões para cada um. Mas não estou entendendo a logica.

Qualquer ajuda é bem vinda.

Parte do codigo que consegui

Tem varios erros 

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <locale.h>
#include <string.h>
#define NOME 20

void gerandoCartela(int M[][5]);
void checar(int M[4][5], void sorteado);
int sorteado();

main() {
    setlocale(LC_ALL, "Portuguese");
    srand(time(NULL));
    
    int op, voltar, i, l, c, n, j, quadra, linha, bingo, acumulado, bola, teste, para, pessoas, k;
    int cartela[4][5], cart, cart2[4][5], cart3[4][5], cart4[4][5], Mat[4][5], sorteio[50];
    char jogador[NOME], nome2[NOME], nome3[NOME], nome4[NOME], sn[3], f[3];
   
    printf("\t\t\tBEM VINDO AO BINGO!\n");
    printf("Escolha uma das opções abaixo \n");
    printf("1 - Gerar cartelas \n");
    printf("2 - Mostrar cartelas \n");
    printf("3 - Regras e como jogar \n");
    printf("4 - Jogar \n");
    printf("5 - Ver os números do bingo que foram gerados\n");
    printf("6 - Sair \n");
    scanf("%d", &op);
    
    switch(op){
        case 1 :
            system("cls");
            printf("Jogar contra o computador? \n");
            scanf("%s", sn);
            if (stricmp(sn, "sim") == 0){
                system("cls");
                    printf("Qual seu nome: ");
                    scanf("%s", &jogador[NOME]);
                    printf("Quantas cartelas você vai querer? \n");
                    scanf("%d", &cart);
                    if(cart > 4){
                        system("cls");
                        printf("Só podem ser escolidas até quatro cartelas.");
                    }
                        if(cart == 1){
                            system("cls");
                            gerandoCartela(Mat);
                            printf("\n\nVocê aceita essa cartela ???");
                            scanf("%s", &f);
                            while(f != "nao"){
                                   if(stricmp(f, "nao")== 0){
                                       system("cls");
                                       gerandoCartela(Mat);
                                       printf("\n\nVocê aceita essa cartela?\n");
                                       scanf("%s", &f);
                                   }
                                   else 
                                   if(stricmp(f, "sim")== 0){
                                       
                                   }
                            }
                        }
                        
                        if(cart == 2){
                            system("cls");
                            gerandoCartela(Mat);
                            printf("\n\n\n");
                            gerandoCartela(cartela);
                            printf("\n\nVocê aceita essas cartelas ???");
                            scanf("%s", &f);
                            while(f != "nao"){
                                   if(stricmp(f, "nao")== 0){
                                       system("cls");
                                       gerandoCartela(Mat);
                                       printf("\n\n\n");
                                       gerandoCartela(cartela);
                                       printf("\n\nVocê aceita essas cartelas ???\n");
                                       scanf("%s", &f);
                                   }
                                   else 
                                   if(stricmp(f, "sim")== 0){
                                       
                                   }
                            }
                        } /*
                        if(cart == 3){
                            system("cls");
                            gerandoCartela(Mat);
                            printf("\n\n\n");
                            gerandoCartela(cartela);
                            printf("\n\n\n");
                            gerandoCartela(cart2);
                            printf("\n\nVocê aceita essas cartelas ???");
                            scanf("%s", &f);
                            while(f != "nao"){
                                   if(stricmp(f, "nao")== 0){
                                       system("cls");
                                       gerandoCartela(Mat);
                                       printf("\n\n\n");
                                    gerandoCartela(cartela);
                                    printf("\n\n\n");
                                       gerandoCartela(cart2);
                                       printf("\n\nVocê aceita essas cartelas ???\n");
                                       scanf("%s", &f);
                                   }
                                   else 
                                   if(stricmp(f, "sim")== 0){
                                       
                                   }
                            }
                        }
                        if(cart == 4){
                            system("cls");
                            gerandoCartela(Mat);
                            printf("\n\n\n");
                            gerandoCartela(cartela);
                            printf("\n\n\n");
                            gerandoCartela(cart2);
                            printf("\n\n\n");
                            gerandoCartela(cart3);
                            printf("\n\nVocê aceita essas cartelas ???");
                            scanf("%s", &f);
                            while(f != "nao"){
                                   if(stricmp(f, "nao")== 0){
                                       system("cls");
                                       gerandoCartela(Mat);
                                       printf("\n\n\n");
                                    gerandoCartela(cartela);
                                    printf("\n\n\n");
                                    gerandoCartela(cart2);
                                    printf("\n\n\n");
                                       gerandoCartela(cart3);
                                       printf("\n\nVocê aceita essas cartelas ???\n");
                                       scanf("%s", &f);
                                   }
                                   else 
                                       if(stricmp(f, "sim")== 0){
                                       gerandoCartela(int cartela[5][4]);
                                   }
                            }
                        }        
                }
                else{
                    if (stricmp(sn, "nao") == 0){
                        printf("Qual seu nome: ");
                        scanf("%s", &jogador[NOME]);
                        
                        
                        printf("Com qunatos adversarios você vai jogar ???");
                        printf("\nOBS: Só serão aceitas até 4 pessoas, incluindo você.\n");
                        scanf("%d", &pessoas);
                            if(pessoas > 4){
                                system("cls");
                                printf("Só pode jogar até quatro pesssoas.");
                                printf("\nDigite novamente o numero de pessoas.");
                            }
                            switch(pessoas){
                                case 1: 
                                    system("cls");
                                    printf("\nQual o nome do outro jogador\n");
                                    scanf("%s", &nome2[NOME]);
                                    printf("");
                                break;
                                case 2: 
                                    system("cls");
                                    printf("\nQuais os nomes dos outros 2 jogadores\n");
                                    scanf("%s", &nome2[NOME]);
                                    scanf("%s", &nome3[NOME]);
                                break;
                                case 3: 
                                    system("cls");
                                    printf("\nQuais os nomes dos outros 3 jogadores\n");
                                    scanf("%s", &nome2[NOME]);
                                    scanf("%s", &nome3[NOME]);
                                    scanf("%s", &nome4[NOME]);
                                break;
                            }    
                    }*/
                }    
                
        break;
        case 2:
        break;
        case 3:
        break;
        case 4:
            checar(Mat, sorteio);
        break;
        case 5:
        break;
        case 6:
        break;
        default:
        break;
    }
    
getch();    
}

int sorteado(){
    int i, j;
    int sorteado[50];
    for (i = 0; i <5; i++){
        sorteado = rand() % 9;
        for(j = 1; j < i; j++)
            if(sorteado[i ]== sorteado[j])
            sorteado = rand() % 50;
    }
    return sorteado;
}

//Função que verifica se o numero da sorteado é igual ao da matriz 
void checar(int M[4][5], int sorteado){
    int i, j;
    for(i = 0; i < 4; i++) {
        for(j = 0; j < 5; j++) {
            if(M[j] == sorteado){
                M[j] *= -1;
            }
        }
    }
}
//Função que gera a matriz
void gerandoCartela(int M[][5]){
    //variaveis i,j,k,z, fazem a matriz. 
    int i, j, k, z, aux;
    
    for(i = 0 ; i < 4 ; i++){
        for(j = 0; j < 5; j++){
            M[j]=0;
        }
    }
    for(i = 0; i < 4; i++){
        for(j = 0; j < 5; j++){
            aux=1;
            while(aux == 1){
                aux=0;
                //Sorteia o numero
                M[j] = 1+ rand() % 50;
                
                //Verifica se o numero e repetido
                for(k = 0; k < 4 && aux==0; k++){
                    for(z = 0; z < 5 && aux==0; z++){
                        if(M[j] == M[k][z] && (i != k || j != z)){
                            aux=1;
                        }
                    }
                }
                //Se for repetido sorteia de novo
            }
        }
    }
    printf("\tB\t\tI\t\tN\t\tG\t\tO\n");
    printf("_____________________________________________________________________________\n");
    for(i = 0; i < 4; i++){
        for(j = 0; j < 5; j++){
            printf("\t%d\t", M[j]);
        }
        printf("\n");
    }
}

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!