Expected )
Hola, estoy desarrollando un parchís, y este código es la intro (un poco cutre ya lo se), se ejecuta perfectamente por separado, pero al meterlo en el archivo del parchís y compilarlo (turbo c++ 3.1)
Me da error en las lineas de "void obtenercolor( unsigned...)"
El error es "expected )" pero no me falta ningún paréntesis po que lo copio tal cual, estoy perdido Muchas gracias por vuestra ayuda
#include<dos.h>
#include<stdlib.h>
#include<graphics.h>
#include<stdio.h>
#include<conio.h>
void obtenercolor( unsigned char color, unsigned char &r, unsigned char &v, unsigned char &a ); //Esta linea da error
void cambiarcolor( unsigned char color, unsigned char r, unsigned char v, unsigned char a );
void fadeout(void);
void intro(void);
void main(void)
{
intro();
}
void intro(void)
{
int i,x=0;
int gdriver=VGA;
int gmode=VGAHI;
initgraph(&gdriver,&gmode,"c:\\turbo-c\\bgi");
do
{
cleardevice();
randomize();
i=rand()%15+1;
setcolor(i);
settextstyle(DEFAULT_FONT,0,3);
outtextxy(200,80,"BIENVENIDO");
outtextxy(223,140,"AL JUEGO");
outtextxy(193,205,"DEL PARCHIS");
settextstyle(GOTHIC_FONT,0,1);
outtextxy(x,400,"2002 Copyright Miguel Angel Moreno");
x=x+10;
delay(1000);
}while((!kbhit())&& x<320);
fadeout();
closegraph();
}
void obtenercolor( unsigned char color, unsigned char &r, unsigned char &v, unsigned char &a ) //esta tambien da error
{
outportb( 0x03c7, color );
r = inportb( 0x03c9 );
v = inportb( 0x03c9 );
a = inportb( 0x03c9 );
}
void cambiarcolor( unsigned char color, unsigned char r, unsigned char v, unsigned char a )
{
outportb( 0x03c8, color );
outportb( 0x03c9, r );
outportb( 0x03c9, v );
outportb( 0x03c9, a );
}
void fadeout( void )
{
unsigned char r, v, a;
unsigned i = 0, j = 0;
do {
for( i = 0; i<256; i++ ) { // Para cada color de la paleta
obtenercolor( i, r, v, a ); // Obtenemos un color
if( r>0 ) --r; // Si hace falta
if( v>0 ) --v; // reducimos cada
if( a>0 ) --a; // componente.
cambiarcolor( i, r, v, a ); // Y hacemos el cambio.
}
delay(14);
} while( ++j<64 ); // Esto hay que hacerlo hasta 63 veces
}
void fadein( const unsigned char *paleta )
{
unsigned char r, v, a;
unsigned i = 0, j = 0;
do {
for( i = 0; i<256; i++ ) {
obtenercolor( i, r, v, a );
if( r<paleta[i*3] ) ++r;
if( v<paleta[i*3+1] ) ++v;
if( a<paleta[i*3+2] ) ++a;
cambiarcolor( i, r, v, a );
}
} while( ++j<64 );
}
Me da error en las lineas de "void obtenercolor( unsigned...)"
El error es "expected )" pero no me falta ningún paréntesis po que lo copio tal cual, estoy perdido Muchas gracias por vuestra ayuda
#include<dos.h>
#include<stdlib.h>
#include<graphics.h>
#include<stdio.h>
#include<conio.h>
void obtenercolor( unsigned char color, unsigned char &r, unsigned char &v, unsigned char &a ); //Esta linea da error
void cambiarcolor( unsigned char color, unsigned char r, unsigned char v, unsigned char a );
void fadeout(void);
void intro(void);
void main(void)
{
intro();
}
void intro(void)
{
int i,x=0;
int gdriver=VGA;
int gmode=VGAHI;
initgraph(&gdriver,&gmode,"c:\\turbo-c\\bgi");
do
{
cleardevice();
randomize();
i=rand()%15+1;
setcolor(i);
settextstyle(DEFAULT_FONT,0,3);
outtextxy(200,80,"BIENVENIDO");
outtextxy(223,140,"AL JUEGO");
outtextxy(193,205,"DEL PARCHIS");
settextstyle(GOTHIC_FONT,0,1);
outtextxy(x,400,"2002 Copyright Miguel Angel Moreno");
x=x+10;
delay(1000);
}while((!kbhit())&& x<320);
fadeout();
closegraph();
}
void obtenercolor( unsigned char color, unsigned char &r, unsigned char &v, unsigned char &a ) //esta tambien da error
{
outportb( 0x03c7, color );
r = inportb( 0x03c9 );
v = inportb( 0x03c9 );
a = inportb( 0x03c9 );
}
void cambiarcolor( unsigned char color, unsigned char r, unsigned char v, unsigned char a )
{
outportb( 0x03c8, color );
outportb( 0x03c9, r );
outportb( 0x03c9, v );
outportb( 0x03c9, a );
}
void fadeout( void )
{
unsigned char r, v, a;
unsigned i = 0, j = 0;
do {
for( i = 0; i<256; i++ ) { // Para cada color de la paleta
obtenercolor( i, r, v, a ); // Obtenemos un color
if( r>0 ) --r; // Si hace falta
if( v>0 ) --v; // reducimos cada
if( a>0 ) --a; // componente.
cambiarcolor( i, r, v, a ); // Y hacemos el cambio.
}
delay(14);
} while( ++j<64 ); // Esto hay que hacerlo hasta 63 veces
}
void fadein( const unsigned char *paleta )
{
unsigned char r, v, a;
unsigned i = 0, j = 0;
do {
for( i = 0; i<256; i++ ) {
obtenercolor( i, r, v, a );
if( r<paleta[i*3] ) ++r;
if( v<paleta[i*3+1] ) ++v;
if( a<paleta[i*3+2] ) ++a;
cambiarcolor( i, r, v, a );
}
} while( ++j<64 );
}
Respuesta de carlosx7
1
1 respuesta más de otro experto
Respuesta de ferrangs
1