Quoridor: Playing A Maze Game On The Console With Python Integration weeks at Marmelab are amazing! Barely arrived, I shook hands of my new coworkers. Then, François told me: “Do you know Quoridor?”. I said “No”. So he explained me the rules. We played a game. I lost! And he told me that Quoridor will be the game I will work on during my integration period. Every challenge will have its own constraints. So my first challenge develop a playable Quoridor game in a Terminal using Python. Brutal, but very exciting! Quoridor is a board game playable from two to four persons. At the beginning, each player has a pawn placed in the middle of their side. Their goal is to reach the opposite side. Players play one after the other. Players can choose between moving their pawn, or putting up a fence. You can move your pawn according to a few rules:
- One square at a time in all directions except diagonally [1],
- as long as you do not cross a fence [2],
- behind another pawn [5] (jump action),
- in diagonal when a fence is behind your opponent [3, 4], Fences are two squares long, and you can place them between any squares - except that you cannot add a fence which disallows the pawns to reach their goal. There is a limit of fences a player can put up: 10 fences for a 2 players game, and 5 fences for 3 or 4 players games. Before moving on, take a moment to think about how YOU would implement such a game. No straightforward, isn’t it? Throughout the challenges, I learned the processes that marmelab engineers use every day. It’s based on agile methodologies and rituals such as planning poker, daily meetings, retrospective, … What I appreciate the most is the process of pull requests, and for several reasons. Each pull request (PR) is reviewed by at least one other developer. Code reviews are important to detect bugs, bad architecture/code, and also to share the knowledge. It is a good opportunity to progress quickly if you follow the recommendations. The PR title has a prefix...



