Ir ao conteúdo
  • Cadastre-se

Jogo ligue quatro


Posts recomendados

Boa noite, alguém poderia me ajudar no jogo ligue 4?! Obrigado desde já, segue o código:

 

#include <stdio.h>
#include <stdlib.h>
char jogador= 'X';
char tab[6][7];
int ganhador, rodada, empatou;
int linha, coluna;
void ExibeTabuleiro()
{
    int i, j;
    printf("\n");
    for( i=0; i<6; i++)
    {
        for(j=0; j<7; j++)
        {
            if(j==0)
            {
                printf("| %c |",tab[0]);
            }
            else
            {
                printf(" %c |",tab[j]);
            }
        }
        printf("\n");
    }
    printf("+---------------------------+\n");
}
void TrocarJogador ()
{
    {
        if (jogador =='X')
        {
            jogador = '0';
        }
        else
        {
            jogador = 'X';
        }
    }
}
void Jogada()
{   rodada= 0;
    int a,b;
    printf("Jogador %c, informe a coluna da sua jogada: ", jogador);
    scanf("%d",&coluna);
    while(coluna<0 || coluna>6)
    {
        printf("Coluna invalida! Digite outro valor para coluna: \n");
        scanf("%d", &coluna);
    }
    coluna --;
    linha=5;
    while(tab[linha][coluna]!= ' ')
    {
        if(linha>=0)
        {
            linha --;
        }
        else
        {
            printf("Essa coluna esta cheia. Informe outra coluna:");
            scanf("%d", &coluna);
            linha=5;
        }
    }
    rodada ++;
}
int vencer()
{
    int i, j,a,b;
    for(i=0; i<6; i++) // PECORRE AS LINHAS DO TABULEIRO
    {
        for(j=0; j<4; j++) // PERCORRE AS COLUNAS DO TABULEIRO
        {
            if(tab[j]==tab[j+1] && tab[j+2]==tab[j+3] &&tab[j]==tab[j+3] && tab[j]!=' ') // GANHA POR LINHA
                printf("O jogador %c ganhou. PARABENS!\n",jogador);
            ganhador=1;
        }
    }
    for(i=0; i<6; i++)
    {
        for(j=0; j<4; j++)
        {
            if(tab[j]==tab[j+1] && tab[j+2]==tab[j+3] && tab[j]==tab[j+2] && tab[j]!=' ') // GANHA POR COLUNA
                printf("O jogador %c ganhou. PARABENS!\n",jogador);
            ganhador=1;
        }
    }
    for(i=0; i<4; i++)
    {
        for(j=0; j<3; j++)
        {
            if(tab[j]==tab[j+1][i+1] && tab[j+2][i+2]==tab[j+3][i+3] && tab[j]==tab[j+2][i+2] && tab[j]!=' ') // GANHA NA DIAGONAL "PRINCIPAL"
                printf("O jogador %c ganhou. PARABENS!\n",jogador);
            ganhador=1;
        }
    }
    for(i=0; i<4; i++)
    {
        for(j=5; j>2; j--)
        {
            if(tab[j]==tab[j-1][i+1] && tab[j-2][i+2]==tab[j-3][i+3] && tab[j]==tab[j-2][i+2] && tab[j]!=' ') // GANHA NA DIAGONAL "SECUNDARIA"
            {
                printf("O jogador %c ganhou. PARABENS!\n",jogador);
                ganhador=1;
            }
        }
    }
    if(rodada==43)
        {
            printf("\t\t\nEmpatou!!!\n");
            return 2;
        }

    return ganhador;
}
void LimpaTabuleiro()
{
    int i,j;
    for(i=0; i<6; i++) //PREENCHENDO O TABULEIRO COM ESPA�OS
    {
        for(j=0; j<7; j++)
        {
            tab[j]=' ';
        }
    }
    rodada=1;
    ganhador=0;
}
int main()
{
    printf("---------------------------------------------------------------------------\n|  Sejam bem-vindos ao LIGUE QUATRO.                                         |\n|  Esse jogo tem o simples objetivo de organizar quatro discos em uma fileira.|\n|  Valem tanto linhas horizontais como verticais e diagonais. Boa sorte!      |\n-------------------------------------------------------------------------------\n\n\n\n");
    while(1==1)
    {
        LimpaTabuleiro();
        while (ganhador!=1 || ganhador!=2)
        {
            Jogada();
            ExibeTabuleiro();
            vencer();
            TrocarJogador();
        }
    }
}
 

 

Link para o comentário
Compartilhar em outros sites

  • 8 meses depois...
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!