27 lines
501 B
C
27 lines
501 B
C
#ifndef _FD_PREDICATE_
|
|
#define _FD_PREDICATE_
|
|
|
|
typedef struct Predicate Predicate;
|
|
|
|
typedef enum PredicateType {
|
|
PREDICATE_TRUE,
|
|
PREDICATE_IN_ROOM,
|
|
PREDICATE_ITEM_HERE,
|
|
PREDICATE_ITEM_NOT_HERE,
|
|
PREDICATE_HAS_ITEM,
|
|
PREDICATE_FLAG_ENABLED,
|
|
} PredicateType;
|
|
|
|
#include "game.h"
|
|
|
|
struct Predicate {
|
|
PredicateType type;
|
|
char *argument;
|
|
};
|
|
|
|
bool predicate_fulfilled(Game *g, Predicate *p);
|
|
Predicate *create_predicate(Game *g, const char *string);
|
|
void print_predicate(Predicate *p);
|
|
|
|
#endif
|