Ir para conteúdo
Fórum Script Brasil

lhalmenschlager

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre lhalmenschlager

lhalmenschlager's Achievements

0

Reputação

  1. Sim meu amigo mas aonde eu posso encaixar essa função? abraço
  2. Ola pessoal eu gostaria que voçes me ajudassem em uma função do meu programa para que não repetisse os numeros da cartela dos jogadores. Sempre que eu rodo o programa aparece os mesmos numeros nas cartelas. O programa esta ai. Está funcionando bem e só falta esse detalhe. Compilado no Turbo C. Abraço /*Jogo do Bingo*/ #include <stdio.h> #include <conio.h> #include <stdlib.h> #define SOMA 1 #define NOME 20 #define JOG 6 #define LIN 2 #define COL 15 int verifica(int jog, int linha, int coluna, int boll, int gamer[JOG][LIN][COL]); int numbola(); int randnume(); int randcart(); void inicio(void); //*---------------------------------Funcao Principal------------------------------ void main(void) { char op; static int cartao[JOG][LIN][COL], cart[JOG]; static char jogador[JOG][NOME]; int l, c, n, j, bola, teste, vetorsoma[JOG][LIN][COL], soma[JOG][LIN], pausa; int quadra, linha, bingo, acumulado; clrscr(); for(j = 0; j < JOG; j++) /*Laco*/ { cprintf("\nQual o nome do Jogador? "); scanf("%s", &jogador[j][NOME]); printf("\nSeu numero de cartela(s) sera sorteado.\n"); printf("\n"); cart[j] = randcart(); /*Numero de cartelas é sorteado*/ printf("\nJogara com %d cartelas\n", cart[j]); for(l = 0; l < cart[j]; l++) { for(c = 0; c < COL; c++) { cartao[j][l][c] = randnume(); /*Numeros das cartelas são sorteados*/ printf("-%d-", cartao[j][l][c]); } printf("\n"); } getch(); clrscr(); } inicio(); /* primeira declaracao desta funcao: cria um placar de enfeite*/ gotoxy(4,8); printf("Entrem os participantes: "); gotoxy(1,10); for(j = 0; j < JOG; j++) /*Laco que imprime os participantes e suas cartelas*/ { printf("Senhor(a) %s, sua cartela é:\n", &jogador[j][NOME]); for(l = 0; l < cart[j]; l++) { printf("\n================================================================\n"); printf("||"); for(c = 0; c < COL; c++) { printf("-%d-", cartao[j][l][c]); } cprintf("||"); printf("\n================================================================\n"); printf("\n"); } } getch(); clrscr(); gotoxy(8,8); cprintf("Precione qualquer tecla para comecar o jogo"); getche(); clrscr(); inicio(); getche(); clrscr(); inicio(); gotoxy(4,8); cprintf("Vamos sortear as bolas. Boa sorte, jogadores!"); for(j = 0; j < JOG; j++) /*Laco duplo, para inicializar a variavel*/ { for(l = 0; l < cart[j]; l++) {soma[j][l] = 0;}} /*soma[j][l]*/ quadra = 1; linha = 1; bingo = 1; acumulado = 1; for(n = 0; n < 90; n++) /*Inicio das bolas e do jogo*/ { /*Laco principal*/ getche(); clrscr(); inicio(); gotoxy(4,8); cprintf("Vamos sortear as bolas. Boa sorte, jogadores!"); gotoxy(4,10); bola = numbola(); /*Chama funcao que sorteia a bola e poe o resultado*/ cprintf("A %da bola é: %d", n+1, bola); /*na variavel 'bola'*/ getche(); clrscr(); inicio(); for(j = 0; j < JOG; j++) { for(l = 0; l < cart[j]; l++) { for(c = 0; c < COL; c++) { teste = verifica(j,l,c,bola,cartao); /*Funcao que compara*/ if(teste == 's') vetorsoma[j][l][c] = 1; /*Aqui, é criado um novo vetor,*/ else vetorsoma[j][l][c] = 0; /*vetorsoma[][][], onde sera de 1s e 0s*/ soma[j][l] += vetorsoma[j][l][c]; /*para todos os 1s serem somados*/ if(soma[j][l] == 4 && quadra) { gotoxy(2,15); /*Sendo a soma igual a 4, tem a quadra*/ cprintf("Senhor(a) %s diz: CONSEGUI, GANHEI A QUADRA!!!", &jogador[j][NOME]); quadra = 0; } /*Dado novo valor para a variavel, para laco n se repetir*/ else if(soma[j][l] == 5 && linha) { gotoxy(2,15);/*Sendo a soma igual a 5, tem a linha*/ cprintf("Senhor(a) %s diz: CONSEGUI, GANHEI A LINHA!!!", &jogador[j][NOME]); linha = 0; } else if(soma[j][0] == 15 && bingo|| (soma[j][0]+soma[j][1]) == 30 && bingo) { gotoxy(2,15); /*Todos os numeros das cartelas preenchidos, temos bingo*/ cprintf("Senhor(a) %s diz: CONSEGUI, GANHEI O BINGO!!!", &jogador[j][NOME]); bingo = 0; } /*Dado novo valor para a variavel, para laco n se repetir*/ else if(n <= 40 && soma[j][0] == 15 && acumulado || n == 40 && (soma[j][0]+soma[j][1] && acumulado) == 30) { gotoxy(2,15);/*Todos os numeros em 40 bolas, ou menos, acumulada*/ cprintf("Senhor(a) %s diz: CONSEGUI, GANHEI O ACUMULADO!!!", &jogador[j][NOME]); acumulado = 0;/*Dado novo valor para a variavel, para laco n se repetir*/ pausa = 1; } /*Entrando no laco da acumulada, d valor de 1 para "pausa"*/ }}} if(pausa == 1) { gotoxy(2,20); cprintf("FIM DE JOGO! PARABENS, VENCEDOR!!!"); goto Fim; } /*Cursor vai para o "Fim:"*/ } Fim: getch(); } //*--------------Fim da funcao Principal---------------------------------------- void inicio(void) { gotoxy(28,2); cprintf("=========================\n"); gotoxy(28,3); cprintf("||----JOGO DO BINGO----||\n"); gotoxy(28,4); cprintf("=========================\n"); } //*----------------------------Funcao sorteia numeros dos cartoes-------------------- int randnume() { int numero; /*Retorna inteiros*/ numero = random(90)+1; return(numero); } //*-----------------funcao do sorteio da quantidade de cartoes------------------------ int randcart() { int cart; /*Retorna inteiro*/ cart = random(2)+1; return(cart); } //*--------------------funcao escolhe um numero de 1 a 90------------------------------ int numbola() { int bola; /*Retorna este numero*/ bola = random(90)+1; return(bola); } int verifica(int jog, int linha, int coluna, int boll, int gamer[JOG][LIN][COL]) { if(gamer[jog][linha][coluna] == boll) { return('s'); } /*Funcao complexa. Compara a bola sorteada com o numero respectivo do cartao */ }
×
×
  • Criar Novo...