Implementación del Juego Samegame en Visual C++
Éste articulo describe qué es lo que se ha tomado en cuenta para la implementacion del Same Game, para lo cual se ha utilizado el lenguaje de programacion Microsoft Visual C++ 6.0, combinado con la técnica de computación grafica llamada Double Buffering.
Para la implementación del Same Game se ha tomado en cuenta lo siguiente:
- El espacio del juego es de 10 x 15 elementos.
- Los elementos pueden ser de color Rojo, Verde o AZul.
- Se muestra el puntaje en la barra de estado.
- Cada juego nuevo se genera aleatoriamente.
Para la eliminacion de grupos de elementos se ha utilizado una búsqueda recursiva simple:
- Code: Seleccionar todo
- void CSame::Find(int i,int j)
- {
- if(pCells[i][j].color != ' ' && pCells[i][j].count == 0)
- {
- for(int k = 0 ; k < TMAX; k++)
- {
- if((((i + dirs[k][Y]) >= 0) && ((i + dirs[k][Y]) < n)) &&
- (((j + dirs[k][X]) >= 0) && ((j + dirs[k][X]) < m)))
- {
- if(pCells[i + dirs[k][Y]][j +
- dirs[k][X]].color == pCells[i][j].color)
- {
- Find(i + dirs[k][Y],j + dirs[k][X],count);
- }
- }
- }
- }
- }
Donde i,j es la posicion en el tablero; pCells es el array de elementos; dirs es un array que contiene las TMAX direcciones posibles de adjacencia.
Los elementos son pedasos de un mapa de bits, cada pedazo es de 22x22 pixeles. Los elementos son cargados previamente en un Image List, para su mejor manipulación.
Para mas detalles sobre la implementación pueden descargar y revisar el código fuente del programa.
Otros Artículos en esta sección
-
Este artículo muestra como implementar hilos/hebras con la clase CWinThread en forma sencilla. El ejemplo pone a prueba la rapidez de tres métodos de ordenamiento ejecutandolos simultáneamente.Una lista de Cadenas de Conexión que se pueden utilizar en conexiónes Bases de Datos desde Visual C++ utilizando ADO. También sirven para otros lenguajes de programación.Chart para visual c++, control que visualiza gráficos de barra y sectores en un dialogo MFC, puedes utilizarlo en tus aplicaciones para enriquecerlo mostrando histogramas y gráficos de sectores.¿Alguna duda? Sientete libre de hacer tus pruntas en nuestro:

foro deVisual C++ »
