• Miércoles 6 de Noviembre de 2024, 18:46

Mostrar Mensajes

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


Mensajes - JuanBF

Páginas: [1]
1
C/C++ / Re: Expliqueme Este Codigo?!?!
« en: Jueves 7 de Febrero de 2008, 22:13 »
Estoy leyendo el curso de c con clase ("www.c.conclase.net") y a la vez hago pruebas para entender mejor y saber aplicarlos, pero es verdad son operadores basicos y tendria que leer mas, si conoces algun curso o manual que explique de manera facil pue lo tomo, :). SLD_Juan()

2
C/C++ / Expliqueme Este Codigo?!?!
« en: Jueves 7 de Febrero de 2008, 15:07 »
Hola, necesitaria ayuda con el siguiente codigo, ya que no entiendo como hace para mover la imagen (ima). Con respecto a la musica no hay problema. No entiendo pq en la funcion mover_objeto usa *x, *y (pq el *) y en el bucle while pasa los parametros como mover_objeto(&x,&y...).SLD_Juan().

codigo:
#include <stdio.h>
#include <stdlib.h>;
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
#include <SDL/SDL_mixer.h>

void limpiar (SDL_Surface *screen);
void imprimir(SDL_Surface *screen, SDL_Surface *ima, int x, int y);
void mover_objeto(int *x, int *y, int ancho, int alto);


int main(int argc, char *argv[])
{
SDL_Surface *screen;
SDL_Surface *ima;
Mix_Music *cancion;
SDL_Event event;
int salir = 0;
int x = 100;
int y = 100;

if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) == -1)
{
printf("Error: %s\n", SDL_GetError());
return 1;
}

screen = SDL_SetVideoMode(320, 240, 16, SDL_HWSURFACE);

if (screen == NULL)
{
printf("Error: %s\n", SDL_GetError());
return 1;
}

if (Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 1024) == -1)
{
printf("Error en Mix_OpenAudio: %s\n", Mix_GetError());
return 1;
}

SDL_WM_SetCaption("Ejemplo 2", NULL);

ima = IMG_Load("c:/ima.png");

if (ima == NULL)
{
printf("Error en IMG_Load= %s\n", SDL_GetError());
return 1;
}

cancion = Mix_LoadMUS("c:/cancion.xm");

if (!cancion)
printf("Error en Mix_LoadMUS: %s\n", Mix_GetError());

if (cancion)
{
if (Mix_PlayMusic(cancion, -1) == -1)
printf("Error en Mix_PlayMusic: %s\n", Mix_GetError());
}

while (! salir)
{
SDL_PollEvent(&event);

if (event.type == SDL_QUIT)
salir = 1;

mover_objeto(&x, &y, ima->w, ima->h);

limpiar(screen);
imprimir(screen, ima, x, y);
SDL_Flip(screen);
SDL_Delay(10);
}

if (cancion)
{
Mix_HaltMusic();
Mix_FreeMusic(cancion);
}

Mix_CloseAudio();
SDL_Quit();
return 0;
}

void limpiar (SDL_Surface *screen)
{
Uint32 a = SDL_MapRGB(screen->format, 200, 200, 200);
SDL_FillRect(screen, NULL, a);
}


void imprimir(SDL_Surface *screen, SDL_Surface *ima, int x, int y)
{
SDL_Rect rect = {x, y, 0, 0};

SDL_BlitSurface(ima, NULL, screen, &rect);
}


void mover_objeto(int *x, int *y, int ancho, int alto)
{
Uint8 *key = SDL_GetKeyState(NULL);

if (key[SDLK_LEFT] && * x > 0)
(*x) -= 5;

if (key[SDLK_RIGHT] && (*x + ancho) < 320)
(*x) += 5;

if (key[SDLK_UP] && *y > 0)
(*y) -= 5;

if (key[SDLK_DOWN] && (*y + alto) < 240)
(*y) += 5;
}

3
C/C++ / Re: Ia Como Se Hace?
« en: Martes 5 de Febrero de 2008, 21:31 »
Hola, perdon, me exprese mal, lo que yo quiero es que me digan como programo la IA para un juego (pq estoy haciendo un juego, nada grande ovbio) y no tengo una sola idea. Pedia consejos, libros, sitios para visitar, o que me lo digan usando su experiencia.
Repito, estoy usando Devcpp y las librerias SDL. Gracias!

4
C/C++ / Ia Como Se Hace?
« en: Martes 5 de Febrero de 2008, 13:14 »
Hola, estoy programando un juego con devcpp y las librerias SDL. Quiero saber como se hace la IA Inteligencia Artificial. Cualquier consejo, referencia y demas seran agradecidos. Sld, Juan.

Páginas: [1]