Adding the header file and separate makefile for ex19
This commit is contained in:
parent
62dab95f9c
commit
ae4c0fdaa2
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,3 +5,4 @@
|
|||||||
!README.md
|
!README.md
|
||||||
!*.py
|
!*.py
|
||||||
!*.h
|
!*.h
|
||||||
|
!*.mk
|
||||||
|
3
Makefile
3
Makefile
@ -1,9 +1,10 @@
|
|||||||
CFLAGS=-Wall -g
|
CFLAGS=-Wall -g
|
||||||
|
|
||||||
EXERCISES = $(patsubst %.c,%,$(shell ls ex*.c))
|
EXERCISES = $(patsubst %.c,%,$(shell ls ex*.c | grep -v ex19))
|
||||||
|
|
||||||
|
|
||||||
all: $(EXERCISES)
|
all: $(EXERCISES)
|
||||||
|
$(MAKE) -f ex19.mk
|
||||||
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
54
ex19.h
Normal file
54
ex19.h
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
#ifndef _ex19_h
|
||||||
|
#define _ex19_h
|
||||||
|
|
||||||
|
#include "object.h"
|
||||||
|
|
||||||
|
|
||||||
|
struct Monster {
|
||||||
|
Object proto;
|
||||||
|
int hit_points;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct Monster Monster;
|
||||||
|
|
||||||
|
|
||||||
|
int Monster_attack(void *self, int damage);
|
||||||
|
int Monster_init(void *self);
|
||||||
|
|
||||||
|
|
||||||
|
struct Room {
|
||||||
|
Object proto;
|
||||||
|
|
||||||
|
Monster *bad_guy;
|
||||||
|
|
||||||
|
struct Room *north;
|
||||||
|
struct Room *south;
|
||||||
|
struct Room *east;
|
||||||
|
struct Room *west;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct Room Room;
|
||||||
|
|
||||||
|
|
||||||
|
void *Room_move(void *self, Direction direction);
|
||||||
|
int Room_attack(void *self, int damage);
|
||||||
|
int Room_init(void *self);
|
||||||
|
|
||||||
|
|
||||||
|
struct Map {
|
||||||
|
Object proto;
|
||||||
|
Room *start;
|
||||||
|
Room *location;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct Map Map;
|
||||||
|
|
||||||
|
|
||||||
|
void *Map_move(void *self, Direction direction);
|
||||||
|
int Map_attack(void *self, int damage);
|
||||||
|
int Map_init(void *self);
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in New Issue
Block a user