Tenho continuado a explorar e a exercitar os meus pequenos conhecimentos em C tentado programar o Jogo do Galo. Tal como me foi indicado aqui: Jogo do Galo em C – Versão 1.02 pelos visitantes tentei passar todas as funcionalidades já programadas para funções, necessitando apenas de as chamar no main().
Aqui fica o código que efectuei:
/**************************************************************
Nome: Nuno Santos
Data: 04-04-2012
Projecto: Jogo do Galo_1.04
**************************************************************/
#include<stdio.h>
#include<stdlib.h>
#define DIM 3
int matriz[DIM][DIM];
void iniciar_matriz();
void coordenadas();
void apresenta_matriz();
int main()
{
printf("\t\t\t\t Jogo do Galo \n\n\n");
iniciar_matriz(matriz);
coordenadas();
apresenta_matriz();
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");
}
Substitui o system(“PAUSE”); presente no main() por getch(); devido a estar a programar em Linux, onde o system(“PAUSE”); gera um pequeno erro ao compilar.
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

