47 lines
853 B
C++
47 lines
853 B
C++
#ifndef MYSOK_H
|
|
#define MYSOK_H
|
|
#include <cstdio>
|
|
#include <cstdlib>
|
|
#include <string.h>
|
|
#include <string>
|
|
|
|
#define NBL 20
|
|
#define NBC 20
|
|
#define MAX_CRATES 20
|
|
|
|
#define MOVE_U 0
|
|
#define MOVE_D 1
|
|
#define MOVE_L 2
|
|
#define MOVE_R 3
|
|
#define MOVE_W 4
|
|
|
|
#define OUT 0
|
|
#define FREE 1
|
|
#define TARGET 2
|
|
#define WALL 3
|
|
#define CRATE_ON_FREE 4
|
|
#define CRATE_ON_TARGET 5
|
|
#define MAN1_ON_FREE 6
|
|
#define MAN1_ON_TARGET 7
|
|
#define MAN2_ON_FREE 8
|
|
#define MAN2_ON_TARGET 9
|
|
#define END_OF_LINE 10
|
|
|
|
const char board_str[] = {' ', '_', '.', '#', '$', '*',
|
|
'1', 'u', '2', 'd', 'a'};
|
|
const std::string move_str[] = {"Up", "Down", "Left", "Right", "Wait"};
|
|
|
|
struct sok_board_t {
|
|
int board[NBL][NBC];
|
|
int board_nbl;
|
|
int man1_x;
|
|
int man1_y;
|
|
int man2_x;
|
|
int man2_y;
|
|
|
|
sok_board_t();
|
|
void print_board();
|
|
void load(char *_file);
|
|
};
|
|
|
|
#endif
|