Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gustavo Rodrigues Torre

Jogo da Velha

Recommended Posts

Amigo esta certo o que eu estou fazendo?

Estou copiando do código em C

 

 

algoritmo "semnome"

// Função :

// Autor :

// Data : 19/12/2007

// Seção de Declarações

var

matrix : vetor[1..3,1..3] de real

i,j : inteiro

x,y : inteiro

inicio

// Seção de Comandos

 

//Verifica as linhas

para i de 1 ate 3 passo

se (matrix[i,1] = matrix[i,2]) e (matrix[i,3] = matrix) entao

escreva(matrix)

fimse

//Verifica as colunas

para i de 1 ate 3 passo

se (matrix[1,i] = matrix[2,i]) e (matrix[3,i] = matrix) entao

escreva(matrix)

fimse

 

 

fimalgoritmo

 

cara olha esse tópico: http://forum.imasters.com.br/index.php?showtopic=261573

 

esta em C++.. ai você implementar em Portugol.. qlqr duvida posta ae/ q eu ajudo

 

flw :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

você ta pegando isso de ql código pq lah tem uns 3 codigos diferentes

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara vai ficar um poquinho extenso + eu tento te ajudar sim!!

vamos por partes poste aki oq você naum conseguir traduzir q eu do um jeito!!

use o exemplo do Capiau o jogo dele está + simples em relação aos outros!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então vamos tentar fazer o algoritmo

Vou postando aqui o que eu não conseguir traduzir

 

cara vai ficar um poquinho extenso + eu tento te ajudar sim!!

vamos por partes poste aki oq você naum conseguir traduzir q eu do um jeito!!

use o exemplo do Capiau o jogo dele está + simples em relação aos outros!!

 

Já comecei a me perder na tradução

Como eu vou traduzir isto?

 

void desenha( char as_velha[D_DIMENSAO][D_DIMENSAO] );
int verifica( char as_velha[D_DIMENSAO][D_DIMENSAO], char cSimbol );


int main(void)
{
   int i,j;
   int ijogada;
   char as_velha[D_DIMENSAO][D_DIMENSAO]; /* matriz que conter? o jogo da velha */
   char ss_nome_jogador_01[40];
   char ss_nome_jogador_02[40];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou no caminho certo?

Poderia dar uma sugestão de tela inicial para mim?

A que eu fiz esta boa?

 

algoritmo "semnome"
// Função :
// Autor :
// Data : 21/12/2007
// Seção de Declarações 
var
jogador1, jogador2 : caractere //Nome do jogador 1 e 2
i,j : inteiro //i : linha da matriz /J: coluna da matriz
ijogada : inteiro
matrix_velha : vetor[1..3,1..3] de caractere //matriz do jogo (tabuleiro)
inicio
// Seção de Comandos 
escreval(">>>>>>>>>JOGO DA VELHA<<<<<<<<<<<<<")
escreval("CRIADO POR GUSTAVO RODRIGUES TORRE")
escreval("***********************************")

escreval("Entre com o nome do jogador 01>>>")
leia(jogador1)
escreval("Entre com o nome do jogador 02>>>")
leia(jogador2)
escreval(jogador1,","," você jogará com X ") //Define X para o jogador 1
escreval(jogador2,","," você jogará com O ") //Define 0 para o jogador 1

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu traduzo este trecho para Portugol?

 

for( i=0;i<D_DIMENSAO;i++)
	  for( j=0;j<D_DIMENSAO;j++)
		 as_velha[i][j]=' ';
   desenha(as_velha);

   ijogada = _X_;
   while(1)
   {

#ifdef D_VALIDACAO
	  do
	  {
#endif
		 if( ijogada == _X_ )
			printf("\nE a vez do %s", ss_nome_jogador_01);
		 else
			printf("\nE a vez do %s", ss_nome_jogador_02);
		 printf("\nInforme as coordenadas");
		 printf("\nCoordenada i ->");
		 scanf("%d", &i);
		 printf("\nCoordenada j ->");
		 scanf("%d", &j);

#ifdef D_VALIDACAO
		 if( as_velha[i][j] != ' ' )
			printf("\nVoce e um estupido !!! Estas coordenadas ja estao ocupadas..." );
	  }
	  while( as_velha[i][j] != ' ' );
#endif

	  as_velha[i][j]=ijogada;
	  desenha(as_velha);

	  if( verifica(as_velha, ijogada ))
	  {
		 printf("\nParabens");
		 break;
	  }

	  if( ijogada == _X_ )
		 ijogada = _O_;
	  else
		 ijogada = _X_;
   }
}

por enquanto esta correto continue assim postando :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gustavo nisso está c usando uns loops (laços de repetição), uma função e algumas condições..

tente fazer.. ñ importe como fique.. faça oq conseguir e eu vow te acompanhando :D

caso queira q eu faça esse código q você postow e passo Portugol, + creio q você qr aprender e tem força de vontade!!

entaum te aguardo!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poderia corrigir o q estiver errado?

Obrigado pelo q você escreveu.

Estou conseguindo aprender sozinho.

Abraços

E um feliz natal.

 

http://forum.imasters.com.br/public/style_emoticons/default/natal_noel.gif

 

algoritmo "semnome"
// Função :
// Autor :
// Data : 21/12/2007
// Seção de Declarações 
var
jogador1, jogador2 : caractere //Nome do jogador 1 e 2
i,j : inteiro //i : linha da matriz /J: coluna da matriz
ijogada : inteiro
matrix_velha : vetor[1..3,1..3] de caractere //matriz do jogo (tabuleiro)
inicio
// Seção de Comandos 
//Tela de abertura do jogo
escreval(">>>>>>>>>JOGO DA VELHA<<<<<<<<<<<<<")
escreval("CRIADO POR GUSTAVO RODRIGUES TORRE")
escreval("***********************************")

