Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: slack+flux
Por U-Neeks
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Djames Suhanko em 21/02/2005    [ 9076 hits ]

Login: suhanko, 30179 pontos

Homepage: http://phantomclone.com   


Descrição

Fiz esse jogo da velha ha
alguns anos em C purinho,
usando apenas a biblioteca
padrão. Não é fantástico, mas
é interessante. Espero que
gostem.
PS: em algumas versões do gcc
não funfa mais. :-(
No windows vai blz, basta
mudar o "cls" para "clear"

[ Download: velha.c ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

#include <stdio.h>
//Jogo da velha, por Djames Suhanko.
int fim;
char nome2[20];
char nome1[20];
int count;
char jogador;
int i, troca;
char casa[3];
char um[20],dois[20],tres[20],quatro[20],cinco[20],seis[20],sete[20];
char oito[20],nove[20],dez[20],onze[25],doze[20],treze[20];
main()
{
int volta=0;
i=0;
for (count=0; count<17; count++)
   {
   um[i] = ' ';
   dois[i] = ' ';
   tres[i] = ' ';
   quatro[i] = ' ';
   cinco[i] = '_';
   seis[i] = ' ';
   sete[i] = ' ';
   oito[i] = ' ';
   nove[i] = '_';
   dez[i] = ' ';
   onze[i] = ' ';
   doze[i] = ' ';
   treze[i] = ' ';
   i=i++;
   }
i=5;
for (count=0; count<2; count++)
{
   um[i] = '|';
   dois[i] = '|';
   tres[i] = '|';
   quatro[i] = '|';
   cinco[i] = '|';
   seis[i] = '|';
   sete[i] = '|';
   oito[i] = '|';
   nove[i] = '|';
   dez[i] = '|';
   onze[i] = '|';
   doze[i] = '|';
   treze[i] = '|';
i=i+6;
}
jogador = '*';
system("clear");
printf("Entre com o nome do jogador(a) 1:\n");
fflush(NULL);
scanf("%s",&nome1);
printf("Entre com o nome do jogador(a) 2:\n");
fflush(NULL);
scanf("%s",&nome2);
VOLTA: system("cls");
/*##### Encerrar o jogo   #####*/
if (quatro[2] == quatro[8] && quatro[8] == quatro[14] && quatro[14] != ' ' || quatro[2] == sete[2] && onze[2] == sete[2] && sete[2] != ' ' || quatro[2] == sete[8] && sete[8] == onze[14] && onze[14] != ' ' || quatro[8] == sete[8] && quatro[8] == onze[8] && onze[8] != ' ' || quatro[14] == sete[14] && sete[14] == onze[14] && onze[14] != ' ' || onze[2] == sete[8] && sete[8] == quatro[14] && quatro[14] != ' ' || onze[2] == onze[8] && onze[8] == onze[14] && onze[14] != ' ')
   {
   if (jogador == 'X')
      {
      printf("Fim de jogo.\nJogador(a) %c, %s venceu!\n", jogador, nome1);
      }
   else
      {
      printf("Fim de jogo.\nJogador %c, %s venceu!\n", jogador, nome2);
      }
   }
/*############################################*/
printf("  A     B     C\n\n");
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", tres[i]);
i=i++;
}
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", quatro[i]);
i=i++;
}
printf("   1");
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", cinco[i]);
i=i++;
}
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", seis[i]);
i=i++;
}
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", sete[i]);
i=i++;
}
printf("   2");
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", nove[i]);
i=i++;
}
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", dez[i]);
i=i++;
}
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", onze[i]);
i=i++;
}
printf("   3");
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", doze[i]);
i=i++;
}
printf("\n\n\n");
printf("  Jogo da Velha - Por: Djames Suhanko\n\n");
printf("Opções:\n novo - para novo jogo, a qualquer momento\n");
printf(" sair - para sair do jogo a qualquer momento\n");
printf("\nEntre Com uma coordenada: \n >>> ");
if (jogador == '*')
   {
   printf("Jogador X: %s\n", nome1);
   }
else if (jogador == 'X')
   {
   printf("Jogador *: %s\n", nome2);
   }

fflush(NULL);
scanf("%s",&casa);
if (!strcmp(casa,"a1"))
   {
   troca = 1;
   }
if (!strcmp(casa,"b1"))
   {
   troca = 2;
   }
if (!strcmp(casa,"c1"))
   {
   troca = 3;
   }
if (!strcmp(casa,"a2"))
   {
   troca = 4;
   }
if (!strcmp(casa,"b2"))
   {
   troca = 5;
   }
if (!strcmp(casa,"c2"))
   {
   troca = 6;
   }
