Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - vangodp

#1
 Ola, saludos.

Alguien sabe si es posible, y como se hace, para mudar la extensión de un makefile en windows? Es decir... cuando tengo un simples makefile debemos llamarlo dentro del cmd con la siguiente linea:
Código (dos) [Seleccionar]
C:\Users\loco\Desktop>make makefile.win
Sé que en linux no tiene extención pero la pregunta es... ¿Se puede configurar make en windows para aceptar extención?

Algo tipo:
Código (dos) [Seleccionar]
C:\Users\loco\Desktop>Make=*.mak;*.mk;GNUmakefile;makefile;Makefile;makefile.*;Makefile.*;

A idea es hacer que make acepte nuevas exenciones y nombres.
#2
¡Hola, buenas amigos!
Estoy liado con un tema que me anda consumiendo XD
Ya estuve buscando por todas las partes pero poco encontré =(.
Estoy intentando hacer un scrollbar.
Me estoy dando mil vueltas para conseguirlo.
En Internet hay millones de resultados para java, c# ,html... pero para C++ nada de nada, y lo comprendo ya que c++ no es una librería gráfica. XD
Mi intención es hacer un scrollbar para un menú de un juego en SFML pero no se como hacer.
Lo que he logrado hasta ahora es conseguir saber el tamaño de la barra de scroll según el tamaño del contenido de la imagen.
Dejo una imagen para que lo vean mejor.

No se como lograr que al desplazar la barra hacia abajo mostre el restante del contenido.
Tengo un código echo en miniwin con la ventana y la barra ya con su ancho pero no logro hacer el resto =((
Hojala me puedan ayudar.
Dejo el código de miniwin:
Código (cpp) [Seleccionar]

#include "miniwin.h"
#include <iostream>
#include <sstream>
#include <cmath>
using namespace miniwin;

int main(){
    float ancho = 800;             
    float alto  = 600;             
    float x     = 0;                 //parte de arriba de la pantalla
    float y     = 0;                 //parte izquierda de la pantalla
    float izq   = ancho-20;
    float arr   = y;
    float aba   = y+ancho;
    float der   = izq+20;     
    float borde_izquierdo = 0;     
    float borde_derecho   = ancho;
    float retraso         = 1000;   
    float velocidad       = 5;     
    float total           = 2000;     //contenido
    float visible         = alto;     //area visible del contenido(ventana)
    float scrollbar       = alto;     //digamos que es el rail donde puede desplazar la barra este es el alto de la pantalla
    float anchoBarra      = 0;        //tamaño de la barra segun el tamaño contenido
    std::stringstream ss;        //necesario para imprimir ya que miniwin no permite abrir consola.
    int t;                       
    vredimensiona(ancho, alto);
   
   

    while ( true ) {
        //LOGICA DE JUEGO
        anchoBarra = ( visible / total ) * scrollbar; //ancho de la barra.
        ss << anchoBarra;
       
        t = tecla();

        if(t==ARRIBA){
            //Desplazar hacia arriba
        }
        if(t==ABAJO){
            //Desplazar hacia abajo
        }
       
        //PINTAMOS CAMBIOS   
        color(VERDE);
        rectangulo_lleno( x, y, x+800-20, total);     //contenido
        color(ROJO);
        rectangulo_lleno( izq, arr, der, anchoBarra); //barra       
        texto(0,0,ss.str());
        refresca();                 
        borra();                     
        espera(retraso);             
    }//FIN GAMELOOP

    return 0;
}

Si quieren probar el código miniwin se puede bajar de aquí: http://miniwin.readthedocs.org/en/latest/
Es un proyecto de codeblocks. Aquí tiene una explicación de las funciones de miniwin:
http://miniwin.readthedocs.org/en/latest/
Lo hago en miniwin por que es sumamente fácil en esta librería, pero tengo pensado llevar eso a SFML. Si para vosotros es mejor SFML seria genial.
No os pido que me lo hagan solo si me pueden echar un cable o alguna pagina que pueda tirar esa duda.
¡Gracias desde ya! Un saludo.  ;-)
#3
¡Hola! vengo a molestar un poco mas hoy =D
¿Alguien sabe si se puede hacer que SFML se busque las DLL en una determinada carpeta?
Tengo un proyecto y me gustaria que cada cosa se quedara en sus carpetas bonititas XDD, ya que es para hacer una plantilla de un proyecto.

Como veen el ejecutable se crea en la carpeta base del proyecto y las dlls estan en la carpeta bin, pero el exe quiere tenerlos juntos en la misma carpeta.
No se si se puede es solo una pregunta :)
¡¡Gracias!! :laugh:

por si es necesario uso el codeblocks.

EDIT
me contesto a mi mismo ya que no tube respuesta jeje.
Espero que no me coma a bocal ethernal :laugh:
He incluido la carpeta bin en el PATH y todo listo ^^
Pense que en codeblocks se podia configurar eso pero no encuentro nada.
suerte!
#4
Programación C/C++ / Memoria dinamica?
29 Abril 2014, 16:17 PM
bueno compañeros =D

Llevo ya algún tiempo leyendo lo de cpp tal y tal, algunas cosas las he comprendido otras no tanto, pero ya me muevo algo.
Cosas como clases, punteros, algo de herencia y polimorfismo, tablas y tablas multi dimensionales...
Algunas cosas me quedaron claras otras menos y algunas se me van olvidar que le voy hacer.
Si hay una cosa que he ido dejando palante palante es la memoria dinámica.  :xD
Claro que la he leído y se declarar un int con el puntero y new... Cosillas pequeñas aparte soy partidario de cpp, se que se usa new y el delete para crear y liberar lo normalito.
Os diré lo que se y si me pueden arroyar algo de luz seré muy feliz  ;D
Se que en cpp se usa el new y el delete, en c se usa alloc, malloc y otros, pero nunca los use. En c se puede redimensionar las tablas "creo"...con ralloc. ¿No?
Hasta aquí nada nuevo.
Ha llegado el día que yo harto cardo me he armado de valor para intentar entender eso. =D
Así que cualquier cosita que me esclarezca es bienvenida y ya me apañare para aprender, necesito consejillos vamos.
¿Es mejor usar c o c++ para la memoria dinámica?Digo por que lo que tengo son mas preguntas que respuestas.
¿En c++ alloc permite crear objetos no típicos de c como clases?
¿Las tablas se pueden redimensionar usando new y delete de cpp? Dicen algunos que use la clase vector solamente¿Es que no hay otra forma forma? =(
¿Es verdad que no se puede mezclar esas cosillas XDD??
En fin...¿Cual es mejor  y por que lo es  o para que es mejor cada cosa?

Gracias de antemano chicos. ¡Mucha suerte! ^^


#5
A ver chicos :D
Necesito esclarecer una dudita.
En el libro de deitel sobre las cadenas de caracteres tal y tal dice que es mejor una tabla o arreglo de char que una cadena literal.
A ver me explico por si las moscas:
una cadena literal es esto:

char tabla[]="sopita";

y una tabla de chars es esto:

char tabla2[] = {'s','o','p','i','t','a','\0'};

Pensaba que era lo mismo  :huh:  :o

Dice que si hago como cadena literal puede que el sistema la almecene en un lugar de la memoria que no me deje cambiar y que de la otra forma garantizo la posibilidad de cambio en un futuro.
Gracias de antemano  ;-)

c tiene mas gato encerrado que el copón XDD hay que estar atento a muchas cosas.
#6
Bueno Gracias de antemano si alguien sabe algo sobre eso.
El caso es que viendo un vídeo en youtube me di con una cosa que denominada slicyng según el dueño del vídeo(Outkast) es algo como recorte de funciones.
https://www.youtube.com/watch?v=_qS9YfxxdDw
Hice un código sencillo ya que como novato para mi es mejor así :D
Código (cpp) [Seleccionar]

#include <iostream>
using namespace std;

class base {
   public:
       base(){}
       ~base(){}
       virtual void comunicar() { cout << "BASE!" << endl; }        
};
class derivada: public base {
   public:
       derivada() {}
       ~derivada(){}
       void comunicar() { cout << "DERIVADA!" << endl; }  
};                                                        
void punte( base* c ){c->comunicar();}
void refer( base &c ){c.comunicar();}
void valor( base c  ){c.comunicar();}                        

int main (){      
   derivada *miclase = new derivada;    
   punte(  miclase );     //puntero
   refer( *miclase );    //referencia
   valor( *miclase );   //valor
   
   delete miclase;
   miclase = NULL;                      
   cin.ignore();
   return 0;
}


Según el o lo que entendí..a ver como lo explico rápido: En las funciones punte(), refer() y valor(), paso a ellas sus respectivos valores(punteros, referencia y valor) de una función creada en el heap llamada miclase que es la clase derivada.

¿Por que cuando llamo a las funciones, esas funciones esperan la clase base, sin embargo les paso la derivada y obtengo resultados de esta clase? Exceptuando cuando lo paso por valor ¡WTF!
O sea que puedo acceder a las clases heredadas desde las clases base si hago con puntero o referencia. :/
Menudo raleo me esta haciendo eso jejej
¿Eso es por la tal tabla virtual?
En fin a ver si es eso cierto por que ya tengo una stormbrain con eso de acceder por todas las partes a las clases jeje
Y eso que ha dicho que el gordo aun esta por venir XDD
Saludos ^^
Y gracias de antemano si alguien me puede explicar eso de forma mas sencilla. ;-)



