7.8.0.1

2 — Tile Analysis

Due Thursday, 26 September 2019, midnight

Delivery Use the Tsuro directory in your repository to deposit

Design Task An implementation of Tsuro clearly demands a data representation for boards. Both player and referee components need to agree to interfaces to the board and the ontology of referring to things on the board (positions, directions). A player may also need a board representation for strategizing about moves.

Develop a data representation for Tsuro boards with interfaces for players and referees.

Describe what the desired methods/functions should compute without pre-determining how they should compute it. Recall that a data representation includes data definitions for all related forms of information.

The memo must not exceed two pages. Less is more.

Programming Task Develop a Tsuro tile representation. Keep Tsuro.Com, a Plan and your board specification in mind.

Design a function for rendering tiles graphically. This function may map a tile (representation) to ASCII art, graphical images (if your PL/IDE support this), decorations found on line, etc.

A careful analysis reveals that there are 35 distinct Tsuro tiles. All others are obtained from these via rotations by 90, 180, 270 degrees.

Design a function that computes the data representations of the 35 unique configurations. (Yes, I am asking you to do a tiny bit of generative recursion here; but don’t jump out of the bath tub and run out of your apartment naked.)