diff --git a/.gitignore b/.gitignore index d4d600c..2100b1f 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,8 @@ config.log config.status .deps src/bean-counters-classic +data/collider/collider-generator +data/collider/penguin-generator *.o stamp-h1 diff --git a/data/Makefile.am b/data/Makefile.am index da9fc8f..116a523 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -40,7 +40,67 @@ nobase_dist_gamedata_DATA = images/background.png \ images/bag_1.png \ images/bag_2.png \ images/bag_3.png \ - images/bag_4.png + images/bag_4.png \ + images/bag_stack_01.png \ + images/bag_stack_02.png \ + images/bag_stack_03.png \ + images/bag_stack_04.png \ + images/bag_stack_05.png \ + images/bag_stack_06.png \ + images/bag_stack_07.png \ + images/bag_stack_08.png \ + images/bag_stack_09.png \ + images/bag_stack_10.png \ + images/bag_stack_11.png \ + images/bag_stack_12.png \ + images/bag_stack_13.png \ + images/bag_stack_14.png \ + images/bag_stack_15.png \ + images/bag_stack_16.png \ + images/bag_stack_17.png \ + images/bag_stack_18.png \ + images/bag_stack_19.png \ + images/bag_stack_20.png \ + images/bag_stack_21.png \ + images/bag_stack_22.png \ + images/bag_stack_23.png \ + images/bag_stack_24.png \ + images/bag_stack_25.png \ + images/bag_stack_26.png \ + images/bag_stack_27.png \ + images/bag_stack_28.png \ + images/bag_stack_29.png \ + images/bag_stack_30.png \ + images/bag_stack_31.png \ + images/bag_stack_32.png \ + images/bag_stack_33.png \ + images/bag_stack_34.png \ + images/bag_stack_35.png \ + images/bag_stack_36.png \ + images/bag_stack_37.png \ + images/bag_stack_38.png \ + images/bag_stack_39.png \ + images/bag_stack_40.png \ + images/bag_stack_41.png \ + images/bag_stack_42.png \ + images/bag_stack_43.png \ + images/bag_stack_44.png \ + images/bag_stack_45.png \ + images/bag_stack_46.png \ + images/bag_stack_47.png \ + images/bag_stack_48.png \ + images/bag_stack_49.png \ + images/bag_stack_50.png \ + images/bag_stack_51.png \ + images/bag_stack_52.png \ + images/bag_stack_53.png \ + images/bag_stack_54.png \ + images/bag_stack_55.png \ + images/bag_stack_56.png \ + images/bag_stack_57.png \ + images/bag_stack_58.png \ + images/bag_stack_59.png \ + images/bag_stack_60.png # Instalar los archivos .desktop e iconos applicationsdir = $(datadir)/applications diff --git a/data/images/bag_stack_01.png b/data/images/bag_stack_01.png new file mode 100644 index 0000000..82c09f4 Binary files /dev/null and b/data/images/bag_stack_01.png differ diff --git a/data/images/bag_stack_02.png b/data/images/bag_stack_02.png new file mode 100644 index 0000000..3843b20 Binary files /dev/null and b/data/images/bag_stack_02.png differ diff --git a/data/images/bag_stack_03.png b/data/images/bag_stack_03.png new file mode 100644 index 0000000..6d11858 Binary files /dev/null and b/data/images/bag_stack_03.png differ diff --git a/data/images/bag_stack_04.png b/data/images/bag_stack_04.png new file mode 100644 index 0000000..f11d360 Binary files /dev/null and b/data/images/bag_stack_04.png differ diff --git a/data/images/bag_stack_05.png b/data/images/bag_stack_05.png new file mode 100644 index 0000000..2b8deed Binary files /dev/null and b/data/images/bag_stack_05.png differ diff --git a/data/images/bag_stack_06.png b/data/images/bag_stack_06.png new file mode 100644 index 0000000..2e2635f Binary files /dev/null and b/data/images/bag_stack_06.png differ diff --git a/data/images/bag_stack_07.png b/data/images/bag_stack_07.png new file mode 100644 index 0000000..53355e7 Binary files /dev/null and b/data/images/bag_stack_07.png differ diff --git a/data/images/bag_stack_08.png b/data/images/bag_stack_08.png new file mode 100644 index 0000000..bdd547b Binary files /dev/null and b/data/images/bag_stack_08.png differ diff --git a/data/images/bag_stack_09.png b/data/images/bag_stack_09.png new file mode 100644 index 0000000..9b72833 Binary files /dev/null and b/data/images/bag_stack_09.png differ diff --git a/data/images/bag_stack_10.png b/data/images/bag_stack_10.png new file mode 100644 index 0000000..11afbea Binary files /dev/null and b/data/images/bag_stack_10.png differ diff --git a/data/images/bag_stack_11.png b/data/images/bag_stack_11.png new file mode 100644 index 0000000..1a33c6f Binary files /dev/null and b/data/images/bag_stack_11.png differ diff --git a/data/images/bag_stack_12.png b/data/images/bag_stack_12.png new file mode 100644 index 0000000..9ebb54e Binary files /dev/null and b/data/images/bag_stack_12.png differ diff --git a/data/images/bag_stack_13.png b/data/images/bag_stack_13.png new file mode 100644 index 0000000..daa1ada Binary files /dev/null and b/data/images/bag_stack_13.png differ diff --git a/data/images/bag_stack_14.png b/data/images/bag_stack_14.png new file mode 100644 index 0000000..1b066c0 Binary files /dev/null and b/data/images/bag_stack_14.png differ diff --git a/data/images/bag_stack_15.png b/data/images/bag_stack_15.png new file mode 100644 index 0000000..6857487 Binary files /dev/null and b/data/images/bag_stack_15.png differ diff --git a/data/images/bag_stack_16.png b/data/images/bag_stack_16.png new file mode 100644 index 0000000..f40aa5a Binary files /dev/null and b/data/images/bag_stack_16.png differ diff --git a/data/images/bag_stack_17.png b/data/images/bag_stack_17.png new file mode 100644 index 0000000..10f0150 Binary files /dev/null and b/data/images/bag_stack_17.png differ diff --git a/data/images/bag_stack_18.png b/data/images/bag_stack_18.png new file mode 100644 index 0000000..0a4047f Binary files /dev/null and b/data/images/bag_stack_18.png differ diff --git a/data/images/bag_stack_19.png b/data/images/bag_stack_19.png new file mode 100644 index 0000000..d159445 Binary files /dev/null and b/data/images/bag_stack_19.png differ diff --git a/data/images/bag_stack_20.png b/data/images/bag_stack_20.png new file mode 100644 index 0000000..659ac79 Binary files /dev/null and b/data/images/bag_stack_20.png differ diff --git a/data/images/bag_stack_21.png b/data/images/bag_stack_21.png new file mode 100644 index 0000000..7302e62 Binary files /dev/null and b/data/images/bag_stack_21.png differ diff --git a/data/images/bag_stack_22.png b/data/images/bag_stack_22.png new file mode 100644 index 0000000..c147843 Binary files /dev/null and b/data/images/bag_stack_22.png differ diff --git a/data/images/bag_stack_23.png b/data/images/bag_stack_23.png new file mode 100644 index 0000000..7f57fc4 Binary files /dev/null and b/data/images/bag_stack_23.png differ diff --git a/data/images/bag_stack_24.png b/data/images/bag_stack_24.png new file mode 100644 index 0000000..39828b0 Binary files /dev/null and b/data/images/bag_stack_24.png differ diff --git a/data/images/bag_stack_25.png b/data/images/bag_stack_25.png new file mode 100644 index 0000000..b811e01 Binary files /dev/null and b/data/images/bag_stack_25.png differ diff --git a/data/images/bag_stack_26.png b/data/images/bag_stack_26.png new file mode 100644 index 0000000..87e2b8b Binary files /dev/null and b/data/images/bag_stack_26.png differ diff --git a/data/images/bag_stack_27.png b/data/images/bag_stack_27.png new file mode 100644 index 0000000..4ef908c Binary files /dev/null and b/data/images/bag_stack_27.png differ diff --git a/data/images/bag_stack_28.png b/data/images/bag_stack_28.png new file mode 100644 index 0000000..51238e5 Binary files /dev/null and b/data/images/bag_stack_28.png differ diff --git a/data/images/bag_stack_29.png b/data/images/bag_stack_29.png new file mode 100644 index 0000000..5502682 Binary files /dev/null and b/data/images/bag_stack_29.png differ diff --git a/data/images/bag_stack_30.png b/data/images/bag_stack_30.png new file mode 100644 index 0000000..6c0e724 Binary files /dev/null and b/data/images/bag_stack_30.png differ diff --git a/data/images/bag_stack_31.png b/data/images/bag_stack_31.png new file mode 100644 index 0000000..4bc80b4 Binary files /dev/null and b/data/images/bag_stack_31.png differ diff --git a/data/images/bag_stack_32.png b/data/images/bag_stack_32.png new file mode 100644 index 0000000..8917fde Binary files /dev/null and b/data/images/bag_stack_32.png differ diff --git a/data/images/bag_stack_33.png b/data/images/bag_stack_33.png new file mode 100644 index 0000000..c4c8f52 Binary files /dev/null and b/data/images/bag_stack_33.png differ diff --git a/data/images/bag_stack_34.png b/data/images/bag_stack_34.png new file mode 100644 index 0000000..a99736d Binary files /dev/null and b/data/images/bag_stack_34.png differ diff --git a/data/images/bag_stack_35.png b/data/images/bag_stack_35.png new file mode 100644 index 0000000..5d03674 Binary files /dev/null and b/data/images/bag_stack_35.png differ diff --git a/data/images/bag_stack_36.png b/data/images/bag_stack_36.png new file mode 100644 index 0000000..9b8f733 Binary files /dev/null and b/data/images/bag_stack_36.png differ diff --git a/data/images/bag_stack_37.png b/data/images/bag_stack_37.png new file mode 100644 index 0000000..356d8ba Binary files /dev/null and b/data/images/bag_stack_37.png differ diff --git a/data/images/bag_stack_38.png b/data/images/bag_stack_38.png new file mode 100644 index 0000000..98dba33 Binary files /dev/null and b/data/images/bag_stack_38.png differ diff --git a/data/images/bag_stack_39.png b/data/images/bag_stack_39.png new file mode 100644 index 0000000..44f98a9 Binary files /dev/null and b/data/images/bag_stack_39.png differ diff --git a/data/images/bag_stack_40.png b/data/images/bag_stack_40.png new file mode 100644 index 0000000..b1ee0a5 Binary files /dev/null and b/data/images/bag_stack_40.png differ diff --git a/data/images/bag_stack_41.png b/data/images/bag_stack_41.png new file mode 100644 index 0000000..d74a735 Binary files /dev/null and b/data/images/bag_stack_41.png differ diff --git a/data/images/bag_stack_42.png b/data/images/bag_stack_42.png new file mode 100644 index 0000000..78895af Binary files /dev/null and b/data/images/bag_stack_42.png differ diff --git a/data/images/bag_stack_43.png b/data/images/bag_stack_43.png new file mode 100644 index 0000000..cd9741b Binary files /dev/null and b/data/images/bag_stack_43.png differ diff --git a/data/images/bag_stack_44.png b/data/images/bag_stack_44.png new file mode 100644 index 0000000..687f29f Binary files /dev/null and b/data/images/bag_stack_44.png differ diff --git a/data/images/bag_stack_45.png b/data/images/bag_stack_45.png new file mode 100644 index 0000000..35f4fcf Binary files /dev/null and b/data/images/bag_stack_45.png differ diff --git a/data/images/bag_stack_46.png b/data/images/bag_stack_46.png new file mode 100644 index 0000000..583a185 Binary files /dev/null and b/data/images/bag_stack_46.png differ diff --git a/data/images/bag_stack_47.png b/data/images/bag_stack_47.png new file mode 100644 index 0000000..f4ce12e Binary files /dev/null and b/data/images/bag_stack_47.png differ diff --git a/data/images/bag_stack_48.png b/data/images/bag_stack_48.png new file mode 100644 index 0000000..5a5d220 Binary files /dev/null and b/data/images/bag_stack_48.png differ diff --git a/data/images/bag_stack_49.png b/data/images/bag_stack_49.png new file mode 100644 index 0000000..91c6689 Binary files /dev/null and b/data/images/bag_stack_49.png differ diff --git a/data/images/bag_stack_50.png b/data/images/bag_stack_50.png new file mode 100644 index 0000000..eb62874 Binary files /dev/null and b/data/images/bag_stack_50.png differ diff --git a/data/images/bag_stack_51.png b/data/images/bag_stack_51.png new file mode 100644 index 0000000..ced8550 Binary files /dev/null and b/data/images/bag_stack_51.png differ diff --git a/data/images/bag_stack_52.png b/data/images/bag_stack_52.png new file mode 100644 index 0000000..b013555 Binary files /dev/null and b/data/images/bag_stack_52.png differ diff --git a/data/images/bag_stack_53.png b/data/images/bag_stack_53.png new file mode 100644 index 0000000..a98dd03 Binary files /dev/null and b/data/images/bag_stack_53.png differ diff --git a/data/images/bag_stack_54.png b/data/images/bag_stack_54.png new file mode 100644 index 0000000..3cef429 Binary files /dev/null and b/data/images/bag_stack_54.png differ diff --git a/data/images/bag_stack_55.png b/data/images/bag_stack_55.png new file mode 100644 index 0000000..0717bf2 Binary files /dev/null and b/data/images/bag_stack_55.png differ diff --git a/data/images/bag_stack_56.png b/data/images/bag_stack_56.png new file mode 100644 index 0000000..065acda Binary files /dev/null and b/data/images/bag_stack_56.png differ diff --git a/data/images/bag_stack_57.png b/data/images/bag_stack_57.png new file mode 100644 index 0000000..7255b5f Binary files /dev/null and b/data/images/bag_stack_57.png differ diff --git a/data/images/bag_stack_58.png b/data/images/bag_stack_58.png new file mode 100644 index 0000000..f0cc4d0 Binary files /dev/null and b/data/images/bag_stack_58.png differ diff --git a/data/images/bag_stack_59.png b/data/images/bag_stack_59.png new file mode 100644 index 0000000..e76d656 Binary files /dev/null and b/data/images/bag_stack_59.png differ diff --git a/data/images/bag_stack_60.png b/data/images/bag_stack_60.png new file mode 100644 index 0000000..40ebd71 Binary files /dev/null and b/data/images/bag_stack_60.png differ diff --git a/src/beans.c b/src/beans.c index 1c98d3f..de181c5 100644 --- a/src/beans.c +++ b/src/beans.c @@ -81,6 +81,72 @@ enum { IMG_BAG_3, IMG_BAG_4, + IMG_BAG_STACK_1, + IMG_BAG_STACK_2, + IMG_BAG_STACK_3, + IMG_BAG_STACK_4, + IMG_BAG_STACK_5, + IMG_BAG_STACK_6, + IMG_BAG_STACK_7, + IMG_BAG_STACK_8, + IMG_BAG_STACK_9, + IMG_BAG_STACK_10, + + IMG_BAG_STACK_11, + IMG_BAG_STACK_12, + IMG_BAG_STACK_13, + IMG_BAG_STACK_14, + IMG_BAG_STACK_15, + IMG_BAG_STACK_16, + IMG_BAG_STACK_17, + IMG_BAG_STACK_18, + IMG_BAG_STACK_19, + IMG_BAG_STACK_20, + + IMG_BAG_STACK_21, + IMG_BAG_STACK_22, + IMG_BAG_STACK_23, + IMG_BAG_STACK_24, + IMG_BAG_STACK_25, + IMG_BAG_STACK_26, + IMG_BAG_STACK_27, + IMG_BAG_STACK_28, + IMG_BAG_STACK_29, + IMG_BAG_STACK_30, + + IMG_BAG_STACK_31, + IMG_BAG_STACK_32, + IMG_BAG_STACK_33, + IMG_BAG_STACK_34, + IMG_BAG_STACK_35, + IMG_BAG_STACK_36, + IMG_BAG_STACK_37, + IMG_BAG_STACK_38, + IMG_BAG_STACK_39, + IMG_BAG_STACK_40, + + IMG_BAG_STACK_41, + IMG_BAG_STACK_42, + IMG_BAG_STACK_43, + IMG_BAG_STACK_44, + IMG_BAG_STACK_45, + IMG_BAG_STACK_46, + IMG_BAG_STACK_47, + IMG_BAG_STACK_48, + IMG_BAG_STACK_49, + IMG_BAG_STACK_50, + + IMG_BAG_STACK_51, + IMG_BAG_STACK_52, + IMG_BAG_STACK_53, + IMG_BAG_STACK_54, + IMG_BAG_STACK_55, + IMG_BAG_STACK_56, + IMG_BAG_STACK_57, + IMG_BAG_STACK_58, + IMG_BAG_STACK_59, + IMG_BAG_STACK_60, + NUM_IMAGES }; @@ -92,7 +158,68 @@ const char *images_names[NUM_IMAGES] = { "images/bag_1.png", "images/bag_2.png", "images/bag_3.png", - "images/bag_4.png" + "images/bag_4.png", + + "images/bag_stack_01.png", + "images/bag_stack_02.png", + "images/bag_stack_03.png", + "images/bag_stack_04.png", + "images/bag_stack_05.png", + "images/bag_stack_06.png", + "images/bag_stack_07.png", + "images/bag_stack_08.png", + "images/bag_stack_09.png", + "images/bag_stack_10.png", + "images/bag_stack_11.png", + "images/bag_stack_12.png", + "images/bag_stack_13.png", + "images/bag_stack_14.png", + "images/bag_stack_15.png", + "images/bag_stack_16.png", + "images/bag_stack_17.png", + "images/bag_stack_18.png", + "images/bag_stack_19.png", + "images/bag_stack_20.png", + "images/bag_stack_21.png", + "images/bag_stack_22.png", + "images/bag_stack_23.png", + "images/bag_stack_24.png", + "images/bag_stack_25.png", + "images/bag_stack_26.png", + "images/bag_stack_27.png", + "images/bag_stack_28.png", + "images/bag_stack_29.png", + "images/bag_stack_30.png", + "images/bag_stack_31.png", + "images/bag_stack_32.png", + "images/bag_stack_33.png", + "images/bag_stack_34.png", + "images/bag_stack_35.png", + "images/bag_stack_36.png", + "images/bag_stack_37.png", + "images/bag_stack_38.png", + "images/bag_stack_39.png", + "images/bag_stack_40.png", + "images/bag_stack_41.png", + "images/bag_stack_42.png", + "images/bag_stack_43.png", + "images/bag_stack_44.png", + "images/bag_stack_45.png", + "images/bag_stack_46.png", + "images/bag_stack_47.png", + "images/bag_stack_48.png", + "images/bag_stack_49.png", + "images/bag_stack_50.png", + "images/bag_stack_51.png", + "images/bag_stack_52.png", + "images/bag_stack_53.png", + "images/bag_stack_54.png", + "images/bag_stack_55.png", + "images/bag_stack_56.png", + "images/bag_stack_57.png", + "images/bag_stack_58.png", + "images/bag_stack_59.png", + "images/bag_stack_60.png" }; enum { @@ -408,6 +535,39 @@ const int bag_3_points[33][3] = { {3, 141, 422} }; +const int bag_stack_offsets[30][2] = { + {15, 251}, + {14, 236}, + {13, 227}, + {13, 220}, + {13, 211}, + {13, 203}, + {12, 192}, + {12, 182}, + {13, 173}, + {9, 165}, // 10 + {10, 158}, + {10, 149}, + {10, 141}, + {8, 136}, + {8, 125}, + {8, 120}, + {0, 114}, + {2, 106}, + {2, 94}, + {2, 85}, // 20 + {2, 79}, + {2, 70}, + {2, 69}, + {2, 60}, + {2, 52}, + {2, 42}, + {2, 35}, + {2, 25}, + {2, 20} + // {2, 11} del 30 al 60 +}; + /* Prototipos de función */ int game_intro (void); int game_loop (void); @@ -575,6 +735,8 @@ int game_loop (void) { int bag_activity = 15; int airbone, max_airbone = 1; + int bag_stack = 0; + /* Predibujar todo */ /*SDL_FillRect (screen, NULL, 0); SDL_Flip (screen);*/ @@ -592,6 +754,14 @@ int game_loop (void) { break; case SDL_MOUSEBUTTONDOWN: /* Tengo un Mouse Down */ + if (event.button.button != SDL_BUTTON_LEFT) break; + if (penguinx <= 230 && bags > 0 && bags < 6) { + bag_stack++; + bags--; + + /* TODO: Incrementar score = score + (nivel * 3) */ + /* TODO: Sonido de poner bolsa */ + } break; case SDL_MOUSEBUTTONUP: /* Tengo un mouse Up */ @@ -740,6 +910,23 @@ int game_loop (void) { SDL_BlitSurface (images[IMG_PLATAFORM], NULL, screen, &rect); /* Dibujar las bolsas de café, arriba de la plataforma, por detrás del camión */ + if (bag_stack > 0) { + // 64.95, 376.95 + if (bag_stack < 30) { + rect.x = -6 + bag_stack_offsets[bag_stack - 1][0]; + rect.y = 100 + bag_stack_offsets[bag_stack - 1][1]; + } else { + rect.x = -4; + rect.y = 111; + } + + i = IMG_BAG_STACK_1 + (bag_stack - 1); + rect.w = images[i]->w; + rect.h = images[i]->h; + + SDL_BlitSurface (images[i], NULL, screen, &rect); + } + thisbag = first_bag; while (thisbag != NULL) { if (thisbag->frame < thisbag->throw_length) {