Removed menus for future chapters...
This commit is contained in:
parent
202fc7dc8c
commit
5681832aa6
@ -106,7 +106,6 @@ generator_t * game_generator (generate_t function) {
|
||||
attribute_t * game_attribute (string_t name, bundle_t * points, ...) {
|
||||
attribute_t * attribute;
|
||||
va_list list;
|
||||
number_t action;
|
||||
|
||||
attribute = memorize ((number_t) sizeof (* attribute));
|
||||
|
||||
@ -117,7 +116,7 @@ attribute_t * game_attribute (string_t name, bundle_t * points, ...) {
|
||||
va_start (list, points);
|
||||
|
||||
for (;;) {
|
||||
action = (number_t) va_arg (list, int);
|
||||
number_t action = (number_t) va_arg (list, int);
|
||||
|
||||
if (action > 0) {
|
||||
attribute->positive_count += 1;
|
||||
@ -138,7 +137,6 @@ attribute_t * game_attribute (string_t name, bundle_t * points, ...) {
|
||||
skill_t * game_skill (string_t name, bundle_t * points, ...) {
|
||||
skill_t * skill;
|
||||
va_list list;
|
||||
number_t action;
|
||||
|
||||
skill = memorize ((number_t) sizeof (* skill));
|
||||
|
||||
@ -149,7 +147,7 @@ skill_t * game_skill (string_t name, bundle_t * points, ...) {
|
||||
va_start (list, points);
|
||||
|
||||
for (;;) {
|
||||
action = (number_t) va_arg (list, int);
|
||||
number_t action = (number_t) va_arg (list, int);
|
||||
|
||||
if (action > 0) {
|
||||
skill->positive_count += 1;
|
||||
@ -228,45 +226,6 @@ world_t * game_world (number_t width, number_t height, ...) {
|
||||
return (world);
|
||||
}
|
||||
|
||||
menu_t * game_menu (string_t text, /*number_t width, number_t height, number_t x, number_t y, number_t reorient, number_t override, */...) {
|
||||
menu_t * menu;
|
||||
va_list list;
|
||||
menu_t * item;
|
||||
|
||||
menu = memorize ((number_t) sizeof (* menu));
|
||||
|
||||
string_copy ((menu->text = memorize (string_length (text) + 1)), text);
|
||||
|
||||
menu->scroll = 0;
|
||||
menu->item_count = 0;
|
||||
menu->items = NULL;
|
||||
|
||||
//~menu->width = width;
|
||||
//~menu->height = height;
|
||||
//~menu->x = x;
|
||||
//~menu->y = y;
|
||||
//~menu->reorient = reorient;
|
||||
//~menu->override = override;
|
||||
|
||||
//~va_start (list, override);
|
||||
va_start (list, text);
|
||||
|
||||
for (;;) {
|
||||
item = (menu_t *) va_arg (list, void *);
|
||||
|
||||
if (item != NULL) {
|
||||
menu->item_count += 1;
|
||||
//~menu->items = memorize ((number_t) sizeof (item));
|
||||
menu->items = memorize ((number_t) sizeof (* menu->items));
|
||||
menu->items [menu->item_count - 1] = item;
|
||||
} else break;
|
||||
}
|
||||
|
||||
va_end (list);
|
||||
|
||||
return (menu);
|
||||
}
|
||||
|
||||
procedure_t game_render_attribute (attribute_t * attribute, number_t x, number_t y) {
|
||||
curses_render_string (attribute->name, COLOUR_CYAN, EFFECT_NORMAL, x, y);
|
||||
|
||||
@ -305,31 +264,6 @@ procedure_t game_render_world (world_t * world, number_t x, number_t y, number_t
|
||||
}
|
||||
}
|
||||
|
||||
procedure_t game_render_menu (menu_t * menu, number_t x, number_t y) {
|
||||
number_t item;
|
||||
|
||||
curses_render_string (menu->text, 1, 1, x, y);
|
||||
|
||||
y += 1;
|
||||
|
||||
if (menu->item_count == 0) {
|
||||
return;
|
||||
} else {
|
||||
game_render_menu (menu->items [0], x, y);
|
||||
//~for (item = 0; item != menu->item_count - 1; ++item) {
|
||||
//~game_render_menu (menu->items [item], x, y + item);
|
||||
//~}
|
||||
}
|
||||
|
||||
//~if (menu->item_count == 0) {
|
||||
//~curses_render_string (menu->text, 1, 1, x, y);
|
||||
//~} else {
|
||||
//~for (item = 0; item != menu->item_count; ++item) {
|
||||
//~game_render_menu (menu->items [item], x, y + item);
|
||||
//~}
|
||||
//~}
|
||||
}
|
||||
|
||||
procedure_t play_game (procedure_t) {
|
||||
generator_t * full_fill = game_generator (generate_full_fill_function);
|
||||
generator_t * rectangle_fill = game_generator (generate_rectangle_fill_function);
|
||||
@ -360,49 +294,33 @@ procedure_t play_game (procedure_t) {
|
||||
rectangle_line, 5, 9, 2, 4, stone_wall,
|
||||
0);
|
||||
|
||||
//~menu_t * main_menu = game_menu ("Main Menu", 40, 20, 50, 10, FALSE, FALSE, GAME_MENU_ITEM_BUTTON,
|
||||
//~GAME_MENU_ITEM_BUTTON,
|
||||
//~GAME_MENU_ITEM_BUTTON,
|
||||
//~0);
|
||||
|
||||
menu_t * menu_play = game_menu ("> Play", NULL);
|
||||
menu_t * menu_options = game_menu ("> Options", NULL);
|
||||
menu_t * menu_exit = game_menu ("> Exit", NULL);
|
||||
|
||||
menu_t * menu_main = game_menu ("Main Menu", menu_play,
|
||||
menu_options,
|
||||
menu_exit,
|
||||
NULL);
|
||||
|
||||
curses_configure ();
|
||||
|
||||
while (curses_active) {
|
||||
curses_render_background (' ', COLOUR_WHITE, EFFECT_NORMAL);
|
||||
|
||||
curses_render_string ("Attributes:", COLOUR_WHITE, EFFECT_BOLD, 0, 0);
|
||||
curses_render_string ("Attributes:", COLOUR_WHITE, EFFECT_BOLD, 80, 0);
|
||||
|
||||
game_render_attribute (strength, 2, 1);
|
||||
game_render_attribute (edurance, 2, 2);
|
||||
game_render_attribute (wisdom, 2, 3);
|
||||
game_render_attribute (agility, 2, 4);
|
||||
game_render_attribute (strength, 82, 1);
|
||||
game_render_attribute (edurance, 82, 2);
|
||||
game_render_attribute (wisdom, 82, 3);
|
||||
game_render_attribute (agility, 82, 4);
|
||||
|
||||
curses_render_string ("Skills:", COLOUR_WHITE, EFFECT_BOLD, 0, 5);
|
||||
curses_render_string ("Skills:", COLOUR_WHITE, EFFECT_BOLD, 80, 5);
|
||||
|
||||
game_render_skill (blades, 2, 6);
|
||||
game_render_skill (axes, 2, 7);
|
||||
game_render_skill (bows, 2, 8);
|
||||
game_render_skill (spears, 2, 9);
|
||||
game_render_skill (puppet_magic, 2, 10);
|
||||
game_render_skill (nature_magic, 2, 11);
|
||||
game_render_skill (rune_magic, 2, 12);
|
||||
game_render_skill (charm_magic, 2, 13);
|
||||
game_render_skill (blades, 82, 6);
|
||||
game_render_skill (axes, 82, 7);
|
||||
game_render_skill (bows, 82, 8);
|
||||
game_render_skill (spears, 82, 9);
|
||||
game_render_skill (puppet_magic, 82, 10);
|
||||
game_render_skill (nature_magic, 82, 11);
|
||||
game_render_skill (rune_magic, 82, 12);
|
||||
game_render_skill (charm_magic, 82, 13);
|
||||
|
||||
game_render_world (world, 40, 0, curses_screen_width, curses_screen_height);
|
||||
game_render_world (world, 0, 0, curses_screen_width, curses_screen_height);
|
||||
|
||||
game_render_player (player);
|
||||
|
||||
game_render_menu (menu_main, 120, 0);
|
||||
|
||||
switch (curses_character) {
|
||||
case SIGNAL_ARROW_UP: player->y -= 1; limit (& player->y, 0, world->height - 1); break;
|
||||
case SIGNAL_ARROW_DOWN: player->y += 1; limit (& player->y, 0, world->height - 1); break;
|
||||
|
@ -38,12 +38,6 @@ typedef enum action_t {
|
||||
GAME_ACTION_COUNT
|
||||
} action_t;
|
||||
|
||||
typedef enum menu_item_t {
|
||||
GAME_MENU_ITEM_NONE,
|
||||
GAME_MENU_ITEM_SEPARATOR, GAME_MENU_ITEM_TEXT, GAME_MENU_ITEM_BUTTON, GAME_MENU_ITEM_LIST,
|
||||
GAME_MENU_ITEM_COUNT
|
||||
} menu_item_t;
|
||||
|
||||
typedef struct bundle_t {
|
||||
number_t minimum, maximum, current;
|
||||
} bundle_t;
|
||||
@ -93,20 +87,6 @@ typedef struct world_t {
|
||||
block_t * * block;
|
||||
} world_t;
|
||||
|
||||
typedef struct menu_t {
|
||||
string_t text;
|
||||
//~number_t width;
|
||||
//~number_t height;
|
||||
//~number_t x;
|
||||
//~number_t y;
|
||||
//~number_t reorient;
|
||||
//~number_t override;
|
||||
number_t scroll;
|
||||
number_t item_count;
|
||||
//~menu_item_t * items;
|
||||
struct menu_t * * items;
|
||||
} menu_t;
|
||||
|
||||
typedef procedure_t (* generate_t) (world_t *, number_t, number_t, number_t, number_t, block_t *);
|
||||
|
||||
typedef struct generator_t {
|
||||
@ -124,14 +104,12 @@ extern skill_t * game_skill (string_t name, bundle_t * points, ...);
|
||||
extern player_t * game_player (string_t name, symbol_t * symbol);
|
||||
extern block_t * game_block (string_t name, symbol_t * symbol, number_t collision, number_t override);
|
||||
extern world_t * game_world (number_t width, number_t height, ...);
|
||||
extern menu_t * game_menu (string_t text, /*number_t width, number_t height, number_t x, number_t y, number_t reorient, number_t override,*/ ...);
|
||||
|
||||
extern procedure_t game_render_attribute (attribute_t * attribute, number_t x, number_t y);
|
||||
extern procedure_t game_render_skill (skill_t * skill, number_t x, number_t y);
|
||||
extern procedure_t game_render_player (player_t * player);
|
||||
extern procedure_t game_render_block (block_t * block, number_t x, number_t y);
|
||||
extern procedure_t game_render_world (world_t * world, number_t x, number_t y, number_t width, number_t height);
|
||||
extern procedure_t game_render_menu (menu_t * menu, number_t x, number_t y);
|
||||
|
||||
extern procedure_t play_game (procedure_t);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user