Exemple #1
0
def forming_squad_column_wedge_message(name):
    """Message sent by warbots that are moving to form squad column wedge"""
    message = {
        MESSAGE_TYPE: FORMING_SQUAD_COLUMN_WEDGE,
        FROM: name,
        TIMESTAMP: timestamp()
    }
    return json.dumps(message)
Exemple #2
0
def ready_for_movement_message(name):
    """Message sent by warbot that is in position and ready for movement"""
    message = {
        MESSAGE_TYPE: READY_FOR_MOVEMENT,
        FROM: name,
        TIMESTAMP: timestamp()
    }
    return json.dumps(message)
Exemple #3
0
def in_security_perimeter_position_message(name):
    """Message sent to squad leader to establish security perimeter"""
    message = {
        MESSAGE_TYPE: IN_SECURITY_PERIMETER_POSITION,
        NAME: name,
        TIMESTAMP: timestamp()
    }
    return json.dumps(message)
Exemple #4
0
def your_turn_message(visible_map):
    """Message that indicates the agent needs to decide and submit a take_turn message"""
    message = {
        MESSAGE_TYPE: YOUR_TURN,
        VISIBLE_MAP: visible_map,
        TIMESTAMP: timestamp()
    }
    return json.dumps(message)
Exemple #5
0
def limit_of_advance_message(name):
    """Message sent by Team B indicating limit of advance reached"""
    message = {
        MESSAGE_TYPE: LIMIT_OF_ADVANCE,
        NAME: name,
        TIMESTAMP: timestamp()
    }
    return json.dumps(message)
Exemple #6
0
def ready_to_flank_message(name):
    """Message sent by Team B to Squad Leader indicating ready to flank OPFOR"""
    message = {
        MESSAGE_TYPE: READY_TO_FLANK,
        NAME: name,
        TIMESTAMP: timestamp()
    }
    return json.dumps(message)
Exemple #7
0
def suppressive_fire_position_message(suppressive_fire_position):
    """Message sent by A Team Leader that gives the suppressive fire position"""
    message = {
        MESSAGE_TYPE: SUPPRESSIVE_FIRE_POSITION,
        LOCATION: suppressive_fire_position.to_dict(),
        TIMESTAMP: timestamp()
    }
    return json.dumps(message)
Exemple #8
0
def election_name_declare_message(name):
    """Message that implicitly starts the leader election and gives name for comparison"""
    message = {
        MESSAGE_TYPE: ELECTION_NAME_DECLARE,
        NAME: name,
        TIMESTAMP: timestamp()
    }
    return json.dumps(message)
Exemple #9
0
def squad_leader_waypoint_message(waypoint):
    """Message sent by squad leader giving a waypoint for movement toward the objective"""
    message = {
        MESSAGE_TYPE: SQUAD_LEADER_WAYPOINT,
        WAYPOINT: waypoint.to_dict(),
        TIMESTAMP: timestamp()
    }
    return json.dumps(message)
Exemple #10
0
def flanking_position_message(flanking_position_waypoint, flanking_position):
    """Message sent by B Team Leader that gives the flanking position waypoint and the flanking position"""
    message = {
        MESSAGE_TYPE: FLANKING_POSITION,
        FLANKING_POSITION_WAYPOINT: flanking_position_waypoint.to_dict(),
        FLANKING_POSITION: flanking_position.to_dict(),
        TIMESTAMP: timestamp()
    }
    return json.dumps(message)
Exemple #11
0
def election_compare_message(my_name, their_name):
    """Message that indicates a warbot won an name comparison against another warbot"""
    message = {
        MESSAGE_TYPE: ELECTION_COMPARE,
        WINNER_NAME: my_name,
        LOSER_NAME: their_name,
        TIMESTAMP: timestamp()
    }
    return json.dumps(message)
Exemple #12
0
def take_turn_do_nothing_message(name):
    """Message that the agent sends to take a turn, but take no action"""
    message = {
        MESSAGE_TYPE: TAKE_TURN,
        FROM: name,
        ACTION: DO_NOTHING,
        TIMESTAMP: timestamp()
    }
    return json.dumps(message)
Exemple #13
0
def election_end_message(my_name):
    """Message that indicates a warbot has defeated all challengers and
       not received additional challenges before the timeout"""
    message = {
        MESSAGE_TYPE: ELECTION_END,
        WINNER_NAME: my_name,
        TIMESTAMP: timestamp()
    }
    return json.dumps(message)
Exemple #14
0
def take_turn_move_message(name, location):
    """Message that the agent sends to take a turn by moving"""
    message = {
        MESSAGE_TYPE: TAKE_TURN,
        FROM: name,
        ACTION: MOVE_TO,
        LOCATION: location.to_dict(),
        TIMESTAMP: timestamp()
    }
    return json.dumps(message)
Exemple #15
0
def take_turn_fire_message(name, location, direction):
    """Message that the agent sends to take a turn by firing a weapon"""
    message = {
        MESSAGE_TYPE: TAKE_TURN,
        FROM: name,
        ACTION: FIRE_AT,
        LOCATION: location.to_dict(),
        DIRECTION: direction.to_str(),
        TIMESTAMP: timestamp()
    }
    return json.dumps(message)
Exemple #16
0
def team_assignment_message(squad_leader, team_a, team_b_leader, team_b):
    """Message sent by leader that assigns warbots to teams"""
    message = {
        MESSAGE_TYPE: TEAM_ASSIGNMENT,
        SQUAD_LEADER: squad_leader,
        TEAM_A: team_a,
        TEAM_B_LEADER: team_b_leader,
        TEAM_B: team_b,
        TIMESTAMP: timestamp()
    }
    return json.dumps(message)
Exemple #17
0
def shutdown_message():
    """Message that directs the receiver to cleanly shutdown"""
    message = {MESSAGE_TYPE: SHUTDOWN, TIMESTAMP: timestamp()}
    return json.dumps(message)
Exemple #18
0
def mission_complete_message():
    """Message that indictes the mission is complete"""
    message = {MESSAGE_TYPE: MISSION_COMPLETE, TIMESTAMP: timestamp()}
    return json.dumps(message)
Exemple #19
0
def lift_and_shift_fire_message():
    """Message sent by Squad Leader to direct lift and shift fire for Team A and assault for Team B"""
    message = {MESSAGE_TYPE: LIFT_AND_SHIFT_FIRE, TIMESTAMP: timestamp()}
    return json.dumps(message)
Exemple #20
0
def start_movement_message():
    """Message sent by leader to start movement to objective"""
    message = {MESSAGE_TYPE: START_MOVEMENT, TIMESTAMP: timestamp()}
    return json.dumps(message)
Exemple #21
0
def secure_objective_message():
    """Message sent by squad leader to form security perimeter around objective"""
    message = {MESSAGE_TYPE: SECURE_OBJECTIVE, TIMESTAMP: timestamp()}
    return json.dumps(message)
Exemple #22
0
def warbot_online_message(name):
    """Message to notify other warbots that this warbot is operational"""
    message = {MESSAGE_TYPE: WARBOT_ONLINE, FROM: name, TIMESTAMP: timestamp()}
    return json.dumps(message)
Exemple #23
0
def opfor_contact_message():
    """Message that indicates contact with OPFOR and transition to direct attack"""
    message = {MESSAGE_TYPE: OPFOR_CONTACT, TIMESTAMP: timestamp()}
    return json.dumps(message)