# TDP **Repository Path**: tgfgh_admin/TDP ## Basic Information - **Project Name**: TDP - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: Malixun - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-18 - **Last Updated**: 2024-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # red_players:
[
{'x': -428, 'y': 0, 'name': 'Player0', 'number': 0, 'radius': 18, 'ban_cycles': 0},
{'x': -334, 'y': 216, 'name': 'Player1', 'number': 1, 'radius': 10, 'ban_cycles': 0},
{'x': -250, 'y': -217, 'name': 'Player2', 'number': 2, 'radius': 10, 'ban_cycles': 0},
{'x': -167, 'y': 216, 'name': 'Player3', 'number': 3, 'radius': 10, 'ban_cycles': 0},
{'x': -83, 'y': -217, 'name': 'Player4', 'number': 4, 'radius': 10, 'ban_cycles': 0},
]
# blue_players:
[
{'x': 428, 'y': 0, 'name': 'Player0', 'number': 0, 'radius': 18, 'ban_cycles': 0},
{'x': 334, 'y': -216, 'name': 'Player1', 'number': 1, 'radius': 10, 'ban_cycles': 0},
{'x': 250, 'y': 217, 'name': 'Player2', 'number': 2, 'radius': 10, 'ban_cycles': 0},
{'x': 167, 'y': -216, 'name': 'Player3', 'number': 3, 'radius': 10, 'ban_cycles': 0},
{'x': 83, 'y': 217, 'name': 'Player4', 'number': 4, 'radius': 10, 'ban_cycles': 0},
]
# ball:
{'x': 0, 'y': 0, 'radius': 8, 'owner_color': None, 'owner_number': None, 'speed': 0, 'direction': None}
* owner_color choices: red, blue
* owner_number choices: 0,1,2,3,4,5
# scoreboard:
{'red_score': 0, 'blue_score': 0, 'cycle_number': 1}
* max cycle_number: 500
# move decision:
{
'type': 'move',
'player_number': 3,
'destination': {'x': 190, 'y': 30},
'speed': 10,
}
* player_number: from 0 to 5
* destination must be inside the football screen
* speed: from 1 to 10
# grab decision:
{
'type': 'grab',
'player_number': 3,
}
* The distance between the player and the ball must be less than 18 pixels to catch the ball (26 px for player number 0)
* If the ball is not owned by any other player, grab request will be successful with 100% probability
* If the ball is owned by any other player, grab request will be successful with 50% probability
# kick decision:
{
'type': 'kick',
'player_number': 3,
'direction': 20,
'power': 60,
}
* The player must be the owner of the ball
* direction: from 0 to 360
* You can use get_direction function to obtain direction
* power: from 1 to 60
* friction: 5
### ALLOWED_PLAYERS_IN_PENALTY_AREA_NUMBER = 3
### ALLOWED_PLAYERS_AROUND_BALL_NUMBER = 1
### ALLOWED_PLAYERS_AROUND_BALL_RADIUS = make_even_number(3 * (PLAYER_RADIUS + BALL_RADIUS)) # 54
### BALL_CROWDED_BAN_CYCLES = 25
### PENALTY_ARIA_BAN_CYCLES = 20