Alguien Me Ayude compilar Esto Y Corregir

Neto98 Seguir

Eta
Diseñador
Verificación en dos pasos activada
Desde
6 Jul 2014
Mensajes
1.387
Hola Betas, Estaba trabajando para un un codigo c++ es de un juego simple de una navecita pero ya intente y intente y siempre sale mal :/

no se como o encontrar estos errores que tengo, si alguien tuviera tiempo de ver estos esos errores se los agradeceria si lo pudieran coregir

http://pastebin.com/raw.php?i=RQf7Wx4H


Gracias


- - - Actualizado - - -
 
Última edición:

Saag10

Gamma
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
2 Jul 2015
Mensajes
276
Parece que mi proovedor ha bloqueado pastebin, no puedo entrar, ¿podrías subir el documento a algún servidor? o alguna otra alternativa, con gusto le echo un vistazo .
 

Neto98

Eta
Diseñador
Verificación en dos pasos activada
Desde
6 Jul 2014
Mensajes
1.387
Mira Este es el que yo copie todito en mi c++ de un pdf que nos paso el profe

Insertar CODE, HTML o PHP:
#include <stdio.h>
#include <windows.h>
#include <conio.h>
#include <stdlib.h>
#include <list>
using namespace std;


#define ARRIBA 72
#define IZQUIERDA 75
#define DERECHA 77
#define ABAJO 80


void gotoxy(int x, int y){
	HANDLE hCon;
	hCon = GetStdHandle(STD_OUTPUT_HANDLE);
	COORD dwPos;
	dwPos.X = x;
	dwPos.Y = y;
	
	SetConsoleCursorPosition(hCon, dwPos);
	
}

void ocultarcursor(){
	HANDLE hCon;
	hCon = GetStdHandle(STD_OUTPUT_HANDLE);
	CONSOLE_CURSOR_INFO cci;
	cci.dwSize =2;
	cci.bVisible = FALSE;
	
	SetConsoleCursorInfo(hCon, &cci);
}