escreval("Entre com o nome do jogador 01>>>")
leia(jogador1)
escreval("Entre com o nome do jogador 02>>>")
leia(jogador2)
limpatela
escreval(jogador1,","," você jogará com X ") //Define X para o jogador 1
escreval(jogador2,","," você jogará com O ") //Define 0 para o jogador 1

 //Desenha a tabela
 para i de 1 ate 3 passo
   para j de 1 ate 3 passo
	 escreva() //Não sei o que colocar aqui
		 as_velha[i][j]=' ';
   desenha(as_velha); // Não sei como desenhar o tabuleiro. Séria maios ou monos assim:


   ijogada = "X"
   enquanto(1) faca

		   se ( ijogada ="X") entao
		   escreva("E a vez do",jogador1)
		senao
			  escreva("nE a vez do ",jogador2)
			  escreval("Informe as coordenadas")

			  escreval("Coordenada i ->")
			  leia(i)
			  
			  escreva("\nCoordenada j ->");
			  leia(j)

		 se ( matrix_velha[i,j] <> " ") entao
		 escreva("\nVoce errou !!! Estas coordenadas ja estao ocupadas..." );

	  enquanto ( xc_velha[i,j] <> "" ) faca
	  matrix_velha[i,j] <- ijogada
	  desenha(matrix_velha[i,j]); //Não sei como fazer isto

	  se ( verifica(matrix_velha[i,j], ijogada )) entao
	  escreval("Parabens");
	  interrompa

	  se( ijogada = "X") entao
		 ijogada = "O"
	  senao
		 ijogada = "X"
fimenquanto
fimenquanto
fimse
fimse


fimalgoritmo

Gustavo nisso está c usando uns loops (laços de repetição), uma função e algumas condições..

tente fazer.. ñ importe como fique.. faça oq conseguir e eu vow te acompanhando :D

caso queira q eu faça esse código q você postow e passo Portugol, + creio q você qr aprender e tem força de vontade!!

entaum te aguardo!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

na parte onde você colocow q naum sabe oq colocar..

ql era o codigo q estava?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A parte era esta

 

for( i=0;i<D_DIMENSAO;i++)
	  for( j=0;j<D_DIMENSAO;j++)
		 as_velha[i][j]=' ';
   desenha(as_velha);

   ijogada = _X_;
   while(1)
   {

#ifdef D_VALIDACAO
	  do
	  {
#endif
		 if( ijogada == _X_ )
			printf("\nE a vez do %s", ss_nome_jogador_01);
		 else
			printf("\nE a vez do %s", ss_nome_jogador_02);
		 printf("\nInforme as coordenadas");
		 printf("\nCoordenada i ->");
		 scanf("%d", &i);
		 printf("\nCoordenada j ->");
		 scanf("%d", &j);

#ifdef D_VALIDACAO
		 if( as_velha[i][j] != ' ' )
			printf("\nVoce e um estupido !!! Estas coordenadas ja estao ocupadas..." );
	  }
	  while( as_velha[i][j] != ' ' );
#endif

	  as_velha[i][j]=ijogada;
	  desenha(as_velha);

	  if( verifica(as_velha, ijogada ))
	  {
		 printf("\nParabens");
		 break;
	  }

	  if( ijogada == _X_ )
		 ijogada = _O_;
	  else
		 ijogada = _X_;
   }
}

E eu traduzi para isto

A parte dos if acho que estam certas

 

 

//Desenha a tabela
para i de 1 ate 3 passo
   para j de 1 ate 3 passo
	 escreva() //Não sei o que colocar aqui
		 as_velha[i][j]=' ';
   desenha(as_velha); // Não sei como desenhar o tabuleiro. Séria maios ou monos assim:


   ijogada = "X"
   enquanto(1) faca

		   se ( ijogada ="X") entao
		   escreva("E a vez do",jogador1)
		senao
			  escreva("nE a vez do ",jogador2)
			  escreval("Informe as coordenadas")

			  escreval("Coordenada i ->")
			  leia(i)
			  
			  escreva("\nCoordenada j ->");
			  leia(j)

		 se ( matrix_velha[i,j] <> " ") entao
		 escreva("\nVoce errou !!! Estas coordenadas ja estao ocupadas..." );

	  enquanto ( xc_velha[i,j] <> "" ) faca
	  matrix_velha[i,j] <- ijogada
	  desenha(matrix_velha[i,j]); //Não sei como fazer isto

	  se ( verifica(matrix_velha[i,j], ijogada )) entao
	  escreval("Parabens");
	  interrompa

	  se( ijogada = "X") entao
		 ijogada = "O"
	  senao
		 ijogada = "X"
fimenquanto
fimenquanto
fimse
fimse

na parte onde você colocow q naum sabe oq colocar..

ql era o codigo q estava?

Compartilhar este post


Link para o post
Compartilhar em outros sites

+ eu num vi a parte q você colocow q naum sabe oq escrever :S

escreva() //Não sei o que colocar aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta parte aqui

 

escreva() //Não sei o que colocar aqui

 

Eu não sei se e para fazer isto

 

escreva("Digite a sua jogada",i)

leia(matrix_velha)

 

E para fazer isto?

Ou colocar outra coisa no lugar?

 

 

+ eu num vi a parte q você colocow q naum sabe oq escrever :S

escreva() //Não sei o que colocar aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

no q eu observei naum precisa por nd naum! no "escreva() //Não sei o que colocar aqui"

 

e o "desenha(matrix_velha[i,j]);" é uma função q ta recebendo como parametros o valor da matriz..

 

c você rodar o programa com ctz vai dar erro.. por isso vamos procurar fazer sem compilar por enquanto.. até ter as funções prontas!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.