Kata: Sokoban in Python (www.rubyquiz.com/quiz5.html)
20:15 ~ 20:30 Choosing and Discussing the Problem
After we decided to solve the Sokoban problem, we started discussing about it. We should not focus on an algorithm to actually solve a given level, but actually build a command interpreter and the game engine to simulate a Sokoban game. We agreed on the conventions for the symbols used to represent each item in a Sokoban level such as : the man, a box, a storage, an empty floor, and walls.
20:30 ~ 22:00 Coding Session
The problem was solved in Python in a RandoriKata style, switching pairs every 7 minutes. We came up with a TO DO list of things to implement. At the end of the Randori session, we were not able to finish the Kata, but it was possible to parse a level, walk and detect invalid movements. The code is available at groups.google.com/group/dojo_sp/files.
22:00 ~ 22:15 Retrospective
Some of the lessons learned from the session were: some Python tricks (such as using list comprehensions and split); it was difficult to start coding and the problem was not as simple as it seemed; it was good to have our red/green gadget working again. Some of the things that could be improved: we would be able to finish if we had more time; there was a lot of talking in red; some people suggested a more object-oriented paradigm to tackle the problem.