Aqui te lo dejo, revisa los cierres {} ya que he copiado el codigo del mio sin mirar demasiado donde abrian y cerraban las claves jeje.
Este codigo es mas o menos el que nos dieron a nosotros para posicionar el cursor, dibujar el cuadro y pintar una celula, nosotros teniamos que hacer el resto.
Los comentarios estan en catalan, (cosas del sistema de educacion de aqui xD)
#include <stdio.h>
#include <stdlib.h>
#include <conio2.h>
#define FILES 24
#define COLUMNES 80
#define FINAL 'z'
#define CELULA 2
#define AMUNT 72
#define AVALL 80
#define ESQUERRA 75
#define DRETA 77
void dibuixa_quadre(void);
int medcols,medfils; //Per a posicionar el cursos
int main (void)
{
int x=0,x2=0; //Per a recollir les tecles que prem l'usuari
clrscr(); //Serveix per esborrar la pantalla de la consola
dibuixa_quadre(); //Dibuixem el requadre
medcols = COLUMNES / 2; medfils = FILES / 2;
/* Funcio gotoxy(x,y)
Serveix per a posicionarse a una coordenada determinada de la consola.
Apareix a la nova llibreria instal·lada conio2.h */
gotoxy(medcols,medfils); //Posicionarse al mig
/*Mentre l'usuari no permi la tecla z el programa no arribara al seu final.
Podeu ficar un altre lletra si us interesa modificant la constant */
while(x != FINAL)
{
x= getch(); //Recollir una tecla de l'usuari sense mostrar-la per pantalla
if(x==224) //Codi ASCI estes.
{
x2=getch();
switch (x2)
{
case AMUNT:
if (medfils -2 > 0) medfils -=2;
break;
case AVALL:
if(medfils + 2 <=FILES) medfils +=2;
break;
case ESQUERRA:
if (medcols -2 >0) medcols -=2;
break;
case DRETA:
if (medcols +2 < COLUMNES) medcols+=2;
break;
}
gotoxy(medcols,medfils);
}
// Si premem l'espai llavors pintem una cel·lula
if(x==32)
{
if (mundo[medfils-1][medcols-1]) {
printf (" ");
mundo [medfils-1][medcols-1]=0;
}
else {
printf("%c", CELULA);
mundo[medfils-1][medcols-1]=1;
}
gotoxy(medcols,medfils);
}
void dibuixa_quadre (void)
{
int i=0, j=0;
gotoxy (1,1);
//Linia inicial del quadre
printf("%c%c",201,205);
for(i=0; i<38; i++)
{
printf("%c%c",203,205);
}
printf("%c\n",187);
for(j=0; j < 12; j++)
{
//Linies verticals
for(i=0; i < 39; i++)
{
printf("%c ",186);
}
printf("%c\n",186);
//Linies intermitges: 204,206,185
if(j != 11)
{
printf("%c%c",204,205);
for(i=0; i<38; i++)
{
printf("%c%c",206,205);
}
printf("%c\n",185);
}
}
// Linea de tancament 200,202,188
printf("%c%c",200,205);
for(i=0; i < 38; i++)
{
printf("%c%c",202,205);
}
printf("%c",188);
}
Y te dejo mi ejecutable para que veas como me quedó a mi.
Lh: No se pueden postear ejecutables en esta secciónCualquier duda, aqui estoy
NoX