Jogo do Galo em C – Versão 1.04

Posted by admin on 6 de Abril de 2012 | Filed under Exercícios, Línguagens de Programação, Programação

Continuando com a tentativa de criar o Jogo do Galo recorrendo a linguagem de programação C consegui fazer mais alguns progressos tendo agora também uma função para as jogadas efetuadas pelo computador.

O código é o seguinte:

/**************************************************************
Nome: Nuno Santos
Data: 04-04-2012
Projecto: Jogo do Galo_1.04
**************************************************************/

#include<stadio.h>
#include<stdlib.h>

#define DIM 3

int matriz[DIM][DIM];

void iniciar_matriz();
void coordenadas();
void coordenadas_pc();
void apresenta_matriz();

int main()
{
    printf("\t\t\t\t Jogo do Galo \n\n\n");

    iniciar_matriz(matriz);

    do
    {

        coordenadas();

        coordenadas_pc();

        apresenta_matriz();

    }while(1);

    getchar();
}

// Função que Incializa a matriz

void iniciar_matriz()
{
    int i, j;

    for(i = 0; i < DIM; i++)
    {
        for (j = 0; j < DIM; j++)
        {
            matriz[i][j] = ' ';
        }

    }
}

//Função para a coodenadas

void coordenadas()
 {
    int x, y;

    printf("Insira a coordenada X: ");
    scanf("%d", &x);
    fflush(stdin);

    printf("\n\nInsira a coordenada Y: ");
    scanf("%d", &y);
    fflush(stdin);

    x--;
    y--;

    if (matriz[x][y] != ' ')
    {
        printf("\n Posição Ocupada! \n");
        coordenadas();
    }
    else
    {
        matriz[x][y] = 'X';
    }
}

//Função para apresentar a matriz

void apresenta_matriz()
{
    int i;

    printf("\n");

    for (i = 0; i < DIM; i++)
    {
        printf(" %c | %c | %c ", matriz[i][0], matriz[i][1], matriz[i][2]);

        if ( i != 2)
        {
            printf("\n");
            printf("---|---|---");
            printf("\n");
        }
    }

    printf("\n");
}

// Função para A Jogada do Computador

void coordenadas_pc()
{
    int i, j;

    for (i = 0; i < DIM; i++)
    {
        for(j = 0; j < DIM; j++)
        {
            if (matriz[i][j] == ' ')
            {
                matriz[i][j] = 'O';
                return;
            }
        }
    }
}

Sei que esta solução ainda não resolve o desafio e que pode muito bem ser melhorada, pelo que estou aberto a todas as sugestões que me possam dar.

Share

Leave a Reply