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...!!
#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)
#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.... :(
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
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 :)
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:
¡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?)
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
Pues me parece que no te has explicado muy bien.