Estou a tentar exercitar a minha programação em C de modo a aprender mais e evoluir, so que tenho sentido dificuldades no campo das funções, nomeadamente com os parâmetros e argumentos.
Ultimamente tenho andado a tentar fazer o jogo do galo, e estava a tentar implementar uma função para fazer a leitura das coordenadas, mas não estou a conseguir.
Aqui fica o código:
Código :
************************************************
Nome: Nuno Santos
Data: 31-03-2012
Projecto: Jogo do Galo_1.03
************************************************/
#include <stdio.h>
#include <stdlib.h>
#define DIM 3
void posicoes(int posicoes(int posx, int posy))
{
int n_jogadas = 0;
// Acção Jogador - Coordenadas
printf("\nDigite as coordenadas do X: ");
scanf("%d", &posx);
fflush(stdin);
printf("\nDigite as coordenadas do Y: ");
scanf("%d", &posy);
fflush(stdin);
posx--;
posy--;
n_jogadas ++;
}
int main()
{
char Galo [DIM][DIM] = {{' ', ' ', ' '}, {' ', ' ', ' '}, {' ', ' ', ' '}};
int i, j, n;
int posx, posy;
// Inicia a Matriz
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
{
Galo[i][j] = ' ';
}
}
posicoes(posx, posy);
if(Galo[posx][posy] != ' ')
{
printf("\nPosicao invalida, tente novamente.\n");
}
else
{
Galo[posx][posy] = 'X';
}
// Apresenta a Matriz
printf("\n");
for(n = 0; n < 3; n++)
{
printf(" %c | %c | %c ", Galo[n][0], Galo[n][1], Galo[n][2]);
if(n != 2)
{
printf("\n---|---|---\n");
}
}
printf("\n");
system("PAUSE");
}
Nome: Nuno Santos
Data: 31-03-2012
Projecto: Jogo do Galo_1.03
************************************************/
#include <stdio.h>
#include <stdlib.h>
#define DIM 3
void posicoes(int posicoes(int posx, int posy))
{
int n_jogadas = 0;
// Acção Jogador - Coordenadas
printf("\nDigite as coordenadas do X: ");
scanf("%d", &posx);
fflush(stdin);
printf("\nDigite as coordenadas do Y: ");
scanf("%d", &posy);
fflush(stdin);
posx--;
posy--;
n_jogadas ++;
}
int main()
{
char Galo [DIM][DIM] = {{' ', ' ', ' '}, {' ', ' ', ' '}, {' ', ' ', ' '}};
int i, j, n;
int posx, posy;
// Inicia a Matriz
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
{
Galo[i][j] = ' ';
}
}
posicoes(posx, posy);
if(Galo[posx][posy] != ' ')
{
printf("\nPosicao invalida, tente novamente.\n");
}
else
{
Galo[posx][posy] = 'X';
}
// Apresenta a Matriz
printf("\n");
for(n = 0; n < 3; n++)
{
printf(" %c | %c | %c ", Galo[n][0], Galo[n][1], Galo[n][2]);
if(n != 2)
{
printf("\n---|---|---\n");
}
}
printf("\n");
system("PAUSE");
}
Se fosse possível gostaria que me ajudassem a entender melhor esta questão das funções e como implementar correctamente o que pretendo.
Cumps












