elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  MiniJuego en C++ - En desarrollo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: MiniJuego en C++ - En desarrollo  (Leído 7,397 veces)
JuanCPLUS

Desconectado Desconectado

Mensajes: 2


Ver Perfil
MiniJuego en C++ - En desarrollo
« en: 28 Septiembre 2012, 03:36 am »

Hola! este es mi primer tema aquí en el elhacker.net

Aquí les traigo un código de un juego que estoy empezando a desarrollar.

Citar
// Pequeño juego en C++ - 2012
// Versión: 0.1
// http://www.cplus-facilito.blogspot.mx/
// Compilado con DevC++
// Teclas de movimiento: W,S,A,D

// Si no desean crear gotoxy, pueden usar un bucle
// Un contador, que cuente el valor de Y y otro de X
// Cada vez que de vuelta pasa línea

// Para cambiar velocidad de movimiento
// cambia el valor del eje X y Y
// en sus respectivas funciones

// Funciona igual con un bucle pero se necesita más código
// Lo desarrolle así para facilitar el entendimiento

//Librerías que ocuparemos
#include <iostream> // Librería básica C++
#include <conio.h>  // Librería extra para usar getch
#include <windows.h> // Librería para poder desarrollar gotoxy

using namespace std; // Evitar la escritura de std en iostream

// Declarar todos los objetos
void personaje_arriba();
void personaje_abajo();
void personaje_izquierda();
void personaje_derecha();
void gotoxy();
void juego();

// Personaje Arriba
char personaje_arriba1[]={' ','X',' ',0};
char personaje_arriba2[]={'X','X','X',0};
char personaje_arriba3[]={'X',' ','X',0};
// Personaje Abajo
char personaje_abajo1[]={'X',' ','X',0};
char personaje_abajo2[]={'X','X','X',0};
char personaje_abajo3[]={' ','X',' ',0};
// Personaje Izquierda
char personaje_izquierda1[]={' ','X','X',0};
char personaje_izquierda2[]={'X','X',' ',0};
char personaje_izquierda3[]={' ','X','X',0};
// Personaje Derecha
char personaje_derecha1[]={'X','X',' ',0};
char personaje_derecha2[]={' ','X','X',0};
char personaje_derecha3[]={'X','X',' ',0};

// Variable tecla
char tecla;
// Eje X y Y
int x=0, y=0;

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

// Función principal - MENU
int main() {
    printf("\n\n\n");
    printf("          -------------------------------------------------------\n");
    printf("          -                   JUEGO EN C++                      -\n");
    printf("          -------------------------------------------------------\n");
    printf("          -                                                     -\n");
    printf("          -                                                     -\n");
    printf("          -       Presione cualquier tecla para iniciar         -\n");
    printf("          -                                                     -\n");
    printf("          -                                                     -\n");
    printf("          -                                                     -\n");
    printf("          -                                                     -\n");
    printf("          -------------------------------------------------------\n");
    gotoxy(0,0); // Cursor al inicio
    int menu = getch();
    juego();
    return 0;
}

// Función Juego
void juego() {
    x=37; //Iniciamos en el centro
    y=12;
    personaje_arriba(); // Mostramos el personaje
    do {
       tecla = getch();
       if (tecla == 'w' || tecla == 's' || tecla == 'a' || tecla == 'd' || tecla == 'W' || tecla == 'S' || tecla == 'A' || tecla == 'D') {
          if (tecla == 'w' ||tecla == 'W')
             personaje_arriba();
          if (tecla == 's' || tecla == 'S')
             personaje_abajo();
          if (tecla == 'a' || tecla == 'A')
             personaje_izquierda();
          if (tecla == 'd' || tecla == 'D')
             personaje_derecha();
        }
          
    }while(1); // Mientras sea verdadero se repite (siempre)
    cin.get();
}

// Posibles movimientos de nuestro personaje
void personaje_arriba() {
     if (y>=3) {
        system("cls");
        y-=3;
     }
     gotoxy(x,y); puts(personaje_arriba1); //Situar en el eje
     gotoxy(x,y+1); puts(personaje_arriba2); // Situar un espacio después del eje(que no queden en el mismo renglon)
     gotoxy(x,y+2); puts(personaje_arriba3); // Situar dos espacios después del eje
     gotoxy(0,0); // Cursor siempre en el inicio
}
void personaje_abajo() {
     if (y<=18) {          
        system("cls");
        y+=3;
     }
     gotoxy(x,y); puts(personaje_abajo1);//Situar en el eje
     gotoxy(x,y+1); puts(personaje_abajo2);// Situar un espacio después del eje(que no queden en el mismo renglon)
     gotoxy(x,y+2); puts(personaje_abajo3);// Situar dos espacios después del eje
     gotoxy(0,0); // Cursor siempre en el inicio
}
void personaje_izquierda() {
     if (x>=3) {
        x-=3;
        system("cls");
     }
     gotoxy(x,y); puts(personaje_izquierda1);//Situar en el eje
     gotoxy(x,y+1); puts(personaje_izquierda2);// Situar un espacio después del eje(que no queden en el mismo renglon)
     gotoxy(x,y+2); puts(personaje_izquierda3);// Situar dos espacios después del eje
     gotoxy(0,0); // Cursor siempre en el inicio
}
void personaje_derecha() {
     if (x<75) {
        x+=3;
        system("cls");
     }
     gotoxy(x,y); puts(personaje_derecha1);//Situar en el eje
     gotoxy(x,y+1); puts(personaje_derecha2);// Situar un espacio después del eje(que no queden en el mismo renglon)
     gotoxy(x,y+2); puts(personaje_derecha3);// Situar dos espacios después del eje
     gotoxy(0,0); // Cursor siempre en el inicio
}


« Última modificación: 28 Septiembre 2012, 03:42 am por JuanCPLUS » En línea

Puntoinfinito


Desconectado Desconectado

Mensajes: 919


#! /win/archlinux


Ver Perfil WWW
Re: MiniJuego en C++ - En desarrollo
« Respuesta #1 en: 7 Octubre 2012, 20:35 pm »

Eso és C


En línea

AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.
yogui20077

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: MiniJuego en C++ - En desarrollo
« Respuesta #2 en: 10 Octubre 2012, 11:20 am »

Se ejecuta perfectamente en c++ mis felicitaciones amigo  ;-)
En línea

dato000


Desconectado Desconectado

Mensajes: 3.034



Ver Perfil
Re: MiniJuego en C++ - En desarrollo
« Respuesta #3 en: 10 Octubre 2012, 14:13 pm »

no sirve en linux por el conio.h

es una completa molestia ese conio.h, instalarlo en linux es una tortura.
En línea


Saberuneko


Desconectado Desconectado

Mensajes: 2.194



Ver Perfil WWW
Re: MiniJuego en C++ - En desarrollo
« Respuesta #4 en: 10 Octubre 2012, 14:57 pm »

Está utilizando alguna de las funciones del conio.h? Si no las utiliza, entonces no haría falta siquiera de importar conio.h. :3
En línea

Erres

Desconectado Desconectado

Mensajes: 30



Ver Perfil
Re: MiniJuego en C++ - En desarrollo
« Respuesta #5 en: 11 Octubre 2012, 01:49 am »

me gusta mucho!, felicidades!
En línea

En lo que sea, pero el mejor.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines