Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Buscaminas en C
Autor Mensaje
sentey Sin conexión
Presidente del CEIT
fressi renunciessi abandonessi
********

Análisis de Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.502
Agradecimientos dados: 123
Agradecimientos: 189 en 129 posts
Registro en: Aug 2010
Facebook Google+ LinkedIn Twitter YouTube
Mensaje: #1
Buscaminas en C
Aca les dejo mi primer intento de programa en C...

Es version 1.0, las proximas versiones prometen:

-Generador de partidas, no solo la que viene cargada
-Posibilidad de elegir distintos tamaños de tablero y cantidad de minas para aumentar o disminuir la dificultad
-Que cuando se elige un lugar con el numero "0" se revelen todos los 0 adyacentes (como en el buscaminas de verdad)
-Eficiencia y menos hardcodeo =P


Código
Spoiler: Mostrar

/* Buscaminas */
#include <stdio.h>
#define SIZE 10

void imprimir(char [SIZE][SIZE], int);
void inicializarTabla(char [SIZE][SIZE] , int);
void inicializarTablaReal(char [SIZE][SIZE], int);
void modificarTabla(char, char *, int *, int *);

main()
{
char tabla[SIZE][SIZE], tablaReal[SIZE][SIZE]; /* Tablero de 9x9 que se muestra al usuario y el tablero real */
int fila, columna, estado = 1, camposRestantes = 71; /* 1 es en juego, 2 es que perdio y 3 es que gano */

inicializarTablaReal(tablaReal, SIZE);
inicializarTabla(tabla, SIZE);
printf("Bienvenido a Buscaminas 1.0 by sentey!\n");
printf("Para jugar, escriba la posicion a elegir en formato Fila Columna\n\n");
do {
imprimir(tabla, SIZE);
scanf("%d%d", &fila, &columna);
if (tabla[fila][columna] == '*')
modificarTabla(tablaReal[fila][columna], &tabla[fila][columna], &estado, &camposRestantes);
else
printf("Ya elegiste ese lugar!\n");
} while (estado == 1);
if (estado == 3) {
imprimir(tabla, SIZE);
printf("Ganaste!");
}
else {
imprimir(tabla, SIZE);
printf("Perdiste!");
}
return 0;
}

void inicializarTabla(char t[SIZE][SIZE] , int size)
{
int i, j;

for (i = 1; i <= size-1; i++) {
for (j = 1; j <= size-1; j++)
t[i][j] = ('*');
}
}

void inicializarTablaReal(char t[SIZE][SIZE], int size)
{
t[1][1] = '1';
t[1][2] = '1';
t[1][3] = '1';
t[1][4] = '1';
t[1][5] = '1';
t[1][6] = '1';
t[1][7] = '1';
t[1][8] = '1';
t[1][9] = '1';
t[2][1] = '1';
t[2][2] = 'M';
t[2][3] = '1';
t[2][4] = '1';
t[2][5] = 'M';
t[2][6] = '1';
t[2][7] = '1';
t[2][8] = 'M';
t[2][9] = '1';
t[3][1] = '1';
t[3][2] = '1';
t[3][3] = '1';
t[3][4] = '2';
t[3][5] = '2';
t[3][6] = '2';
t[3][7] = '1';
t[3][8] = '1';
t[3][9] = '1';
t[4][1] = '0';
t[4][2] = '0';
t[4][3] = '0';
t[4][4] = '1';
t[4][5] = 'M';
t[4][6] = '2';
t[4][7] = '1';
t[4][8] = '0';
t[4][9] = '0';
t[5][1] = '0';
t[5][2] = '0';
t[5][3] = '0';
t[5][4] = '1';
t[5][5] = '3';
t[5][6] = 'M';
t[5][7] = '2';
t[5][8] = '0';
t[5][9] = '0';
t[6][1] = '1';
t[6][2] = '1';
t[6][3] = '1';
t[6][4] = '0';
t[6][5] = '2';
t[6][6] = 'M';
t[6][7] = '3';
t[6][8] = '1';
t[6][9] = '1';
t[7][1] = '1';
t[7][2] = 'M';
t[7][3] = '2';
t[7][4] = '1';
t[7][5] = '1';
t[7][6] = '1';
t[7][7] = '2';
t[7][8] = 'M';
t[7][9] = '1';
t[8][1] = '1';
t[8][2] = '2';
t[8][3] = 'M';
t[8][4] = '2';
t[8][5] = '1';
t[8][6] = '1';
t[8][7] = '1';
t[8][8] = '1';
t[8][9] = '1';
t[9][1] = '0';
t[9][2] = '1';
t[9][3] = '1';
t[9][4] = '2';
t[9][5] = 'M';
t[9][6] = '1';
t[9][7] = '0';
t[9][8] = '0';
t[9][9] = '0';
}

