This commit is contained in:
parent
39cfe71bff
commit
3cd1ec2279
3 changed files with 14 additions and 18 deletions
|
@ -4,8 +4,9 @@ AC_CONFIG_SRCDIR([src/main.c])
|
|||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
|
||||
AC_PROG_CC
|
||||
AC_CHECK_LIB([curses], [initscr])
|
||||
AC_CHECK_HEADERS([curses.h])
|
||||
AC_CHECK_LIB([ncurses], [initscr])
|
||||
AC_CHECK_LIB([tinfo], [stdscr])
|
||||
AC_CHECK_HEADERS([ncurses.h])
|
||||
|
||||
AM_INIT_AUTOMAKE([foreign -Wall -Werror])
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ received a copy of the GNU General Public License along with urlg. If not, see
|
|||
#include <curses.h>
|
||||
#include <locale.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "entity.h"
|
||||
|
||||
|
@ -135,19 +136,13 @@ void display_map(display_t *disp, struct map *map, ht_t *entities)
|
|||
case WALL :
|
||||
if (map_i > 0 &&
|
||||
map->map[(map_i - 1) * map->width + map_j] != WALL) {
|
||||
mvwprintw(disp->main, i, j, "█");
|
||||
} else if (map_i < map->width - 1 &&
|
||||
map->map[(map_i + 1) * map->width + map_j] !=
|
||||
WALL) {
|
||||
mvwprintw(disp->main, i, j, "█");
|
||||
} else if (map_j > 0 &&
|
||||
map->map[map_i * map->width + map_j - 1] !=
|
||||
WALL) {
|
||||
mvwprintw(disp->main, i, j, "█");
|
||||
} else if (map_j < map->width - 1 &&
|
||||
map->map[map_i * map->width + map_j + 1] !=
|
||||
WALL) {
|
||||
mvwprintw(disp->main, i, j, "█");
|
||||
mvwaddch(disp->main, i, j, ACS_BLOCK);
|
||||
} else if (map_i < map->width - 1 && map->map[(map_i + 1) * map->width + map_j] != WALL) {
|
||||
mvwaddch(disp->main, i, j, ACS_BLOCK);
|
||||
} else if (map_j > 0 && map->map[map_i * map->width + map_j - 1] != WALL) {
|
||||
mvwaddch(disp->main, i, j, ACS_BLOCK);
|
||||
} else if (map_j < map->width - 1 && map->map[map_i * map->width + map_j + 1] != WALL) {
|
||||
mvwaddch(disp->main, i, j, ACS_BLOCK);
|
||||
} else {
|
||||
mvwaddch(disp->main, i, j, ' ');
|
||||
}
|
||||
|
@ -164,9 +159,9 @@ void display_map(display_t *disp, struct map *map, ht_t *entities)
|
|||
while (kvp.key) {
|
||||
struct entity *e = kvp.val;
|
||||
if (e->visible) {
|
||||
mvwprintw(
|
||||
mvwaddch(
|
||||
disp->main, e->p.y - camera->p.y + 1, e->p.x - camera->p.x + 1,
|
||||
e->disp_ch
|
||||
e->disp_ch[0]
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -149,7 +149,7 @@ int main(int argc, char **argv)
|
|||
|
||||
// create the camera
|
||||
struct entity camera;
|
||||
camera.disp_ch = "";
|
||||
camera.disp_ch = " ";
|
||||
camera.solid = false;
|
||||
camera.visible = false;
|
||||
ht_insert(entities, "camera", &camera);
|
||||
|
|
Loading…
Add table
Reference in a new issue