Get a chance to win a BBQ!
Join the Mathrix MindPhair puzzle competition for your chance to win an Kamado 13 BBQ. At Mathrix, we love a good challenge, and we’re inviting you to take part in this fun competition. Ready to put your skills to the test? Submit your answer as .py file before the 8th of April and if you have any questions, feel free to reach out to us at recruitment@mathrix.com.
The winner will be announced after April 15th. Good luck!
Mathrix Challenge 2026: Foosball Introduction
After a day of work, we like to unwind with a game of foosball at Mathrix. But we should not forget our computers — they also deserve some leisure time! That is why we created a foosball game especially for them. Can you help us by writing instructions for the computer to follow? Write a Python function that determines the movements of your players and, if applicable, the ball. Your function must produce its output within 0.01 seconds. You may use only the following libraries: numpy, time, and matplotlib.
Concretely, your function must return an instance of the class StrategyOutput, which has two members: coords and state.
The member state may be any Python object of your choice. It will be passed back to your function on the next call, allowing you to retain information across iterations (e.g., previous game states) and adapt your strategy over time.
The game is played between two teams: Team 0 and Team 1.
Each team has five players, and there is one ball on the field.
The game proceeds in discrete iterations until 1000 iterations have been performed.
Both teams receive the current game state.
Simultaneously, both teams submit their strategy outputs.
Player movements are executed first.
If applicable, the ball is then shot.
If the number of iterations is below 1000, the next iteration begins.
A player intercepts the ball if, after moving, their distance to the ball's trajectory is at most 1 meter.
Pitch boundaries: All players must remain within the pitch boundaries at all times.
Ball boundaries: The ball must not be shot beyond the top and bottom boundaries of the pitch.
Maximum movement: A player may move at most 10 meters per iteration.
Minimum movement (non-possessing players): A player who does not possess the ball must move at least 1 meter per iteration.
https://mathrix.com/mindphair/foosball.py
Submit your answer as .py file before the 8th of April and if you have any questions, feel free to reach out to us at recruitment@mathrix.com. The winner will be announced after April 15th. Good luck!