#7
Buenas compañeros.
Una pregunta sobre la consola.
Imagine que entro con un comando cualquier como ipconfig /all...
Lógicamente va a devolverme todo los numerillos de la red  :xD
Hay alguna forma de leer esos datos para hacer con ellos algo interesante como guardarlos o lo que sea?
Ya se que esta el comando netsh y otros para ip pero repito, la cuestión es: ¿Puedo leer esos datos?  :huh:
O otra cosa que pienso es si se puede leer esto y pasarlo a modo gráfico con alguna libreria como sdl(cosas mias vamosXD). :3
¡Gracias y saludo a los foreros! ;-)

PD: Uso XP por si necesitan saber, pero me vale también para 7 linux o lo que sea.
Lo que quiero es pillar la punta del hilo que no se por donde meter mano.
Cuando pongo leer datos por la consola me sale siempre leer desde teclado o me da cosas como el uso de int argc, char *argv[]. No se si es la única forma de hacer.
Si saben alguna pagina para poder entenderlo para dumies.
#9
La encontre y me parecio muy muy util.
¿Alguien sabe alguna parecida?
:huh: http://www.zator.com/Cpp/E_Ce.htm
#10
Programación C/C++ / Control de sonido.
10 Enero 2014, 09:52 AM
Eh buscado por todas las partes y no se como se puede hacer, o si se puede hacer.
Mi pregunta es: ¿Se puede cambiar (subir/bajar) el sonido en windows xp con cpp?  :rolleyes:
#11
Un buen día encontré eso navegando por internet.
No se si les va servir pero me pareció interesante.
Es sobre algoritmo de búsqueda A*
Si alguien sabe algún libro o pdf o algun enlace bueno, pueden poner aquí por favor.

A* Pathfinding para Principiantes http://www.policyalmanac.org/games/articulo1.htm
Heuristica y A* Pathfinding http://www.policyalmanac.org/games/articulo2.htm
Pathfinding A* de 2 niveles http://www.policyalmanac.org/games/articulo3.htm
Usando Pilas Binarias en un Pathfinding A* http://www.policyalmanac.org/games/articulo4.htm




Pongo algo mas aquí.
Nadie se atreve?
Donde están los creadores de juegos?  :huh:

http://www.gamasutra.com/view/feature/131505/toward_more_realistic_pathfinding.php

:xD
#12
http://www.youtube.com/playlist?list=PLTd5ehIj0goPWUzoZ7hi8v61SEpkA6AsM


Unos tutoriales en vídeo del usuario Makigas.
Nota: Esta iniciando lleva como unos 4 capitulos, con un poco de apoyo a lo mejor se pone las pilas  ;D
#13
 ;D ;D ;D

SDL 2.0 lista por fin!!!
Quien va a ser el primer en sacar algun tutorial, yo aun soy muy nuevo jajaja
#14
Programación C/C++ / Composición??
16 Agosto 2013, 03:36 AM
Hola compaeros de el hacker.
Si no fuera mucho molestar me poden pasar algun ejemplo facil sobre el tema de las composiciones en c++.
Ya estuve aqui antes preguntando pero nada me quede atrancado ahi y no encuentro ejemplos o videos o pdfs sobre el tema :(
Gracias y perdonar las molestias
#15
Programación C/C++ / HELLLLP !!!
27 Julio 2013, 19:39 PM
Hola!!!
A ver si alguien puede ayudar a que entienda el codigo este.
Eh entendio todo sobre c++ hasta lidar con este codigo lioso jajaj.
Si alguien puede no se comentar el codigo que hace cada linea, estaria muy agradecido.
Muchas gracias por adelantado.

El header:

Código (cpp) [Seleccionar]
//rect.hpp
#include <iostream>
class Punto //aloja las coordenadas x,y
{
     // No hay constructor, usar el predeterminado.
public:
      void ConfigurarX (int x) { suX = x; }
      void ConfigurarY (int y) { suY = y; }
      int ObtenerX () const { return suX; }
      int ObtenerY () const { return suY; }
private:
       int suX; //20
       int suY; //100
};   // Fin de la declaracion de la clase Punto.

class Rectangulo
{
public:
      Rectangulo (int superior, int izquierdo, int inferior, int derecho);
      ~Rectangulo() {}
      int ObtenerSuperior() const {return suSuperior;}
      int ObtenerIzquierdo() const {return suIzquierdo;}
      int ObtenerInferior() const {return suInferior;}
      int ObtenerDerecho() const {return suDerecho;}
     
      void ConfigurarSuperior(int superior) {suSuperior = superior;}
      void ConfigurarIzquierdo(int izquierdo) {suIzquierdo = izquierdo;}
      void ConfigurarInferior(int inferior) {suInferior = inferior;}
      void ConfigurarDerecho(int derecho) {suDerecho = derecho;}
     
      Punto ObtenerSuperiorIzquierdo () const {return suSuperiorIzquierdo;}
      Punto ObtenerInferiorIzquierdo () const {return suInferiorIzquierdo;}
      Punto ObtenerSuperiorDerecho () const {return suSuperiorDerecho;}
      Punto ObtenerInferiorDerecho () const {return suInferiorDerecho;}
     
      void ConfigurarSuperiorIzquierdo(Punto Location) {suSuperiorIzquierdo = Location;}
      void ConfigurarInferiorIzquierdo(Punto Location) {suInferiorIzquierdo = Location;}
      void ConfigurarSuperiorDerecho(Punto Location) {suSuperiorDerecho = Location;}
      void ConfigurarInferiorDerecho(Punto Location) {suInferiorDerecho = Location;}
     
      int ObtenerArea() const;
private:
       Punto suSuperiorIzquierdo;
       Punto suSuperiorDerecho;
       Punto suInferiorIzquierdo;
       Punto suInferiorDerecho;
     
      int suSuperior;
      int suIzquierdo;
      int suInferior;
      int suDerecho;
};//fin de rect.hpp


Y el C++

Código (cpp) [Seleccionar]

//rect.cpp
#include "rect.hpp"
Rectangulo::Rectangulo (int superior, int izquierdo, int inferior, int derecho)
{
       suSuperior = superior;
       suIzquierdo = izquierdo;
       suInferior = inferior;
       suDerecho = derecho;
       
       suSuperiorIzquierdo.ConfigurarX(izquierdo);
       suSuperiorIzquierdo.ConfigurarY(superior);
       
       suSuperiorDerecho.ConfigurarX(derecho);
       suSuperiorDerecho.ConfigurarY(superior);
       
       suInferiorIzquierdo.ConfigurarX(izquierdo);
       suInferiorIzquierdo.ConfigurarY(inferior);
       
       suInferiorDerecho.ConfigurarX(derecho);
       suInferiorDerecho.ConfigurarY(inferior);
}

int Rectangulo::ObtenerArea() const
{
   int Ancho = suDerecho-suIzquierdo;
   int Alto = suSuperior-suInferior;
   return (Ancho * Alto);
}


int main ()
{
   //inicializa una variable Rectangulo local
   Rectangulo MiRectangulo (100, 20, 50, 80);
   int Area = MiRectangulo.ObtenerArea();
   std::cout << "Area: " << Area << "\n";
   std::cout << "Cordenada X SuperiorIzquierda: ";
   std::cout << MiRectangulo.ObtenerSuperiorIzquierdo().ObtenerX()<< "\n";




   system ("pause>nul");
   return 0;
}



Gracias hackers ^^!! ;-)





basicamente mi rollo es con las lineas :
31 a 34 y 43 a 46 del rect.hpp
No tengo ni idea que hacen estas lineas XD
#16
Hola compaeros!
La verdad es la primera vez que escribo en el foro, no por interes sino por ser un leigo en el tema de la programacion.
Eh decidido poner mano a la maza y aprender c++, me va bastante bien de momento excepto por un problema que no se que es y me preguntava si alguien con mejores luces y conocimientos que yo me puede decir el por que dev dice que 2+2 no es 4 y ya me estoy desesperando.
Segun el libro que estoy leendo todo esta bien, de echo el programa corre perfecto sin avisos de error.

pero creo que el error esta en la linea: int suma = num1 + num2;
Como dije segun el libro es perfectamente legal hacer esto pero ya no se que penzar.
Echen una mirada al codigo, es de lo mas extraño que vi, segun dev c++ si pongo 2+2 me dice que es 0 :/

#include <iostream>
#include <stdlib.h>


using namespace std;

int main ()
{

    int num1;
    int num2;

    int suma = num1 + num2; //creo que el problema esta aqui :(


    cout << "Introduce el primer numero\n"<<endl;
    cin >> num1;

    cout << "Introduce el segundo numero\n"<<endl;
    cin >> num2;

    cout << "El resultados es: " << suma << "\n" <<endl; //al invocar suma a mi no me sale por ejempo 2+2 me dice que es 0 :/

    system ("pause");
    return 0;
}



De esta manera funciona pero no puedo asignar el resultado a una variablecomo el codigo de arriba??

#include <iostream>
#include <stdlib.h>


using namespace std;

int main ()
{

    int num1;
    int num2;


    cout << "Introduce el primer numero\n"<<endl;
    cin >> num1;

    cout << "Introduce el segundo numero\n"<<endl;
    cin >> num2;

    cout << "El resultados es: " << num1+num2 << "\n" <<endl; // si le hago asi si me funciona pero entonces
                                                              //no puedo trabajar con el resultado de la suma

    system ("pause");
    return 0;
}



ayuuudaaaa no se que hacer :(((
Ya probe reinstalar el dev y ya lo probe en 3 PCs y me dice lo mismo.
Desde ya gracias a todos y suerte en esta gran comunidad que es el hacker ;)) ;-)