Autor
|
Tema: Tateti en c (Leído 8,350 veces)
|
netdrag0n
Desconectado
Mensajes: 7
|
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 // 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 am por netdrag0n »
|
En línea
|
|
|
|
Ferno
Desconectado
Mensajes: 375
|
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.htmlPor 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: 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
Mensajes: 179
Primero se hace, después se mejora
|
A que te refieres con que no existen procedimientos ¿EXPLÍCITOS?
|
|
|
En línea
|
|
|
|
Ferno
Desconectado
Mensajes: 375
|
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
Mensajes: 179
Primero se hace, después se mejora
|
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
Mensajes: 7
|
gracias por el consejo estoy leyendo sobre c y el libro que recomendate
|
|
|
En línea
|
|
|
|
|
theluigy13etv
Desconectado
Mensajes: 179
Primero se hace, después se mejora
|
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
|
|
|
|
|
|