class NAVE{
	int x,y;
	int corazones;
	int vidas;
	public:
	    NAVE(int _x,int _y,int _corazones,int _vidas):x(_x),y(_y),corazones(_corazones),
	    vidas(_vidas){}
		int X(){return x;}
		int Y(){return y;}
		void COR(){corazones--;}
		void pintar ();
		void borrar ();
		void mover ();
		void pintar_corazones();
		void morir();
		int VID() {return vidas;}
		};
		
		void NAVE::pintar(){
			gotoxy(x,y); printf(" %c", 30);
			gotoxy(x,y +1); printf("%c%c%c", 40, 207, 41);
			gotoxy(x,y +2); printf("%c%c%c%c", 30, 190, 190, 30);
		}
		
		void NAVE::borrar(){
			gotoxy(x,y); printf("    ");
			gotoxy(x,y+1); printf("    ");
			gotoxy(x,y+2); printf("    ");
		}
		
		void NAVE::mover(){
			if(kbhit()){
				char tecla = getch();
				borrar();
				if(tecla==IZQUIERDA && x > 3)x--;
				if(tecla==DERECHA && x+6 <75)x++;
				if(tecla==ARRIBA &&y>4)y--;
				if(tecla==ABAJO && y+3<23)y++;
				if(tecla=='e')corazones--;
				pintar();
				pintar_corazones();
		}
		}
		void NAVE::pintar_corazones(){
			gotoxy(50,2); printf("vidas %d",vidas);
			gotoxy(64,2); printf("Salud");
			gotoxy(70,2); printf("    ");
			for(int i=0; i < corazones; i++){
				gotoxy(70+i,2); printf("%c",3);
			}
		}
		void NAVE::morir(){
			if(corazones ==0){
				borrar();
				gotoxy(x,y); printf(" ** ");
				gotoxy(x,y + 1); printf(" *** ");
				gotoxy(x,y + 2); printf(" ** ");
				Sleep(200);
				
				borrar();
				gotoxy(x,y); printf("* ** *");
				gotoxy(x,y + 1); printf(" *** ");
				gotoxy(x,y + 2); printf("* ** *");
				Sleep(200);
				borrar();
				vidas--;
				corazones=3;
				pintar_corazones();
				pintar();
			}
		}
		void pintar_limites(){
			for(int i =2; i<78; i++){
				gotoxy(i,3); printf("%c",205);
				gotoxy(i,33); printf("%c",205);
			}
			
			for(int i=4; i<33;i++){
				gotoxy(2,i); printf("%c",186);
				gotoxy(77,i); printf("%c",186);
			}
				gotoxy(2,3); printf("%c",201);
				gotoxy(2,33); printf("%c",200);
				gotoxy(77,3); printf("%c",187);
				gotoxy(77,33); printf("%c",188);
		}
		class AST{
			int x, y;
			public:
				AST(int _x, int _y):x(_x),y(_y){}
				void pintar();
				void mover();
				void choque(class NAVE &N);
				int X() {return x;}
				int Y() {return y;}
				};
				
				void AST::pintar(){
					gotoxy(x,y); printf("%c", 184);
				}
				void AST::mover(){
					gotoxy(x,y); printf("");
					y++;
					if(y>32){
						x=rand()%71+4;
						y=4;
					}
					pintar();
				}
				void AST::choque(class NAVE &N){
					if(x>=N.X() && x < N.X() + 6 && y<=N.Y() +2){
						N.COR();
						N.borrar();
						N.pintar();
						N.pintar_corazones();
						
						x=rand()%71+4;
						y=4;
					}
				}
				class BALA{
					int x,y;
					public:
						BALA(int _x, int _y):x(_x),y(_y){}
						int X(){return x;}
						int Y(){return y;}
						void mover();
						bool fuera();
						};
						void BALA::mover(){
							gotoxy(x,y); printf(" ");
							
							y--;
							gotoxy(x,y); printf("*");
						}
						
						bool BALA::fuera(){
							if(y==4){
								return true;
							}
							else{
								return false;
							}
						}
						
						
						int main(){
							pintar_limites();
							ocultarcursor();
							NAVE N(37,30,3,3);
							N.pintar();
							N.pintar_corazones();
							list<AST*>A;
							list<AST*>::iterator itA;
							
							for(int i=0; i<5; i++){
								A.push_back(new AST(rand()%75 + 3, rand()%5+4));
							}
							list<BALA*>B;
							list<BALA*>::iterator it;
							
							bool game_over=false;
							int puntos=0;
							
							while(!game_over){
								gotoxy(4,2); printf("Puntos %d", puntos);
								
								if(kbhit()){
									char tecla=getch();
									if(tecla=='a');
									B.push_back(new BALA(N.X() +2, N.Y() -1));
								}
								
								for(it=B.begin(); it!= B.end(); it++){
									
									(*it)->mover();
									if((*it)->fuera()){
										gotoxy((*it)->X(), (*it)->Y()); printf("");
										delete(*it);
										it=B.erase(it);
									}
								}
								
								for(itA=A.begin(); itA != A.end(); itA++){
									(*itA)->mover();
									(*itA)->choque(N);
								}
								for(itA=A.begin(); itA !=A.end(); itA++){
									for(it=B.begin();it!=B.end();it++){
									if((*itA)->X()==(*it)->X()&& ((*itA)->y()+1==(*it)->Y() || (*itA)->Y()==(*it)->Y() ))
									{
										gotoxy((*it)->X(),(*it)->Y());printf("");
										delete(*it);
										it=B.erase(it);
										
										A.push_back(new AST(rand()%74+3,4));
										gotoxy((*itA)->X(),(*itA)->Y()); printf("");
										delete(*itA);
										itA=A.erase(itA);
										
										puntos+=5;
										}	
									}
								}
							}
							if(N.VID()==0)game_over=true;
							N.morir();
							N.mover();
							Sleep(30);
						}
						system("pause");
						return 0;
						}
					}
				}
			}
		}
	}

y este es el pdf o el extracto hehe pero tiene fallos el juego :(

https://drive.google.com/file/d/0B6YSattthNjncW1oMmJjUzJzdEU/view

[MENTION=143271]Saag10[/MENTION]

Gracias
 

Climboing

Beta
Videoblogger
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Nov 2014
Mensajes
78
Apenas estoy empezando a estudiar programación, voy empezando con c++, asi que no pude resolverte al 100%

En la linea 182 pon un ";" despues de int main() quedara asi "int main();", obviamente se que normalmente no van las comillas ahi, pero ponlas y veras que pone, al parecer no cerraste algo y creo que mas que nadie como tu conoces mejor tu código.

Sabes algo que me han dicho mis maestros es que ponga anotaciones en el código para no confundirme, al principio me daba flojera jaja pero me ahora me ayudan bastante. Suerte! Se ve bueno el juego:encouragement:
 

Saag10

Gamma
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
2 Jul 2015
Mensajes
276
Las bibliotecas STL es hablar de algo mas complicado, así a simple vista no veo errores, supongo que te hará falta alguna librería.
Mándame los errores que te arroja.

P.D. No pongas el punto y coma despues de int main() , esto solo ocasionará error.
 

Neto98

Eta
Diseñador
Verificación en dos pasos activada
Desde
6 Jul 2014
Mensajes
1.387
No lo puedes compilar hehw el mio no compila pweo el del link si pero no sale bien wl juego
 

Saag10

Gamma
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
2 Jul 2015
Mensajes
276
No lo puedes compilar hehw el mio no compila pweo el del link si pero no sale bien wl juego

Yo uso Linux, no me funciona la librería windows.h, ¿que IDE utilizas? , casi estoy seguro que te falta una librería de las que pusieron en include
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba