Autor Tema: Ayuda para este programa  (Leído 2696 veces)

Desconectado mikelharris

  • Newbie
  • *
  • Mensajes: 5
Ayuda para este programa
« en: 29 de Mayo de 2005, 05:08:01 pm »
Al iniciarse el programa se visualizara al izquierda de la pantalla un rectangulo azul con dimensiones de 15 de ancho por 8 de alto, utilizando el caracter ascii DEc:219 /Hex:db.

Al pulsar la tecla "C" la figura pasara a ser verde.

Al pulsar la tecla "P" la figura se visualizara en la derecha.

Al pulsar la tecla "F" el programa terminara.

Bueno yo he hecho hasta aki pero no funciona bien, necesito que me lo completeis.


#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<conio.h>
#define VERDE 2
#define AZUL 4

void dibujar_cuadrado(void);
void posicionar_figura(void);

char color;
int ancho=15,alto=8;


int main (void)
{

char tecla;
tecla=getkey();
color=AZUL;
clrscr();
textattr(color);
for(;;)
{
dibujar_cuadrado();
if (tecla=='a')exit(0);
if (tecla=='c')
{
if (color==AZUL) color=VERDE;
else if (color==VERDE) color=AZUL;
}
textattr(color);
dibujar_cuadrado();
}
}


void dibujar_cuadrado(void)
{
int i,j;
int x=10,y=5;
gotoxy(x,y);
for(i=1;i<alto;i++)
{
gotoxy(x,y);
for(j=1;j<ancho;j++)
cprintf("\xdb");
y++;
}
}
void posicionar_figura(void)
{
}

Desconectado mikelharris

  • Newbie
  • *
  • Mensajes: 5
una ayudita ke keda poco
« Respuesta #1 en: 30 de Mayo de 2005, 05:48:43 pm »
Bueno he conseguido ke cambie de color y ke se termine el programa pero no consigo ke cambie de posicion, he hecho lo siguiente:

#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<conio.h>
#define VERDE 1
#define AZUL 2

void dibujar_cuadrado(void);
void posicionar_figura1(void);
void posicionar_figura2(void);

char color;
int ancho=15,alto=8;



int main (void)
{
int x=0;
char tecla;
tecla=getkey();
color=AZUL;
clrscr();
textattr(color);
dibujar_cuadrado();
for(;;)
{
if (tecla=='a')exit(0);
if(tecla=='p')
{
if (x==0)
{
posicionar_figura1;
textattr(color);
dibujar_cuadrado();
x++;
}
else if(x!=0)
{
posicionar_figura2;
textattr(color);
dibujar_cuadrado();
x--;
}
}
if (tecla=='c')
{
if (color==AZUL)
{
color=VERDE;
textattr(color);
dibujar_cuadrado();
}
else if (color==VERDE)
{
color=AZUL;
textattr(color);
dibujar_cuadrado();
}
}
tecla=getkey();
}

}


void dibujar_cuadrado(void)
{
int i,j;
int x=10,y=5;
gotoxy(x,y);
for(i=1;i<alto;i++)
{
gotoxy(x,y);
for(j=1;j<ancho;j++)
cprintf("\xdb");
y++;
}
}
void posicionar_figura1(void)
{
int x,y;
x=50;
y=5;
}

void posicionar_figura2(void)
{
int x,y;
x=5;
y=5;
}

 

Aviso Legal | Política de Privacidad | Política de Cookies

el contenido de la web se rige bajo licencia
Creative Commons License