if (!strcmp(casa,"a3"))
   {
   troca = 7;
   }
if (!strcmp(casa,"b3"))
   {
   troca = 8;
   }
if (!strcmp(casa,"c3"))
   {
   troca = 9;
   }
if (!strcmp(casa,"sair"))
   {
   troca = 0;
   }
   if (!strcmp(casa,"novo"))
   {
   troca = 11;
   }
switch(troca)
   {
   case 1:
      {
      if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }
       if (quatro[2] != 'X' && quatro[2] != '*')
         {
         quatro[2] = jogador;
         goto VOLTA;
         }
      else
         {
         if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }
            goto VOLTA;
         }
      } //case 1a
   case 2:
      {
      if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }
      if (quatro[8] != 'X' && quatro[8] != '*')
         {
         quatro[8] = jogador;
         goto VOLTA;
         }
         else
         {
         if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }
            goto VOLTA;
         }
      } //case b1
   case 3:
   {
   if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }
      if (quatro[14] != 'X' && quatro[14] != '*')
         {
   quatro[14] = jogador;
   goto VOLTA;
         }
      else
         {
         if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }
            goto VOLTA;
         }
      } //case c1
   case 4:
   {
   if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }
      if (sete[2] != 'X' && sete[2] != '*')
         {
   sete[2] = jogador;
   goto VOLTA;
         }
      else
         {
         if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }
            goto VOLTA;
         }
      } //case a2
   case 5:
   {
   if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }

      if (sete[8] != 'X' && sete[8] != '*')
         {
   sete[8] = jogador;
   goto VOLTA;
         }
      else
         {
         if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }
            goto VOLTA;
         }
   } //case b2
   case 6:
   {
   if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }

      if (sete[14] != 'X' && sete[14] != '*')
         {
   sete[14] = jogador;
   goto VOLTA;
         }
      else
         {
         if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }
            goto VOLTA;
         }
      } //case c2
   case 7:
   {
   if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }
      if (onze[2] != 'X' && onze[2] != '*')
         {
   onze[2] = jogador;
   goto VOLTA;
         }
      else
         {
         if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }
            goto VOLTA;
         }
      } //case a3
case 8:
   {
   if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }

      if (onze[8] != 'X' && onze[8] != '*')
         {
   onze[8] = jogador;
goto VOLTA;
         }
      else
         {
         if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }
            goto VOLTA;
         }
      } //case b3
case 9:
   {
   if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }
      if (onze[14] != 'X' && onze[14] != '*')
         {
   onze[14] = jogador;
   goto VOLTA;
         }
         else
         {
         if (jogador == '*') {
            jogador = 'X';
            }
         else if (jogador == 'X') {
            jogador = '*';
            }
            goto VOLTA;
         }
   } //case c3
   case 0:
      {
      return 0;
      }
   case 11:
      {
quatro[2] = ' ';
quatro[8] = ' ';
quatro[14] = ' ';
sete[2] = ' ';
sete[8] = ' ';
sete[14] = ' ';
onze[2] = ' ';
onze[8] = ' ';
onze[14] = ' ';
      }
   default:
      {
      goto VOLTA;
      }
   } //switch
}

Scripts recomendados
   Script Linux recomendado Parte 1 - Sessão de estudo sobre MATRIZES
   Script Linux recomendado trabalho de aula da empresa
   Script Linux recomendado Jogo da Velha
   Script Linux recomendado Administração de um Teatro
   Script Linux recomendado Trabalhando com argumentos e ponteiros

Comentários
[1] Comentário enviado por jochan em 14/12/2005 - 14:38h:

Muito legal, vai me ajudar bastente no meu projeto de C++ ... =)

[2] Comentário enviado por murilo.ito em 11/03/2010 - 16:03h:

bom para iniciantes ...

[3] Comentário enviado por Suhanko em 03/02/2011 - 17:54h:

Infelizmente eu não tinha nem boa noção de programação e nem conhecimento em programação estruturada. Ainda depois disso, postei esse código:
http://www.vivaolinux.com.br/script/Velha-reversa/
Mas ainda assim, não faria um código desse na atualidade. Esse código não serve nem para iniciantes, pois se usa do velho goto, que quebra a estrutura de qualquer código (e que deveria ter sido abolido do C para que iniciantes não façam tais atrocidades, tal como fiz na época).
Enfim, atualmente programo "de verdade". mesmo sabendo disso, sinto vergonha quando vejo esse código #).
Mas tenho algumas coisas legais em meu blog: http://suhanko.wordpress.com.
Obrigado pelos comentários, pessoal!


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.