Creating a digital version of ubongo

I am thinking of creating an electric version of ubongo (a game where you must place tetrislike pieces on a playmat that changes for each round). (see attached photo)

I want to get your ideas on how to read which pieces are placed on the board and how.

My idea is something along these lines: Each piece has a piece identifier (piece1, piece2 …). All pieces are seen as several squares put together. Each square has a square identifier (square1, square2). I can program the arduino to understand that for a given playmat square1 of piece1 must be placed here or there and so forth.

My question: Given my idea - what kind of components can I use to register where the different squares are placed? Maybe something with different resistance in each square signifying its number?

Other ideas to establish where pieces are placed are also welcome!

Image from Original Post so we don't have to download it. See this Simple Image Posting Guide

...R

What about having a light dependent resistor (LDR) in each board square. Then when a piece is put down the LDRs for the covered squares will go dark. It should be possible by knowing which squares have recently changed from light to dark to identify the shape of the piece that was put down.

...R

That is an option - but I am afraid that it will get too easy to cheat it (by covering the LDR for example). Other ideas?

Vitcho: but I am afraid that it will get too easy to cheat it

Find some friends who won't cheat.

I don't see how it would be possible to cheat because it would be necessary to have the LDR covered all the time - what would you cover it with? A finger?

If you are seriously worried about people covering LDRs with their hands then have a button that needs to be pressed to register a tile and only press that when all hands are clear of the board.

If you are thinking that two people could play the game in different places linked by an internet connection then it would be easy to cheat without ever having a board. Which brings me back to my opening statement. :)

...R