necesito ayuda con un tetris en c++
el programa se deve hacer con matrizes y se como desarrollar lo que me piden que el haga
1) tiene que mostrar la figura que aparecera antes de que salga
2) las figuras deven rotar
3)tengo que ganar
me dan la base que es mucha y solo tengo que desarrollar en un pequeño programa :
#include <stdlib.h>
#include "tetris.h"
// Esta variable define cada cuánto tiempo
// se ejecutará un llamado a la función
// tiempo_max()
double intervalo = 0.5;
// No modificar esta sección, ya que define parámetros
// importantes del juego
int tablero[ALTO][ANCHO]; // FIJO
int pieza[4][4]; // FIJO
int puntaje; // FIJO
int terminado; // FIJO
// El valor que se pone en una posición del tablero
// determina el color que se mostrará ahí
//
// Colores diposnibles:
//
// 0 --> GRIS OSCURO (vacío)
// 1 --> AMARILLO
// 2 --> AZUL
// 3 --> VERDE
// 4 --> ROJO
// 5 --> BLANCO
/*************************************************************************/
/*************************************************************************/
// Funciones para interactuar con OpenGL
// Esta función se llama al presionar la tecla FLECHA ARRIBA
void press_up() {
// Pinta o borra una pieza en la parte de arriba del tablero
tablero[0][5] = 1 - tablero[0][5];
tablero[0][6] = 1 - tablero[0][6];
tablero[1][5] = 1 - tablero[1][5];
tablero[1][6] = 1 - tablero[1][6];
}
// Esta función se llama al presionar la tecla FLECHA ABAJO
void press_down() {
// Pinta o borra una pieza en la parte de abajo del tablero
tablero[10][5] = 1 - tablero[10][5];
tablero[10][6] = 1 - tablero[10][6];
tablero[11][5] = 1 - tablero[11][5];
tablero[11][6] = 1 - tablero[11][6];
}
// Esta función se llama al presionar la tecla FLECHA IZQUIERDA
void press_left() {
// Pinta o borra una pieza en la parte izquierda del tablero
tablero[4][0] = 1 - tablero[4][0];
tablero[4][1] = 1 - tablero[4][1];
tablero[5][0] = 1 - tablero[5][0];
tablero[5][1] = 1 - tablero[5][1];
}
// Esta función se llama al presionar la tecla FLECHA DERECHA
void press_right() {
// Pinta o borra una pieza en la parte derecha del tablero
tablero[4][10] = 1 - tablero[4][10];
tablero[4][11] = 1 - tablero[4][11];
tablero[5][10] = 1 - tablero[5][10];
tablero[5][11] = 1 - tablero[5][11];
}
// Esta función se llama automáticamente cada vez que transcurre
// la cantidad de tiempo especificada por la variable "intervalo",
// y además la variable "terminado" tiene el valor 0.
void tiempo_max() {
// Cambia el color de una pieza en la matriz "
pieza[0][0] = (pieza[0][0] + 1) % 6;
pieza[0][1] = (pieza[0][1] + 1) % 6;
pieza[1][0] = (pieza[1][0] + 1) % 6;
pieza[1][1] = (pieza[1][1] + 1) % 6;
}
// Esta función se llama cada vez que se presiona la tecla "N",
// y además la variable "terminado" tiene el valor 1.
void inicializar_juego() {
int i,j;
for(i=0;i<ALTO;i++)
for(j=0;j<ANCHO;j++)
tablero[i][j] = 0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
pieza[i][j] = 0;
terminado = 0;
}
no se como hacerlo ayuda....
1) tiene que mostrar la figura que aparecera antes de que salga
2) las figuras deven rotar
3)tengo que ganar
me dan la base que es mucha y solo tengo que desarrollar en un pequeño programa :
#include <stdlib.h>
#include "tetris.h"
// Esta variable define cada cuánto tiempo
// se ejecutará un llamado a la función
// tiempo_max()
double intervalo = 0.5;
// No modificar esta sección, ya que define parámetros
// importantes del juego
int tablero[ALTO][ANCHO]; // FIJO
int pieza[4][4]; // FIJO
int puntaje; // FIJO
int terminado; // FIJO
// El valor que se pone en una posición del tablero
// determina el color que se mostrará ahí
//
// Colores diposnibles:
//
// 0 --> GRIS OSCURO (vacío)
// 1 --> AMARILLO
// 2 --> AZUL
// 3 --> VERDE
// 4 --> ROJO
// 5 --> BLANCO
/*************************************************************************/
/*************************************************************************/
// Funciones para interactuar con OpenGL
// Esta función se llama al presionar la tecla FLECHA ARRIBA
void press_up() {
// Pinta o borra una pieza en la parte de arriba del tablero
tablero[0][5] = 1 - tablero[0][5];
tablero[0][6] = 1 - tablero[0][6];
tablero[1][5] = 1 - tablero[1][5];
tablero[1][6] = 1 - tablero[1][6];
}
// Esta función se llama al presionar la tecla FLECHA ABAJO
void press_down() {
// Pinta o borra una pieza en la parte de abajo del tablero
tablero[10][5] = 1 - tablero[10][5];
tablero[10][6] = 1 - tablero[10][6];
tablero[11][5] = 1 - tablero[11][5];
tablero[11][6] = 1 - tablero[11][6];
}
// Esta función se llama al presionar la tecla FLECHA IZQUIERDA
void press_left() {
// Pinta o borra una pieza en la parte izquierda del tablero
tablero[4][0] = 1 - tablero[4][0];
tablero[4][1] = 1 - tablero[4][1];
tablero[5][0] = 1 - tablero[5][0];
tablero[5][1] = 1 - tablero[5][1];
}
// Esta función se llama al presionar la tecla FLECHA DERECHA
void press_right() {
// Pinta o borra una pieza en la parte derecha del tablero
tablero[4][10] = 1 - tablero[4][10];
tablero[4][11] = 1 - tablero[4][11];
tablero[5][10] = 1 - tablero[5][10];
tablero[5][11] = 1 - tablero[5][11];
}
// Esta función se llama automáticamente cada vez que transcurre
// la cantidad de tiempo especificada por la variable "intervalo",
// y además la variable "terminado" tiene el valor 0.
void tiempo_max() {
// Cambia el color de una pieza en la matriz "
pieza[0][0] = (pieza[0][0] + 1) % 6;
pieza[0][1] = (pieza[0][1] + 1) % 6;
pieza[1][0] = (pieza[1][0] + 1) % 6;
pieza[1][1] = (pieza[1][1] + 1) % 6;
}
// Esta función se llama cada vez que se presiona la tecla "N",
// y además la variable "terminado" tiene el valor 1.
void inicializar_juego() {
int i,j;
for(i=0;i<ALTO;i++)
for(j=0;j<ANCHO;j++)
tablero[i][j] = 0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
pieza[i][j] = 0;
terminado = 0;
}
no se como hacerlo ayuda....
