Miren primero de todo lo siento, se que también es dificil entrar en la uni con un modulo pero una vez
estas dentro eres de los que esta mas alto en la materia a la que te vas a dedicar, cierto que mates, .....
estas super mal porque hace años que no lo haces pero yo vengo de bachiller y estoy igual o peor que
uno de modulo jaja pero se tiene que ir tirando....
Miren sobre el programa:Nosotros aún no hemos empezado tan fuerte con el programa del tetris. Usamos el Visual Studio para lenguaje C sin el ++
el C asecas.
El proyecto es el siguiente, la primera entrega del tetris solo tenemos que hacer:
1.El tablero o sea |_| vale? las barras esas.
2.Solo hay 4 piezas y de dimension horizontal 1 punto, 2 puntos, 3 puntos, 4 puntos o, oo, ooo, oooo estas <--
3.Se tiene que generar una pieza aleatoria e ir caiendo mientras espera una orden de las fletxas si no hay orden va caiendo.
4.Pulsando <-- va a la <-- y va caiendo si no se pulsa nada mas, igual con la -->, pulsando la tecla p o P se pausa hasta que no
tocas otra vez la p o P; con ESC se acava el programa.
5.La pieza tiene un limite, al tocar la pared no tiene que sobrepasarla entienden? la toca y baja rascando la pared, lo normal.
6.Una vez la pieza llega abajo, DESAPAREZE y una vez desaparece, aparece otra aleatoria arriva y el marcador (que tambien tiene que aparecer) suma una puntuacion.
Nada mas, ni se quedan las lineas, ni se giran las piezas ni nada mas.
Entorno grafico, ..... habeis dicho muchas cosas que no se yo aún.Usamos la libreria conio.h y otra que la llamamos rutines.h que nos la dan en la uni y la ponemos en el programa (esta libreria de la uni ya entra la libreria stdio.h, la del tiempo, y otras funciones)
El programa que tengo hechoSimulo como si tubiera las barras horizontales pero con numeros, he puesto un numero del 0 al 28 por ejemplo y hago
que pulsando las fletxas <-- y --> disminuya el numero o augmente respectivamente.
Tambien cuando pulso p y P se pausa hasta no volver a pulsar otro boton, y pulsando ESC el programa se para.
Hemos hecho esto para simular el movimiento lateral y familiarizarnos con las flexas y eso pero como no nos lo explican y los foros
van pobres de programacion almenos todos los que he buscado menos este pues lo voy a exponer donde pueda para que me ayuden.
Aqui les dejare el programa, he puesto un doble getch() porque las teclas no se como las llaman que son 2 numeros o algo para que aparezcan o no se muy bien como va pero en clase solo nos dijeron que usaramos 2 getch() para las flexas. El problema es que luego cuando pulso p o P o ESC tengo que pulsarlo 2 veces para que haga su funcion.
programa:
#include "rutines.h"
#include <conio.h>
#define N 28
int main()
{
char tecla;
int pesa; // Como esta en catalan alguna variable le pongo pesa= pieza
srand(time(NULL));
pesa=(rand() % N+1);
do
{
printf("%d\n",pesa);
tecla=getch();
tecla=getch();
switch (tecla)
{
case 75:
if (pesa!=0)
pesa--;
break;
case 77:
if (pesa!=N)
pesa++;
break;
case 'p':
system("pause");
break;
case 'P':
system("pause");
break;
case 27:
pesa=-1;
break;
}
}
while ((pesa>=0) && (pesa<=N));
return 0;
}
Tambien les cuelgo la libreria rutines que nos facilita la universidad.
rutines.h
//===================================================================================
#include <math.h>
#include <string.h>
#include <time.h>
#include <stdio.h>
#include <windows.h>
// Declaracio de tipus
typedef struct pantalla_s {
HANDLE screen;
int Tauler[NFil][NCol];
} pantalla_t;
//===================================================================================
// Definicio de colors
#define BLACK 0
#define BLUE 1
#define GREEN 2
#define CYAN 3
#define RED 4
#define MAGENTA 5
#define BROWN 6
#define LIGHTGREY 7
#define DARKGREY 8
#define LIGHTBLUE 9
#define LIGHTGREEN 10
#define LIGHTCYAN 11
#define LIGHTRED 12
#define LIGHTMAGENTA 13
#define YELLOW 14
#define WHITE 15
#define BLINK 128
//===================================================================================
// Desplaçament del taulell respecte la cantonada superior esquerre
#define DespF 5
#define DespC 27
//===================================================================================
// Dimensions del taulell de joc
#define NFil 28
#define NCol 18
//===================================================================================
// Peces
#define NUM_PECES 3
// Point --------------------
const int P[3]={0,1,0};
// Guio -------------------
const int S[3]={0,2,2};
// linea ------------------------
const int L[3]={3,3,3};
//===================================================================================
// Declaració de funcions
void gotoxy(int,int,HANDLE);
void TextColor(int,int,HANDLE);
void InitPantalla( pantalla_t *tauler );
void ClosePantalla( );
void MostraTauler( pantalla_t *tauler );
void MostraMSG(pantalla_t *tauler, char* );
void MostraPesa( pantalla_ *tauler, int Peca, int F, int C);
Hay cosas en catalan.
Weno, espero que me puedan ayudar y como veo que estais interesados en ayudarme o eso espero ire exponiendo mis problemas, dudas, etc.
Tengo un pdf que explica muy bien la utilización de C pero también necesito que me enseñen las bases porque si no cuesta pillarle el truco en cosas.
Gracias, espero respuesta.