Mostrando postagens com marcador Jogo da velha. Mostrar todas as postagens
Mostrando postagens com marcador Jogo da velha. Mostrar todas as postagens

22 de outubro de 2010

Algoritmo e Programação: Jogo da velha em C.

No post de hoje veremos um exemplo simples de jogo da velha em C utilizando matrizes bidimensionais, onde você entra com duas coordenadas e o programa imprimirá o local onde você marcou X, ou até mesmo o O, até que o complete. Veja abaixo: 


  1. #include <stdio.h>

  2. int main()
  3. {
  4.      char velha[3][3];
  5.      int linha, coluna;
  6.      for(linha = 0; linha < 3; linha++)
  7.      {
  8.            for(coluna = 0; coluna < 3; coluna++)
  9.            {
  10.            velha[linha][coluna] = ' ';
  11.            }
  12.      }
  13.      int jogada = 0;
  14.      while(1)
  15.      {
  16.           printf("Digite as coordenadas:\n");
  17.           int i, j;
  18.           scanf("%d %d", &i, &j);
  19.           if(velha[i][j] != ' ')
  20.           {
  21.                    printf("Posicao ocupada!! Tente de novo.\n");
  22.                    continue;
  23.           }

  24.      if(jogada%2 == 0) 
  25.      {
  26.            velha[i][j] = 'x';
  27.      }
  28.      else {
  29.                 velha[i][j] = 'o';
  30.             }
  31.      for(linha = 0; linha < 3; linha++)
  32.      {
  33.           printf("|");
  34.           for(coluna = 0; coluna < 3; coluna++)
  35.           {
  36.                 printf("%c|", velha[linha][coluna]);
  37.           }
  38.           printf("\n");
  39.           // Linhas
  40.           if(velha[0][0] == velha[0][1] && velha[0][1] == velha[0][2] && velha[0][0] != ' ')
  41.           {
  42.                    printf("O jogador %c ganhou.\n", velha[0][0]);
  43.                    break;
  44.           }
  45.           else if(velha[1][0] == velha[1][1] && velha[1][1] == velha[1][2] && velha[1][0] != ' ')
  46.           {
  47.           printf("O jogador %c ganhou.\n", velha[1][0]);
  48.           break;
  49.           }
  50.           else if(velha[2][0] == velha[2][1] && velha[2][1] == velha[2][2] && velha[2][0] != ' ')
  51.           {
  52.                 printf("O jogador %c ganhou.\n", velha[2][0]);
  53.                 break;
  54.           }

  55. // Colunas
  56.   else if(velha[0][0] == velha[1][0] && velha[1][0] ==                 velha[2][0] && velha[0][0] != ' ')
  57.           {
  58.                  printf("O jogador %c ganhou.\n", velha[0][0]);
  59.                  break;
  60.           }
  61.           else if(velha[0][1] == velha[1][1] && velha[1][1] == velha[2][1] && velha[0][1] != ' ')
  62.          {
  63.                  printf("O jogador %c ganhou.\n", velha[0][1]);
  64.                  break;
  65.           }
  66.           else if(velha[0][2] == velha[1][2] && velha[1][2] == velha[2][2] && velha[0][2] != ' ')
  67.           {
  68.                   printf("O jogador %c ganhou.\n", velha[0][2]);
  69.                   break;
  70.           }

  71. // Diagonais
  72.    else if(velha[0][0] == velha[1][1] && velha[1][1] == velha[2][2] && velha[0][0] != ' ')
  73.           {
  74.                   printf("O jogador %c ganhou.\n", velha[0][0]);
  75.                   break;
  76.           }
  77.           else if(velha[2][0] == velha[1][1] && velha[1][1] == velha[0][2] && velha[2][0] != ' ')
  78.           {
  79.                   printf("O jogador %c ganhou.\n", velha[2][0]);
  80.                   break;
  81.           }
  82.           jogada++;
  83.           }
  84.  
  85.  return 0;
  86. }
           
            
        


       
  


   



   

 
Design by @cleidimarviana | Bloggerized by Cleidimar Viana - Diário de Sistema