Traktor/config.py

117 lines
2.9 KiB
Python

#!/usr/bin/python3
import os
__all__ = (
'WIDTH', 'HEIGHT', 'FIELD_SIZE', 'TIME_OF_MOVING',
'VERTICAL_NUM_OF_FIELDS', 'HORIZONTAL_NUM_OF_FIELDS',
'FPS', 'CAPTION', 'RESOURCE_DIR', 'MAP_DIR', 'TRACTOR', 'PNG',
'SAND', 'CLAY', 'GRASS', 'CORN', 'SUNFLOWER',
'FIELD_TYPES', 'TIME_OF_GROWING', 'AMOUNT_OF_CROPS',
'M_GO_FORWARD', 'M_ROTATE_LEFT', 'M_ROTATE_RIGHT',
'S_AUTUMN', 'S_SPRING', 'S_SUMMER', 'S_WINTER', 'TYPES_OF_SEASON',
'W_SUNNY', 'W_CLOUDY', 'W_SNOW', 'W_RAINY', 'TYPES_OF_WEATHER',
'A_SOW', 'A_HARVEST', 'A_HYDRATE', 'A_FERTILIZE', 'A_DO_NOTHING',
'TYPES_OF_ACTION', 'D_NORTH', 'D_EAST', 'D_SOUTH', 'D_WEST',
'VALUE_OF_CROPS', 'VALUE_OF_PLANT', 'VALUE_OF_SAND', 'VALUE_OF_CLAY',
'MAP_FILE_NAME', 'JSON', 'SAVE_MAP', 'LOAD_MAP', 'AUTO_MODE',
'TRAINING_SET_DIR', 'TEST_SET_DIR', 'ADAPTED_IMG_DIR', 'MODEL_DIR',
'DATA_DIR','IMG_DECISION_TREE','MODEL_TREE_FILENAME','DATA_TRAINING_FOR_DECISION_TREE'
)
# Board settings:
VERTICAL_NUM_OF_FIELDS = 9
HORIZONTAL_NUM_OF_FIELDS = 12
FIELD_SIZE = 60
WIDTH = HORIZONTAL_NUM_OF_FIELDS * FIELD_SIZE
HEIGHT = VERTICAL_NUM_OF_FIELDS * FIELD_SIZE
# Other settings
FPS = 10
CAPTION = 'Tractor'
# Paths
BASE_DIR = os.path.dirname(__file__)
RESOURCE_DIR = os.path.join(BASE_DIR, 'resources')
MAP_DIR = os.path.join(BASE_DIR, 'maps')
DATA_DIR = os.path.join(BASE_DIR, 'data')
MAP_FILE_NAME = 'map'
TRAINING_SET_DIR = os.path.join(RESOURCE_DIR, 'smaller_train')
TEST_SET_DIR = os.path.join(RESOURCE_DIR, 'smaller_test')
ADAPTED_IMG_DIR = os.path.join(RESOURCE_DIR, "adapted_images")
MODEL_DIR = os.path.join(RESOURCE_DIR, 'saved_model')
MODEL_TREE_FILENAME = 'tree_model.joblib'
IMG_DECISION_TREE = 'decision_tree.png'
DATA_TRAINING_FOR_DECISION_TREE = 'data_training.csv'
# Picture format
PNG = "png"
# File format
JSON = 'json'
# Tractor settings
TRACTOR = 'tractor'
# Types of Fields
SAND = 'sand'
CLAY = 'clay'
GRASS = 'grass'
CORN = 'corn'
SUNFLOWER = 'sunflower'
FIELD_TYPES = (SAND, CLAY, GRASS, CORN, SUNFLOWER)
# Directions
D_NORTH = 0.0
D_EAST = 270.0
D_SOUTH = 180.0
D_WEST = 90.0
# Goal Test
AMOUNT_OF_CROPS = 5
# Movements:
M_GO_FORWARD = "go forward"
M_ROTATE_LEFT = "rotate left"
M_ROTATE_RIGHT = "rotate right"
# Actions:
A_SOW = "sow"
A_HARVEST = "harvest"
A_HYDRATE = "hydrate"
A_FERTILIZE = "fertilize"
A_DO_NOTHING = "do nothing"
TYPES_OF_ACTION = [A_SOW, A_HARVEST, A_HYDRATE, A_FERTILIZE, A_DO_NOTHING]
# Costs fields:
VALUE_OF_CROPS = 0.2
VALUE_OF_PLANT = 0.3
VALUE_OF_SAND = 0.4
VALUE_OF_CLAY = 0.5
# Weather
W_SUNNY = 'Sunny'
W_CLOUDY = 'Cloudy'
W_SNOW = 'Snow'
W_RAINY = 'Rainy'
TYPES_OF_WEATHER = [W_SUNNY, W_CLOUDY, W_SNOW, W_RAINY]
# Seasons
S_AUTUMN = 'Autumn'
S_WINTER = 'Winter'
S_SPRING = 'Spring'
S_SUMMER = 'Summer'
TYPES_OF_SEASON = [S_AUTUMN, S_WINTER, S_SPRING, S_SUMMER]
# Times
TIME_OF_GROWING = 2
TIME_OF_MOVING = 2
# Args
SAVE_MAP = '--save-map'
LOAD_MAP = '--load-map'
AUTO_MODE = '--auto-mode'