elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 [2]
11  Programación / Programación C/C++ / Un pequeño regalo de un viejo conocido... en: 18 Noviembre 2012, 02:42 am
Aquí os dejo una cosita que he hecho esta noche ;) Llevaba tiempo sin programar absolutamente nada y he pensado que ya era hora...
Tan sólo comentadme si veis que le falta algo importante, si he puesto algún disparate, etc... Si os animáis hasta podéis seguir desarrollándolo un poquito ;) ¡Gracias!

Citar
Código
  1. // By ***** : 17-18.11.2012 : Lenguaje C
  2. // FALTA: - Mostrar casillas próximas a abierta que sean 0 - Implementar sistema de marcación por tiempo y menú
  3. // - Mejorar entrada datos - Implementar interfaz más intuitiva
  4. // - Mejorar algoritmo y simplificar el código
  5. // Made with NANO + GCC  -  Linux Ubuntu 3.5.0-17 i686  -  También funciona correctamente en plataforma Windows [PORTABLE]
  6.  
  7. #include <stdio.h>
  8. #define TAM2 6
  9. #define TAM (TAM2*TAM2)
  10. #define MINA TAM2*2
  11.  
  12. int main (int argc, char *argv [])
  13. { printf ("Buscaminas 1.0 : By ***** 2012\n"); if (TAM2<=2 || TAM2>9) { printf ("[!] Please change the TAM2 value [>2 min - <9 max]\n"); return 1; } printf ("\n");
  14. int tablero [TAM], tablero2 [TAM], a, b, x; srand (time (NULL)); for (a=0; a<TAM; a++) { tablero [a]=0; tablero2 [a]=0; }
  15. for (a=0; a<MINA; a++) { b=rand ()%TAM; while (tablero [b]==-1) b=rand()%TAM; tablero [b]=-1; }
  16. for (a=0, b=0; a<TAM; a++) {
  17. if (tablero [a-1]==-1 && (a+0)%TAM2!=0 && a>=1) b++; if (tablero [a+1]==-1 && (a+1)%TAM2!=0 && a<(TAM-1)) b++;
  18. if (tablero [a-TAM2]==-1 && a>=TAM2) b++; if (tablero [a+TAM2]==-1 && a<(TAM-TAM2)) b++;
  19. if (tablero [a-(TAM2+1)]==-1 && (a+0)%TAM2!=0 && a>=(TAM2+1)) b++; if (tablero [a+(TAM2+1)]==-1 && (a+1)%TAM2!=0 && a<(TAM-TAM2-1)) b++;
  20. if (tablero [a-(TAM2-1)]==-1 && (a+1)%TAM2!=0 && a>=(TAM2-1)) b++; if (tablero [a+(TAM2-1)]==-1 && (a+0)%TAM2!=0 && a<(TAM-TAM2+1)) b++;
  21. if (tablero [a]==-1) {b=0; continue;} else tablero [a]=b; b=0; }
  22.  
  23. while (1) { printf ("    "); for (x=1; x<=TAM2; x++) printf ("%d ", x); printf ("\n    "); for (x=1; x<=TAM2; x++) printf ("- ", x);
  24. for (a=0; a<TAM; a++) {
  25. if (a%TAM2==0) printf ("\n%d.  ", (a/TAM2)+1); if (tablero2 [a]==1) printf ("%d ", tablero [a]); else printf (". "); } printf ("\n");
  26. printf ("\nInsert X: "); scanf ("%d", &a); while (a<1 || a>TAM2) { printf ("[!] The inserted value is not OK. Please choose one value between 1 and %d...\n", TAM2); printf ("\nInsert X: "); scanf ("%d", &a); }
  27. printf ("Insert Y: "); scanf ("%d", &x); while (x<1 || x>TAM2) { printf ("[!] The inserted value is not OK. Please choose one value between 1 and %d...\n", TAM2); printf ("Insert Y: "); scanf ("%d", &x); } a=(a-1)*TAM2+(x-1);
  28. if (tablero [a]==-1) { printf ("---  You lost this time...  ---\n"); printf ("    "); for (x=1; x<=TAM2; x++) printf ("%d ", x); printf ("\n    "); for (x=1; x<=TAM2; x++) printf ("- ", x); for (a=0; a<TAM; a++) { if (a%TAM2==0) printf ("\n%d.  ", (a/TAM2)+1); if (tablero [a]==-1) printf ("* "); else printf ("%d ", tablero [a]); } printf ("\n\n"); return 0; }
  29. else {tablero2 [a]=1; b++;}
  30. if (b==TAM-MINA) { printf ("\nCongratulations! You won this time...\n"); return 0; } }
  31. }
  32.  


*** Modif 18/11/12 - 11:25 : He eliminado un bucle for innecesario
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines