Agrego activador de las bolsas.
parent
e0ab125eda
commit
9a932762e9
|
@ -5,7 +5,8 @@ gamedatadir = $(pkgdatadir)/data
|
||||||
bin_PROGRAMS = bean-counters-classic
|
bin_PROGRAMS = bean-counters-classic
|
||||||
bean_counters_classic_SOURCES = beans.c \
|
bean_counters_classic_SOURCES = beans.c \
|
||||||
gfx_blit_func.c gfx_blit_func.h \
|
gfx_blit_func.c gfx_blit_func.h \
|
||||||
path.c path.h
|
path.c path.h \
|
||||||
|
gettext.h
|
||||||
|
|
||||||
if MACOSX
|
if MACOSX
|
||||||
bean_counters_classic_SOURCES += SDLMain.m SDLMain.h
|
bean_counters_classic_SOURCES += SDLMain.m SDLMain.h
|
||||||
|
|
43
src/beans.c
43
src/beans.c
|
@ -28,6 +28,9 @@
|
||||||
#include <SDL_mixer.h>
|
#include <SDL_mixer.h>
|
||||||
#include <SDL_ttf.h>
|
#include <SDL_ttf.h>
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -42,6 +45,7 @@
|
||||||
|
|
||||||
#define FPS (1000/24)
|
#define FPS (1000/24)
|
||||||
#define RANDOM(x) ((int) (x ## .0 * rand () / (RAND_MAX + 1.0)))
|
#define RANDOM(x) ((int) (x ## .0 * rand () / (RAND_MAX + 1.0)))
|
||||||
|
#define RANDOM_VAR(x) ((int) (((float) x) * rand () / (RAND_MAX + 1.0)))
|
||||||
|
|
||||||
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
|
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
|
||||||
#define RMASK 0xff000000
|
#define RMASK 0xff000000
|
||||||
|
@ -533,6 +537,10 @@ int game_loop (void) {
|
||||||
int penguin_frame = 0;
|
int penguin_frame = 0;
|
||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
|
int level, activator;
|
||||||
|
int bag_activity = 15;
|
||||||
|
int airbone, max_airbone = 1;
|
||||||
|
|
||||||
/* Predibujar todo */
|
/* Predibujar todo */
|
||||||
/*SDL_FillRect (screen, NULL, 0);
|
/*SDL_FillRect (screen, NULL, 0);
|
||||||
SDL_Flip (screen);*/
|
SDL_Flip (screen);*/
|
||||||
|
@ -587,13 +595,28 @@ int game_loop (void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_GetMouseState (&handposx, NULL);
|
if (bags < 6) {
|
||||||
|
SDL_GetMouseState (&handposx, NULL);
|
||||||
|
|
||||||
penguinx = handposx;
|
penguinx = handposx;
|
||||||
if (penguinx < 190) {
|
if (penguinx < 190) {
|
||||||
penguinx = 190;
|
penguinx = 190;
|
||||||
} else if (penguinx > 555) {
|
} else if (penguinx > 555) {
|
||||||
penguinx = 555;
|
penguinx = 555;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
activator = RANDOM_VAR (bag_activity);
|
||||||
|
|
||||||
|
if (activator <= 2 && bags < 6 /* AND Game Over not visible */) {
|
||||||
|
if (airbone < max_airbone) {
|
||||||
|
i = RANDOM (8);
|
||||||
|
|
||||||
|
if (i <= 3) {
|
||||||
|
add_bag (i);
|
||||||
|
airbone++;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Procesar las bolsas */
|
/* Procesar las bolsas */
|
||||||
|
@ -604,6 +627,14 @@ int game_loop (void) {
|
||||||
thisbag->frame++;
|
thisbag->frame++;
|
||||||
|
|
||||||
j = thisbag->frame - thisbag->throw_length;
|
j = thisbag->frame - thisbag->throw_length;
|
||||||
|
|
||||||
|
/* Calcular aquí la colisión contra el pingüino */
|
||||||
|
|
||||||
|
if (j == 0) {
|
||||||
|
/* Eliminar del airbone */
|
||||||
|
airbone--;
|
||||||
|
}
|
||||||
|
|
||||||
if (j >= 35) {
|
if (j >= 35) {
|
||||||
/* Eliminar esta bolsa */
|
/* Eliminar esta bolsa */
|
||||||
delete_bag (thisbag);
|
delete_bag (thisbag);
|
||||||
|
|
Loading…
Reference in New Issue