void imprimir(char t[SIZE][SIZE] , int size)
{
int i, j;

printf(" 123456789\n");
for (i = 1; i <= size-1; i++) {
printf("\n%30d ", i);
for (j = 1; j <= size-1; j++)
printf("%c", t[i][j]);
}
printf("\n");
}

void modificarTabla(char campo, char *campoAModificar, int *estado, int *camposRestantes)
{
*campoAModificar = campo;
if (campo == 'M')
*estado = 2;
else {
--*camposRestantes;
if (*camposRestantes == 0)
*estado = 3;
}
}



Tambien les dejo el .exe para jugarlo
edit: bueno, el foro no me deja adjuntar el .exe, dejo screen para que se animen y compilen el codigo en casa ustedes mismos!

[Imagen: 320447_4268059229340_1444070067_n.jpg]
Otros adjuntos en este tema
.rar  buscaminas.rar ( 4,99 KB / 666) por sentey

sentey escribió:Voy a cambiar esta firma el día que Me$$i gane un mundial
(Este mensaje fue modificado por última vez en: 03-07-2012 23:59 por sentey.)
03-07-2012 23:45
Envíale un email Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Feer Sin conexión
Presidente del CEIT
win-win
**********

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 4.565
Agradecimientos dados: 594
Agradecimientos: 2.487 en 411 posts
Registro en: Apr 2010
Mensaje: #2
RE: Buscaminas en C
Mandale un system("clear");
Para borrar la pantalla y que no se repita a cada rato!
Bien ahiii!, esta re buno che=D, lastima las 80 lineas para declarar una matriz jaja.

[Imagen: digitalizartransparent.png]
04-07-2012 00:05
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
gonnza Sin conexión
User Verde

*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 17.112
Agradecimientos dados: 763
Agradecimientos: 732 en 317 posts
Registro en: Mar 2010
BlogSpot Google+ YouTube
Mensaje: #3
RE: Buscaminas en C
hacelo en C# para jugar con mouse (?)

[Imagen: v34BEFt.gif]
04-07-2012 12:07
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
nanuiit Ausente
♫ I'm Blue ...
... Da ba dee, da ba da ♫
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8.880
Agradecimientos dados: 216
Agradecimientos: 574 en 201 posts
Registro en: Aug 2010
Mensaje: #4
RE: Buscaminas en C
Meté el .exe en un .rar =P

ALGORITMOS

Apuntes: Mem. Dinámica - Mem. Estática - Proc. y Funciones || Guías: Módulos + 83 Ejercicios || Finales: 2004-2013


[Imagen: digitalizartransparent.png]

[Imagen: firmananiv2.png]
04-07-2012 15:17
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
sentey Sin conexión
Presidente del CEIT
fressi renunciessi abandonessi
********

Análisis de Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.502
Agradecimientos dados: 123
Agradecimientos: 189 en 129 posts
Registro en: Aug 2010
Facebook Google+ LinkedIn Twitter YouTube
Mensaje: #5
RE: Buscaminas en C
A pedido de Nanu:


Archivo(s) adjuntos
.rar  buscaminas.rar (Tamaño: 4,99 KB / Descargas: 666)

sentey escribió:Voy a cambiar esta firma el día que Me$$i gane un mundial
04-07-2012 15:29
Envíale un email Encuentra todos sus mensajes Cita este mensaje en tu respuesta
CarooLina Sin conexión
Colaborador
2016! ❥
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3.466
Agradecimientos dados: 921
Agradecimientos: 1.220 en 454 posts
Registro en: Sep 2010
Mensaje: #6
RE: Buscaminas en C
que grande sentey !!

love
06-07-2012 17:57
Envíale un email Encuentra todos sus mensajes Cita este mensaje en tu respuesta
magui90 Sin conexión
Empleado del buffet
@.@
*

Otra
Otra

Mensajes: 1
Agradecimientos dados: 0
Agradecimientos: 0 en 0 posts
Registro en: Nov 2011
Mensaje: #7
RE: Buscaminas en C
Muy bueno Heart
07-07-2012 17:30
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
JulianD Sin conexión
Colaborador
~`☼`~
********

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 2.435
Agradecimientos dados: 275
Agradecimientos: 769 en 108 posts
Registro en: Feb 2011
Mensaje: #8
RE: Buscaminas en C
Muy bueno!
Para la proxima, para hacer partidas aleatorias posta podes usar rand y srand.

[Imagen: 2r27ldw.jpg]
07-07-2012 17:37
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Feer Sin conexión
Presidente del CEIT
win-win
**********

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 4.565
Agradecimientos dados: 594
Agradecimientos: 2.487 en 411 posts
Registro en: Apr 2010
Mensaje: #9
RE: Buscaminas en C
Me causa gracia que todos le dijeron que haga algo distinto JJAA

[Imagen: digitalizartransparent.png]
07-07-2012 19:48
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
JulianD Sin conexión
Colaborador
~`☼`~
********

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 2.435
Agradecimientos dados: 275
Agradecimientos: 769 en 108 posts
Registro en: Feb 2011
Mensaje: #10
RE: Buscaminas en C
Vos fuiste el primero jaja =P

[Imagen: 2r27ldw.jpg]
07-07-2012 19:55
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Maik Sin conexión
Presidente del CEIT
.
********

Otra
Otra

Mensajes: 5.297
Agradecimientos dados: 47
Agradecimientos: 190 en 136 posts
Registro en: Sep 2011
Mensaje: #11
RE: Buscaminas en C
hace añares perdi las bibliotecas con el modo grafico de c, sino te lo pasaba, es todo una experiencia programar c++ modo grafico con mouse XD

pd me gustaria ver el generador de partidas Yea2

MODS
[Imagen: 2r5t075.jpg]
(Este mensaje fue modificado por última vez en: 08-07-2012 03:02 por Maik.)
08-07-2012 02:59
Envíale un email Encuentra todos sus mensajes Cita este mensaje en tu respuesta
sentey Sin conexión
Presidente del CEIT
fressi renunciessi abandonessi
********

Análisis de Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.502
Agradecimientos dados: 123
Agradecimientos: 189 en 129 posts
Registro en: Aug 2010
Facebook Google+ LinkedIn Twitter YouTube
Mensaje: #12
RE: Buscaminas en C
(08-07-2012 02:59)Maik escribió:  hace añares perdi las bibliotecas con el modo grafico de c, sino te lo pasaba, es todo una experiencia programar c++ modo grafico con mouse XD

pd me gustaria ver el generador de partidas Yea2

Lo voy a hacer! Ya lo tengo todo en la cabeza, tengo que pasar esta semana de parciales y ahi le voy a meter a full.

sentey escribió:Voy a cambiar esta firma el día que Me$$i gane un mundial
08-07-2012 13:03
Envíale un email Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.