ayuda proyecto personal, te contacto si quieres

jorgelechuga

Lanero Novato
Se unió
17 Abr 2019
Mensajes
1
buenas tardes , estoy en un curso de programación en c++ para irme metiendo a este ámbito , y en el curso nos dejaron un proyecto libre que debe tener como la fantasía, tengo un laberinto ya hecho con paredes y un jugador que se mueve , pero tengo problemas con la parte que me queda , el laberinto consiste en que hayan 10 tesoros y 3 gnomos , los gnomos te deben hacer cada uno una pregunta , cunado contestes las 3 preguntas y tengas 5 tesoros vas a la salida si tienes todo lo dicho se acaba el juego si no , no , si alguien me puede ayudar , ya se a explicarme que tenga tiempo , o alguien me quiere ayudar , me puede dejar su numero de contacto o gmail , para hablar , me vendría muy bien cualquier ayuda , incluso por la importancia del favor puede ser pago , muchas gracias enserio me vendría muy bien la ayuda

este es el codigo fuente que tengo

#include<windows.h>
#include<iostream>
#include<stdlib.h>
#include<conio.h>
#include<dos.h>
#include<time.h>

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

using namespace std;

int cuerpo[200][2];
int n = 1, tam = 3, dir = 3, tamano;
int x = 10, y = 12;
int xc = 30, yc = 15;
int m = 0, s = 0, h = 0, ms = 0;
int velocidad = 60;
int puntos = 0;
char output[128];
char tecla, nombre[20], f = 46;

void color(int color);

void gotoxy(int x, int y)
{
HANDLE hCon;
COORD dwPos;

dwPos.X = x;
dwPos.Y = y;
hCon = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hCon, dwPos);
}
void OcultaCursor()
{
CONSOLE_CURSOR_INFO cci = {100, FALSE};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cci);
}
void pintar()
{
color(160);
for(int i = 2; i < 78; i++)
{
gotoxy (i, 3);
cout << char(205);
gotoxy(i, 23);
cout << char(205);
}
for(int v = 4; v < 23; v++)
{
gotoxy (2, v);
cout << char(186);
gotoxy(77, v);
cout << char(186);
}
gotoxy (2, 3);
cout << char(201);
gotoxy (2, 23);
cout << char(200);
gotoxy (77, 3);
cout << char(187);
gotoxy(77, 23);
cout << char(188);
}
void guardar_posicion()
{
cuerpo[n][0] = x;
cuerpo[n][1] = y;
n++;
if(n == tam) n = 1;
}
void dibujar_cuerpo()
{
color(160);

for(int i = 1; i < tam; i++)
{
tamano = tam - 1;
gotoxy(cuerpo[0], cuerpo[1]);
cout << char(f);
}
}
void borrar_cuerpo()
{
gotoxy(cuerpo[n][0], cuerpo[n][1]);
cout << " " << "\n " << "\n " ;
}
void teclear()
{
if(kbhit())
{
tecla = getch();
switch(tecla)
{
case ARRIBA :
if(dir != 2) dir = 1;
break;
case ABAJO :
if(dir != 1) dir = 2;
break;
case DERECHA :
if(dir != 4) dir = 3;
break;
case IZQUIERDA :
if(dir != 3) dir = 4;
break;

case 'w' :
if(dir != 2) dir = 1;
break;
case 's' :
if(dir != 1) dir = 2;
break;
case 'd' :
if(dir != 4) dir = 3;
break;
case 'a' :
if(dir != 3) dir = 4;
break;

case 'W' :
if(dir != 2) dir = 1;
break;
case 'S' :
if(dir != 1) dir = 2;
break;
case 'D' :
if(dir != 4) dir = 3;
break;
case 'A' :
if(dir != 3) dir = 4;
break;
}
}
}

void comida(char nombre[20])
{
color(164);
if(x == xc && y == yc)
{
Beep(1000, 100);
xc = (rand() % 72) + 4;
yc = (rand() % 18) + 4;
puntos += 10;
tam++;
gotoxy(xc, yc);
cout << char(162);
}
}

bool game_over()
{
if(y == 3 || y == 23 || x == 2 || x == 77) return false;
for(int j = tam - 1; j > 0; j--)
{
if(cuerpo[j][0] == x && cuerpo[j][1] == y )
return false;
}
return true;
}

void punto()
{
gotoxy (0, 0);
cout << "puntos " << puntos << " " << nombre << " " << tamano;
}

int main()
{

OcultaCursor();
cout << "nombre del jugardo ";
cin >> nombre;
system("cls");
system("color A2");
pintar();
gotoxy(xc, yc);
color(164);
cout << char(162);

while(tecla !=
ESC && game_over())
{

borrar_cuerpo();
guardar_posicion();
dibujar_cuerpo();
punto();

comida(nombre);
teclear();
teclear();
if(dir == 1)
{
y--;
cout << " ";
}
if(dir == 2)
{
y++;
cout << " ";
}
if(dir == 3)
{
x++;
cout << " ";
}
if(dir == 4)
{
x--;
cout << " ";
}

Sleep(60);
}
pintar();
return 0;
}

void color(int color)
{
HANDLE hConsole;
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
// you can loop k higher to see more color choices
// pick the colorattribute k you want
SetConsoleTextAttribute(hConsole, color);
}
 
Arriba