jogo da velha em c

1. jogo da velha em c

ernesto lopes
ernesto lopes

(usa Ubuntu)

Enviado em 09/10/2011 - 02:43h

meu código não esta funcionando não sei por que peço orientaçao aos meus amigos do site aqui vai o codigo fonte

#include <stdio.h>

char matrix [3][3];
int confere ( );
void inimatrix(void)
void jogador1(void);
void jogador2(void);
void dematrix(void);

int main(){
char nada='n';
inimatrix();
do{
dematrix();
jogador1();
nada=confere();
if(nada!='')
break;
jogador2();
nada=confere();


}while(nada=='n');
if (nada=='x')
printf ("jogador 1 venceu ");
else
printf("jogador 2 venceu");
dematrix();

return (0);
}

void inimatrix(){
int i,j;
for (i=0;i<3;i++){

for (j=0;j<3;j++ ){
matrix[i][j]=' ' ;
}
}
}


void jogador1()
{
int x,y;
("digite as coordenadas para x ");
scanf("%d %d",&x,&y);
x--;y--;
if ( matrix [x][y]!=' '){
printf("posição inválida\n\t ");
jogador1();
}
else matrix[x][y]='X'


}
void jogador2(){

int x,y;
("digite as coordenadas para x ");
scanf("%d %d",&x,&y);
x--;y--;
if ( matrix [x][y]!=' '){
printf("posição inválida\n\t ");
jogador1();
}
else matrix[x][y]='0'




}
char confere(void){
int m;
for (m=0;m<3;m++)
if (matrix[m][0]==matrix[m][1]&&matrix[m][0]=matrix[m][2])
return matrix [m][0];
for (m=0;m<3;m++)
if (matrix[0][m]==matrix[1][m]&&matrix[0][m]==matrix[2][m])
return matrix [0][m];

if (matrix[0[0]==matrix[1][1]&&matrix[0][0]==matrix[2][2])
return matrix [0][0];
if (matrix[0][2]==matrix[1][1]&&matrix[1][1]==matrix[2][0])
return matrix [0][2];
return 'n';

}
void dematrix(){
int t;
for (t=0;t<3;t++){
printf(" %c| %c| %c ",matrix[t][0],matrix[t][1],matrix[t][2]);
if (t!=2)
printf("\n--|--|--\n");

}

printf("\n");
}



  


2. Re: jogo da velha em c

Perfil removido
removido

(usa Nenhuma)

Enviado em 09/10/2011 - 03:15h

amigo, esse é um jogo que fiz pro meu celular, em C, e está funcionando de boa:
no terminal ele estará fora de ajuste, pois o terminal do celular possui uma resolução diferente à do terminal comum.
basta alterar a qtde de "\n"
grande abraço!

arquivo original: http://www.4shared.com/file/GDcz0b9q/jogo.html



// Jogo da Velha - 2010 João Guilherme (motomagx)

#include <stdlib.h>
int m[9]={0}, a, b, c, d, e;
char p[1]={0};

main()
{
printf("\nJogo da velha\n\n");
printf("Player 1: X\nPlayer 2: O\n\n");
printf("Teclas:\n\n");
printf("A B C X X X\nD E F = X X X\nG H I X X X\n\n");
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nPressione ENTER para iniciar.");
getchar();
printf("\n");
jogo();
}

jogo()
{
a=1; // define o jogador inicial (A) e o atual jogador
b=0; // define se o jogo continua (0) ou termina (1)
c=1; // define a numeração da atual partida
while(b==0)
{
if(a==1) // define de qual jogador é a vez.
{
printf("\nPartida #%d:\n\n\n\n\n\n\n\n\n\n\n", c);
c++;
exibir();
peca();
printf("\nJogador A, selecione uma peca: ");
gets(&p[0]);
detpeca();
a=2;
cond();
}
if(a==2) // define de qual jogador é a vez.
{
printf("\nPartida #%d:\n\n\n\n\n\n\n\n\n\n\n", c);
c++;
exibir();
peca();
printf("\nJogador B, selecione uma peca: ");
gets(&p[0]);
detpeca();
a=1;
cond();
}
if(c>9)
b=1;
}
}

cond()
{
if((m[0]==1 && m[1]==1 && m[2]==1) || (m[3]==1 && m[4]==1 && m[5]==1) || (m[6]==1 && m[7]==1 && m[8]==1) || (m[0]==1 && m[3]==1 && m[6]==1) || (m[1]==1 && m[4]==1 && m[7]==1) || (m[2]==1 && m[5]==1 && m[8]==1) || (m[0]==1 && m[4]==1 && m[8]==1) || (m[2]==1 && m[4]==1 && m[6]==1))
{
printf("\nPartida #%d:\n\n\n\n\n\n\n\n\n\n\n", c);
exibir();
printf("\n\n\n\n\n\n\n\n\nVencedor: Jogador A.\n\n");
a=0;
b=1;
}
if((m[0]==2 && m[1]==2 && m[2]==2) || (m[3]==2 && m[4]==2 && m[5]==2) || (m[6]==2 && m[7]==2 && m[8]==2) || (m[0]==2 && m[3]==2 && m[6]==2) || (m[1]==2 && m[4]==2 && m[7]==2) || (m[2]==2 && m[5]==2 && m[8]==2) || (m[0]==2 && m[4]==2 && m[8]==2) || (m[2]==2 && m[4]==2 && m[6]==2))
{
printf("\nPartida #%d:\n\n\n\n\n\n\n\n\n\n\n", c);
exibir();
printf("\n\n\n\n\n\n\n\n\nVencedor: Jogador B.\n\n");
a=0;
b=1;
}
}

peca()
{
printf("\n\n\n\n\n\n\n\n\n\nDisponiveis: ");
if(m[0]==0)
printf("A ");
if(m[1]==0)
printf("B ");
if(m[2]==0)
printf("C ");
if(m[3]==0)
printf("D ");
if(m[4]==0)
printf("E ");
if(m[5]==0)
printf("F ");
if(m[6]==0)
printf("G ");
if(m[7]==0)
printf("H ");
if(m[8]==0)
printf("I ");
}

detpeca()
{
if(a==1)
{
if(p[0]=='a')
m[0]=1;
if(p[0]=='b')
m[1]=1;
if(p[0]=='c')
m[2]=1;
if(p[0]=='d')
m[3]=1;
if(p[0]=='e')
m[4]=1;
if(p[0]=='f')
m[5]=1;
if(p[0]=='g')
m[6]=1;
if(p[0]=='h')
m[7]=1;
if(p[0]=='i')
m[8]=1;
}
if(a==2)
{
if(p[0]=='a')
m[0]=2;
if(p[0]=='b')
m[1]=2;
if(p[0]=='c')
m[2]=2;
if(p[0]=='d')
m[3]=2;
if(p[0]=='e')
m[4]=2;
if(p[0]=='f')
m[5]=2;
if(p[0]=='g')
m[6]=2;
if(p[0]=='h')
m[7]=2;
if(p[0]=='i')
m[8]=2;
}
}

exibir()
{
printf("\n\n ");
if (m[0]==0)
printf(" _");
if (m[0]==1)
printf(" X");
if (m[0]==2)
printf(" O");
if (m[1]==0)
printf(" _");
if (m[1]==1)
printf(" X");
if (m[1]==2)
printf(" O");
if (m[2]==0)
printf(" _");
if (m[2]==1)
printf(" X");
if (m[2]==2)
printf(" O");
printf("\n\n ");
if (m[3]==0)
printf(" _");
if (m[3]==1)
printf(" X");
if (m[3]==2)
printf(" O");
if (m[4]==0)
printf(" _");
if (m[4]==1)
printf(" X");
if (m[4]==2)
printf(" O");
if (m[5]==0)
printf(" _");
if (m[5]==1)
printf(" X");
if (m[5]==2)
printf(" O");
printf("\n\n ");
if (m[6]==0)
printf(" _");
if (m[6]==1)
printf(" X");
if (m[6]==2)
printf(" O");
if (m[7]==0)
printf(" _");
if (m[7]==1)
printf(" X");
if (m[7]==2)
printf(" O");
if (m[8]==0)
printf(" _");
if (m[8]==1)
printf(" X");
if (m[8]==2)
printf(" O");
printf("\n\n\n");
}



3. Re: jogo da velha em c

André
andrezc

(usa Debian)

Enviado em 09/10/2011 - 10:05h

Poste o seu código no site pastebin, pois o VoL quebrou a formatação.

E poste o porque de você achar que está errado. O compilador emite alguma mensagem? Esse código compila?


[]'s


4. codigo modificado mas não funfa

ernesto lopes
ernesto lopes

(usa Ubuntu)

Enviado em 12/10/2011 - 18:21h

#include <stdio.h>
#include <stdlib.h>

char matrix [3][3];
char confere ();
void inimatrix();
void jogador1();
void jogador2();
void dematrix();

int main(){
char nada=' ';
inimatrix();
do{
dematrix();
jogador1();
nada=confere();
jogador2();

nada=confere();

}while(nada ==' ');
if (nada=='x'){
printf(" o jogador 1 venceu "); }
else
printf(" o jogador 2 venceu ");

return (0);
}

void inimatrix(){
int i,j;
for (i=0;i<3;i++){

for (j=0;j<3;j++ ){
matrix[i][j]=' ' ;
}
}
}


void jogador1()
{
int x,y;
printf("digite as coordenadas para x ");
scanf("%d %d",&x,&y);
x--;y--;
if ( matrix [x][y]!= ' '){
printf("posição inválida\n\t ");
jogador1();}

else
matrix[x][y] ='X';


}
void jogador2(){

int x,y;
("digite as coordenadas para O ");
scanf("%d %d",&x,&y);

if ( matrix [x][y]!=' '){
printf("posição inválida\n\t ");
jogador2();
}
else matrix[x][y]='0';




}
char confere(){
int m;
for (m=0;m<3;m++)
if (matrix[m][0]== matrix[m][1]&& matrix[m][0]==matrix[m][2]){
return (matrix [m][0]);}
for (m=0;m<3;m++)
if (matrix[0][m]==matrix[1][m]&&matrix[0][m]==matrix[2][m]){
return matrix [0][m];}

if (matrix[0][0]==matrix[1][1]&&matrix[0][0]==matrix[2][2]){
return(matrix [0][0]);}
if (matrix[0][2]==matrix[1][1]&&matrix[1][1]==matrix[2][0]){
return(matrix [0][2]);}
return (' ');

}
void dematrix(){
int t;
for (t=0;t<3;t++){
printf(" %c| %c| %c ",matrix[t][0],matrix[t][1],matrix[t][2]);
if (t!=2)
printf("\n--|--|--\n");

}

printf("\n");
}
quando compilo a tabela aparece pede a coordenada do ponto 1 boto do enter e não acontece nada






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts