Explicació de l’enunciat Pràctica 1
Joc – Tetris en línia L'objectiu del joc és completar la línia base en el menor temps possible.
Anàlisi - Disseny Main Millors Resultats Nivell Joc
Anàlisi - Disseny Main Millors Resultats Nivell Joc DibuixarTauler Moure .... … Cada mòdul (caixa) és una funció - Durant les primeres sessions ens centrarem en el mòdul Main i el mòdul Joc (Oblidant-nos de tota la resta)
Projecte en CodeBlocks
Projecte en CodeBlocks
Projecte en CodeBlocks
Exercici 1 Carregar des d’Arxiu ja existent Crear Nou
Exercici 2 Principal.cpp Menu.cpp Menu.h A definir A definir
IMPORTANT Exemple.cpp #include "Graphics_Console.h” #include <stdio.h> void Fun() { } void main() Fun(); Aquí podem veure la declaració de la funció Fun() Aquí podem veure la crida a la funció Fun() NO ho cridem com void Fun()
Stdio.c Stdio.obj Joc.cpp Joc.obj Graphics_Console.cpp Busca en el mateix directori on és Joc.cpp Stdio.c Stdio.obj Joc.cpp #include "Graphics_Console.h” #include <stdio.h> Joc.obj Graphics_Console.cpp Graphics_Console.obj #include “ “ vs #include <> Busca en els directoris definits al Codeblocks Joc.exe (nom del projecte)
Recomanació Recordeu que els fitxers .h serveixen per definir i ocultar la implementació dels fitxers .cpp Si una funció A crida a una altra funció B, B ha d’estar implementada abans que A. Si el fitxer .cpp inclou el seu corresponent fitxer .h implica que com les funcions ja estan definides no cal tenir en compte el punt anterior
Exercici 3 Inicialitzar el joc La pantalla és una pissarra amb 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 La pantalla és una pissarra amb moltes caselles Llegir notes void Joc(){ HANDLE hScreen; hScreen = GetStdHandle(STD_OUTPUT_HANDLE); InitScreen(hScreen); } Aquestes funcions i tipus de dades definides a Graphics_Console haurem de fer un #include d’aquest fitxer hScreen
Exercici 3 Pintar el video joc X La pantalla és una pissarra amb moltes caselles Per pintar una casella utlitzem tres instruccions TextColor(LIGHTGREEN, BLACK, hScreen) GotoXY(Columna, Fila,hScreen) printf(“ “) ……… … ……… ……. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 . Aquesta funció definida a Graphics_Console … ja hem fet #include d’aquest fitxer // Codi simbol BRICK #define BRICK 177 printf("%c", GESPA);
void Taulell(HANDLE hScreen) Exercici 3 void Taulell(HANDLE hScreen) X 1.-Escollir el color TextColor 2.- Anar a la posició GotoXY 3.- Imprimir printf 4.- Anar a la posició 5.- Imprimir 6.- Anar a la posició 7.- Imprimir Y
Exercici 3 Té un paràmetre d’entrada que es diu hScreen i que es del tipus HANDLE Joc.cpp Definició Joc.h A definir Crida Es passa una variable del mateix tipus Mirar definició.
Exercici 4 Joc.cpp (FI_X -10, FI_Y +2) (INICI_X +2, FI_Y +2) A definir
Exercici 4 Joc.cpp Joc.h
Resultat de la pràctica