elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 03:05  


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Tateti en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Tateti en c  (Leído 1,006 veces)
netdrag0n

Desconectado Desconectado

Mensajes: 5



Ver Perfil
Tateti en c
« en: 5 Diciembre 2011, 23:13 »

aqui les dejo el código de mi un juego conosido hecho en c para opinen sobre el codigo y como mejorarlo este solo sirve en window para linux hay que cambiar la librería  conio.h por curse.h


Código:
// tateti por netdrag0n //

#include <stdio.h>
#include <conio.h>


int tic [3][3]={'1','2','3','4','5','6','7','8','9'},i,j,ta,ta1,ta2,ta3,ta4,ta5,ta6,ta7,a,b;
      char op,tateti,valor,jugador,valor2;
                  
   int te();  
  
   int c();
                      
      main()    
{
      
      printf("\n");
      do{
          system("cls");
            
for(i=0;i<3;i++)
               {
                      
                      printf("\n");
                      
                      for(j=0;j<3;j++)
                      {
                               if(tic[i][j]==1)
                                printf("X|");
                                
                                 else if(tic[i][j]==0)
                                printf("O|");
                                
                                else
                                printf("%c|",tic[i][j]);
                                }
                                
                                
                              printf("\n------------");
                              printf("\n");
                              
                              
                                }
                if(jugador==1)
                {
                              printf("\n");
                              
               printf("\n jugador X>");
                c(jugador);
                te();
                            
                             jugador=0;
                             }
                                            
                     else if (jugador==0)
                {
                            printf("\n");
                            printf("\n jugador O>");
                            c(jugador);
                             jugador=1;
                             te();
                             }                        
                }
                
                
                  while(tateti!=1);
                      printf(" gano %c \n",op);

      char op2 = getch();
      
      }

te()
{
              
                 ta=tic[0][0]+tic[0][1]+tic[0][2];
                 ta1=tic[1][0]+tic[1][1]+tic[1][2];
                 ta2=tic[2][0]+tic[2][1]+tic[2][2];
                
                  ta3=tic[0][0]+tic[1][0]+tic[2][0];
                  ta4=tic[0][0]+tic[1][1]+tic[2][1];
                  ta5=tic[0][2]+tic[1][2]+tic[2][2];
                  ta6=tic[0][0]+tic[1][1]+tic[2][2];
                  ta7=tic[2][0]+tic[1][1]+tic[0][2];
                  
                  if(ta==0 || ta1==0 || ta2==0 || ta3==0 || ta4==0 || ta5==0 || ta6==0 ||ta7==0)
                                {
                                tateti=1;
                                op='O';
                                     }
                                    
                              if(ta==3 || ta1==3 || ta2==3 || ta3==3 || ta4==3 || ta5==3 || ta6==3||ta7==3)
                                {
                                tateti=1;
                                op='O';
                                    
                                     }
                     return;      
                        
                      main();
                      
                      }
 c()
 {
             valor = getch();
              if(valor=='1')
                tic[0][0]=jugador;
                
                else if(valor=='2')
                tic[0][1]=jugador;
                
                else if(valor=='3')
                tic[0][2]=jugador;
                
                else if(valor=='4')
                tic[1][0]=jugador;
                
                else if(valor=='5')
                tic[1][1]=jugador;
                
                else if(valor=='6')
                tic[1][2]=jugador;
                
                else if(valor=='7')
                tic[2][0]=jugador;
                
                 else if(valor=='8')
                tic[2][1]=jugador;
                
               else  if(valor=='9')
                tic[2][2]=jugador;
                return;
                
                      }




« Última modificación: 6 Diciembre 2011, 01:57 por netdrag0n » En línea
Ferno

Desconectado Desconectado

Mensajes: 282


Ver Perfil
Re: Tateti en c
« Respuesta #1 en: 6 Diciembre 2011, 02:36 »

Sobre conio.h, te recomiendo leer este hilo: http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

Por lo demás, te recomiendo leer algún buen libro de C que siga el standard.
Por ejemplo, la declaración de la función main es:

Código
int main (int argc, char* argv[])

Cuando programás en C, todo es una función. No existen procedimientos explícitos. Por ende, todo módulo aparte debe devolver algún valor (sea entero, caracter, etc... si devuelves un tipo void, sería algo análogo a un procedimiento).
Pero en fin, te recomendaría leer algún libro, como El Lenguaje de Programación C de Kernighan & Ritchie (que en paz descanse).


En línea
theluigy13etv

Desconectado Desconectado

Mensajes: 106


Primero se hace, después se mejora


Ver Perfil
Re: Tateti en c
« Respuesta #2 en: 8 Diciembre 2011, 19:11 »

A que te refieres con que no existen procedimientos ¿EXPLÍCITOS?
En línea
Ferno

Desconectado Desconectado

Mensajes: 282


Ver Perfil
Re: Tateti en c
« Respuesta #3 en: 9 Diciembre 2011, 00:51 »

Que todo en C es una función. No existen los procedimientos propiamente dichos. Puedes simular uno al programar una función que devuelva un void, pero no más que eso.
En línea
theluigy13etv

Desconectado Desconectado

Mensajes: 106


Primero se hace, después se mejora


Ver Perfil
Re: Tateti en c
« Respuesta #4 en: 5 Enero 2012, 17:33 »

Ok. Ya te entendí. A nivel general los subprogramas se clasifican en Funciones y Procedimientos. En C solo existen funciones, y cuando se necesite un procedimiento, se hace uso de una función que devuelva el tipo void.
En línea
netdrag0n

Desconectado Desconectado

Mensajes: 5



Ver Perfil
Re: Tateti en c
« Respuesta #5 en: 6 Enero 2012, 20:19 »

gracias por el consejo estoy leyendo sobre c y el libro que recomendate
En línea
criskapunk

Desconectado Desconectado

Mensajes: 255



Ver Perfil
Re: Tateti en c
« Respuesta #6 en: 8 Enero 2012, 00:59 »

Si recién te inicias en C, te recomiendo el libro Como programar en C/C++ de Deitel&Deitel (Lo estoy siguiendo actualmente y es muy bueno para comenzar).

Lo podés encontrar en el siguiente post:
http://foro.elhacker.net/programacion_cc/librospapers_cc-t296234.0.html

Un saludo.
En línea
theluigy13etv

Desconectado Desconectado

Mensajes: 106


Primero se hace, después se mejora


Ver Perfil
Re: Tateti en c
« Respuesta #7 en: 22 Febrero 2012, 04:31 »

Sí muy bueno el de Deithel. Tiene una teoría muy completa. También sirve mucho el "Introducción a la programación con C"

http://ubuntuone.com/p/kRe/
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines