AYUDA URGENTE EN COMPILACION DE PROGRAMA // PUPILO EN APUROS

Iniciado por nelxiton, 24 Junio 2012, 20:08 PM

0 Miembros y 1 Visitante están viendo este tema.

nelxiton

HOLA TENGO UN PROBLEMA EN UN EJERCICIO QUE TENGO QUE PRESENTAR EL DIA DE HOY..!! (es en lenguaje c++ VISUAL STUDIO)

EL PROGRAMA TIENE MASOMENOS ESTE SENTIDO http://www.4shared.com/zip/SDxUXq61/jumper.html? (ejecutable que nos dio el profesor).

TENGO ESTE CODIGO.. 

EL CUAL QUIERO INCLUIRLO EN EL CODIGO MAYOR PERO AL HACERLO ME SALE UN MONTON DE ERRORES...!!




Código (cpp) [Seleccionar]
#include<stdafx.h>
#include<stdio.h>
#include<conio.h>
#include<windows.h>


using namespace System;



void Colorletras(int numero)
{
       
        if(numero==1)         
       
                Console::ForegroundColor = ConsoleColor::Blue;
                       
        else
        if(numero==2)
                        Console::ForegroundColor = ConsoleColor::Green;
                       
        else
        if(numero==3)
                        Console::ForegroundColor = ConsoleColor::Cyan;
                       
        else
        if(numero==4)
                        Console::ForegroundColor = ConsoleColor::Red;
                       
        else
        if(numero==5)
                        Console::ForegroundColor = ConsoleColor::Magenta;
                       
        else
                Console::ForegroundColor = ConsoleColor::Yellow;
       
}

int main(array<System::String ^> ^args)
{
        Console::WindowWidth=80;

       

char vec1[80]={"       ***** ** \n"};
char vec2[80]={"    ****** **** * \n"};
char vec3[80]={"   **   * *  **** \n"};
char vec4[80]={"  *     * *   ** \n"};
char vec5[80]={"       * *       \n"};
char vec6[80]={"       ***  **       **                                         *****  ***** \n"};
char vec7[80]={"       **   **       **  *** **** ****      *****      ****       **** ******\n"};
char vec8[80]={"       **   **       **   *** **** ***     ********   *******       * **  ***\n"};
char vec9[80]={"       **   **       **     **  **** ***   **    **   **   ***       **\n"};
char vec10[80]={"       **   **       **     **   **   **   **    **   ********       **\n"};
char vec11[80]={"        *   **       **     **   **   **   **    **   ****           **\n"};
char vec12[80]={"  **    *   **       **     **   **   **   *******    ****   **      ***\n"};
char vec13[80]={" ****  *    ********* **     ***  *** ***  ******     ********       ***\n"};
char vec14[80]={" *  * **     *****     **      ***  *** *** **          *****\n"};
char vec15[80]={"*    **                                     **          \n"};
char vec16[80]={"     *                                      **          \n"};
char vec17[80]={"                                            **\n"};
char vec18[80]={"\n"};
char vec19[80]={"\n"};
char vec20[80]={"\n"};
char vec21[80]={"\n"};
char vec22[80]={"\n"};
char vec23[90]={"================================================================================"};
char vec24[90]={"<1>Play\n"};
char vec25[90]={"<2>End Game"};


        while(1)
        {
               
                Random x;
                int numeroDeFila = x.Next(6);
                Console::SetCursorPosition(0,0);
                Console::ForegroundColor = ConsoleColor::White;
                printf(vec1);
                printf(vec2);
                printf(vec3);
                Colorletras(numeroDeFila);
                printf(vec4);
                printf(vec5);
                printf(vec6);
                printf(vec7);
                printf(vec8);
                printf(vec9);
                printf(vec10);
                printf(vec11);
                printf(vec12);
                printf(vec13);
                printf(vec14);
                printf(vec15);
                printf(vec16);
                printf(vec17);
                printf(vec18);
                printf(vec19);
                printf(vec20);
                printf(vec21);
                printf(vec22);
                printf(vec23);
                printf(vec24);
                printf(vec25);
       
               
                for(int i=1; i<=17;i++)
                {
                        Colorletras(numeroDeFila);
                        Console::SetCursorPosition(0,0);
                        int comienza = i;
                        int termina = i+3;
                       
                        if(comienza == 1)
                                Console::ForegroundColor = ConsoleColor::White;

                        printf(vec1);
                        if(comienza == 2)
                                Console::ForegroundColor = ConsoleColor::White;
                        printf(vec2);
                        if(comienza == 3)
                                Console::ForegroundColor = ConsoleColor::White;
                        printf(vec3);
                        if(comienza == 4)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 4)
                                Colorletras(numeroDeFila);
                        printf(vec4);
                        if(comienza == 5)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 5)
                                Colorletras(numeroDeFila);
                        printf(vec5);
                        if(comienza == 6)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 6)
                                Colorletras(numeroDeFila);
                        printf(vec6);
                        if(comienza == 7)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 7)
                                Colorletras(numeroDeFila);
                        printf(vec7);
                        if(comienza == 8)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 8)
                                Colorletras(numeroDeFila);
                        printf(vec8);
                        if(comienza == 9)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 9)
                                Colorletras(numeroDeFila);
                        printf(vec9);
                        if(comienza == 10)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 10)
                                Colorletras(numeroDeFila);
                        printf(vec10);
                        if(comienza == 11)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 11)
                                Colorletras(numeroDeFila);
                        printf(vec11);
                        if(comienza == 12)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 12)
                                Colorletras(numeroDeFila);
                        printf(vec12);
                        if(comienza == 13)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 13)
                                Colorletras(numeroDeFila);
                        printf(vec13);
                        if(comienza == 14)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 14)
                                Colorletras(numeroDeFila);
                        printf(vec14);
                        if(comienza == 15)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 15)
                                Colorletras(numeroDeFila);
                        printf(vec15);
                        if(comienza == 16)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 16)
                                Colorletras(numeroDeFila);
                        printf(vec16);
                        if(comienza == 17)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 17)
                                Colorletras(numeroDeFila);
                        printf(vec17);
                        _sleep(200);
       
                }                     
               
        }
       
_getch();     
                return 0;
}




ESTE ES EL CODIGO MAYOR EN DONDE ESTA LA MAYOR CANTIDAD DE FUNCIONES..!! (el otro es introduccion)

Código (cpp) [Seleccionar]
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <windows.h>

#define MAXBLOQUE 80


int tiempos=1;
char num_vidas=3;
int repeticio=0,nivel=10;

using namespace System;

void Colorletras(int numero)
{
if(numero==1)
Console::ForegroundColor = ConsoleColor::Blue;
else
if(numero==2)
Console::ForegroundColor = ConsoleColor::Green;
else
if(numero==3)
Console::ForegroundColor = ConsoleColor::Cyan;
else
if(numero==4)
Console::ForegroundColor = ConsoleColor::Red;
else
if(numero==5)
Console::ForegroundColor = ConsoleColor::Magenta;
else
    Console::ForegroundColor = ConsoleColor::Yellow;
}


void mostrar_movil(int Px, int Py)
{ System::Console::ForegroundColor=System::ConsoleColor::White;
System::Console::SetCursorPosition(Px,Py-1);
printf("%c",2);
System::Console::SetCursorPosition(Px,Py);
printf("%c",221);
System::Console::SetCursorPosition(Px+1,Py);
printf("%c",47);
System::Console::SetCursorPosition(Px-1,Py);
printf("%c",92);
System::Console::SetCursorPosition(Px,Py+1);
printf("%c",221);
System::Console::SetCursorPosition(Px,Py+2);
printf("%c",186);

}

void borrar_movil(int Px, int Py)
{ System::Console::ForegroundColor=System::ConsoleColor::White;

System::Console::SetCursorPosition(Px,Py-1);
printf("   ");
System::Console::SetCursorPosition(Px,Py);
printf("   ");
System::Console::SetCursorPosition(Px+1,Py);
printf("   ");
System::Console::SetCursorPosition(Px-1,Py);
printf("   ");
System::Console::SetCursorPosition(Px,Py+1);
printf("   ");
System::Console::SetCursorPosition(Px,Py+2);
printf("   ");
}

void vidas(int vidas)
{ int Px,Py;
System::Console::ForegroundColor=System::ConsoleColor::White;
System::Console::SetCursorPosition(Px+1,Py+1);
printf("Vidas %c",vidas);
System::Console::SetCursorPosition(Px+5,Py+1);
printf("%c",vidas--);
}

void tiempo(int vidas)
{
int hora,minuto,segundo,Px,Py;
for(int i=0;i<=1;i++)

System::Console::SetCursorPosition(Px+35,Py+1);
hora=minuto=segundo=0;
do
{System::Console::SetCursorPosition(Px+35,Py+1);
segundo++;
if(segundo>59)
{segundo=0;
minuto++;
}
if(minuto>59)
{minuto=0;
hora++;
}
if(hora>23)
hora=0;
if(kbhit())
break;
printf("%d:%d:%d", hora,minuto,segundo);
Sleep(1800);
}while(true);
}




int main(array<System::String ^> ^args)

{









int hora,minuto,segundo,x,y,dx,dy,vi,i;
char c;

     x=15;
y=12;
dx=dy=1;
vidas(num_vidas);


system("color c7");
System::Console::CursorVisible=false;
System::Random^r= gcnew
System::Random(System::DateTime::Now.Ticks);
///Variables del bloque
int Vecfila[MAXBLOQUE],VecColI[MAXBLOQUE];
int VecColf[MAXBLOQUE],VecColor[MAXBLOQUE];
int NBloques=50;
///variables del muñeco
int Px=5,Py=12;
int estado;///importantisimo
int contador_salto;

////inicial el 1er bloque
Vecfila[0]=15; VecColI[0]=0; VecColf[0]=25;
VecColor[0]=10;
////Pintar
//System::Console::ForegroundColor=System::ConsoleColor(VecColor[0]);
//for(int x=VecColI[0];x<=VecColf[0];x++)
//   {int y=Vecfila[0];
//    System::Console::SetCursorPosition(x,y);
// printf("#");
//   }
///inicializar el resto de bloques
for(int i=1;i<NBloques;i++)
   { int siguiente_fila=r->Next(7);

if(siguiente_fila==0)
Vecfila[i]=Vecfila[i-1]+3;

if(siguiente_fila==1)
Vecfila[i]=Vecfila[i-1]+2;

if(siguiente_fila==2)
Vecfila[i]=Vecfila[i-1]+1;

if(siguiente_fila==3)
Vecfila[i]=Vecfila[i-1]-0;

if(siguiente_fila==4)
Vecfila[i]=Vecfila[i-1]-1;

if(siguiente_fila==5)
Vecfila[i]=Vecfila[i-1]-2;

if(siguiente_fila==6)
Vecfila[i]=Vecfila[i-1]-3;


///inicializar la columna de inicio
VecColI[i]=VecColf[i-1]+4;
///inicializar la columna de fin
VecColf[i]=VecColI[i]+7;
///inicializar el color
VecColor[i]=r->Next(1,15);
   }
estado=0;///estado de reposo
contador_salto=0;
while(1) //while(true)
   {
   while(!kbhit())//mientras que no presiones nada
{ //pintar todos los bloques
   for(int i=0;i<NBloques;i++)
  {System::Console::ForegroundColor=System::ConsoleColor(VecColor[i]);
for(int x=VecColI[i];x<=VecColf[i];x++)
{int y=Vecfila[i];
if(x>=0 && x<80 && y>=0 && y<25)
{System::Console::SetCursorPosition(x,y);
  printf("%c",219);
}
}
  }
   ///Pintar muñeco
mostrar_movil(Px,Py);

//Pintar tiempo


System::Console::SetCursorPosition(35,1);
segundo++;
if(segundo>59)
{segundo=0;
minuto++;
}
if(minuto>59)
{minuto=0;
hora++;
}
if(hora>23)
hora=0;
if(kbhit())
break;
printf("%d:%d:%d", hora,minuto,segundo);


   ///Sleep
Sleep(150);



   ///Borrar bloques
for(int i=0;i<NBloques;i++)
  {System::Console::ForegroundColor=System::ConsoleColor(VecColor[i]);
for(int x=VecColI[i];x<=VecColf[i];x++)
{int y=Vecfila[i];
if(x>=0 && x<80 && y>=0 && y<25)
{System::Console::SetCursorPosition(x,y);
  printf(" ");
}
}
  }




   ///Borrar muñeco
borrar_movil(Px,Py);
 

   ///Calcular nueva posicion de bloques
for(int i=0;i<NBloques;i++)
  {
  VecColI[i]--;
  VecColf[i]--;
  }
   ///Calcular nuevo estado del muñeco
if(estado==1)
{
Py--;
contador_salto++;
if(contador_salto==5)
estado=2;
}
else if(estado==2)
  {
  Py++;//actualizo coordenadas
  }
//si debajo del muñeco hay un bloque
//entonces cambio el estado a 0
bool encontrado=false;
for(int i=0;i<NBloques;i++)
  {
  if((Py+2)+1==Vecfila[i]&&(Px>=VecColI[i]&&Px<=VecColf[i]))
  {
  encontrado=true;
  }
  }
if(encontrado)
estado=0;
else
estado=2;
     }
   //Reconocer la tecla que he presionado
   char tecla=getch();
   //en esta parte solo modificamos estados, no pintamos
   if(tecla==75)
   {borrar_movil(Px,Py);
if(x>2)
x=x-dx;
mostrar_movil(Px,Py);
System::Console::ForegroundColor=System::ConsoleColor::White;
System::Console::SetCursorPosition(Px,Py);
printf(" %c",1);
System::Console::SetCursorPosition(Px,Py+1);
printf("-|-");
System::Console::SetCursorPosition(Px,Py+2);
printf("( (");

System::Console::ForegroundColor=System::ConsoleColor::White;
System::Console::SetCursorPosition(Px,Py);
printf(" %c",1);
System::Console::SetCursorPosition(Px,Py+1);
printf("-|-");
System::Console::SetCursorPosition(Px,Py+2);
printf("||");
}
       if(tecla==77)
{borrar_movil(Px,Py);
  if(x<77)
x=x+dx;
mostrar_movil(Px,Py);
System::Console::ForegroundColor=System::ConsoleColor::White;
System::Console::SetCursorPosition(Px,Py);
printf(" %c",1);
System::Console::SetCursorPosition(Px,Py+1);
printf("-|-");
System::Console::SetCursorPosition(Px,Py+2);
printf(") )");

System::Console::ForegroundColor=System::ConsoleColor::White;
System::Console::SetCursorPosition(Px,Py);
printf(" %c",1);
System::Console::SetCursorPosition(Px,Py+1);
printf("-|-");
System::Console::SetCursorPosition(Px,Py+2);
printf("| |");
   }

   if(tecla==72)
{
if(estado==0)//solo si estoy en reposo
{
  estado=1;//lo hago saltar
  contador_salto++;

   System::Console::ForegroundColor=System::ConsoleColor::White;
   System::Console::SetCursorPosition(Px,Py);
   printf("  ");
   System::Console::SetCursorPosition(Px,Py+1);
   printf("   ");
   System::Console::SetCursorPosition(Px,Py+2);
   printf("  ");
   Py--;
   

   System::Console::ForegroundColor=System::ConsoleColor::White;
   System::Console::SetCursorPosition(Px,Py);
   printf("  ");
   System::Console::SetCursorPosition(Px,Py+1);
   printf("   ");
   System::Console::SetCursorPosition(Px,Py+2);
   printf("  ");
   Py--;
   

   System::Console::ForegroundColor=System::ConsoleColor::White;
   System::Console::SetCursorPosition(Px,Py);
   printf("  ");
   System::Console::SetCursorPosition(Px,Py+1);
   printf("   ");
   System::Console::SetCursorPosition(Px,Py+2);
   printf("  ");
   Py--;
   

   System::Console::ForegroundColor=System::ConsoleColor::White;
   System::Console::SetCursorPosition(Px,Py);
   printf("  ");
   System::Console::SetCursorPosition(Px,Py+1);
   printf("   ");
   System::Console::SetCursorPosition(Px,Py+2);
   printf("  ");
   Py--;

       System::Console::ForegroundColor=System::ConsoleColor::White;
   System::Console::SetCursorPosition(Px,Py);
   printf("  ");
   System::Console::SetCursorPosition(Px,Py+1);
   printf("   ");
   System::Console::SetCursorPosition(Px,Py+2);
   printf("  ");
   Py--;

   
}
}
   }
_getch();
    return 0;
}



ESPERO QUE ME PUEDAN AYUDA URGENTE POR FAVOR....  :(

0xDani

Un consejo, pon los errores que te da el compilador, porque sino es imposible. Y no lo he mirado, pero al final he visto _getch() en vez de getch().

Saludos ;D
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

overxfl0w13

Cita de: daniyo en 24 Junio 2012, 20:33 PM
Un consejo, pon los errores que te da el compilador, porque sino es imposible. Y no lo he mirado, pero al final he visto _getch() en vez de getch().

Saludos ;D

Ahí no está el error mira:

http://msdn.microsoft.com/en-us/library/078sfkak%28v=vs.71%29.aspx

Luego me pondré a leerlo y te digo :)
[/url]

nelxiton

Bueno si en el _getch() no creo que este el error solo es la compilacion cuando quiero meter el programa de arriba con el de alli abajo..!!

ESPERO QUE ALGUIEN ME AYUDE ES URGENTE PLEASE.... :rolleyes:

do-while

#4
¡Buenas!

Asi, de un primer vistazo, ¿¿¿¿Que es esto????

int main(array<System::String ^> ^args)


main tiene dos argumentos (que yo sepa), un entero que indica el numero de argumentos que recive, y un vector de cadenas conteniendo los argumentos que se le pasan. Normalmente se les llama argc y argv, pero puedes llamarlos como quieras mientras sean de los tipos indicados...

^ en C y C++ es un operador binario, XOR, y por mucho que lo sobrecargues, no puedes hacer que sea unario.

Seguro que hay mas errores de este tipo, revisa bien el codigo.

¡Saludos!

PD: ¿De donde sacas las clases que estas utilizando? No veo que estes incluyendo ningun header que las contenga... (windows.h y stdafx.h, vienen de C ¿no?)
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!

nelxiton

NO TENGO NINGUN ERROR DE COMPILACION...!! CUANDO EJECUTO LOS PROGRAMAS APARTE .... SOLO LOS TENGO CUANDO QUIERO UNIR EL UNO CON EL OTRO ... SOLO ESA ES MI PREGUNTA...!!! SOLO ME SALE ERROR EN UN WHILE O EN UN DO- WHILE ...!! CUANDO ENCAJO

0xDani

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM