# Activities/Blocku

Blocku is a puzzle game consisting of filling a grid with squares by matching the squares sides by following a constraint. Blocku is a game that can be used by teachers to teach a multitude of subjects to students. The teacher will be able to create a constraint such as match the formula to the answer or A + B = C. Then the teacher makes a list with two columns. Each row in the columns is a pair of of matching objects. The first row of column A matches the first row of column B. Using this formula the game will randomly assign the objects of each column to square blocks, one object per side. The student then has to put all the pieces in a grid so that pairs on the sides of the squares follow the constraint. The student will be able to move the pieces as well as rotate them.

## Description (original)

Blocku is a math based jigsaw puzzle. Blocku will come with a few pre-made puzzles. It will have a teacher edit tool where teachers can make their own puzzles. Puzzles can be as complicated as a castle or as simple as a square. The teacher will be given a grid where he/she can specify how the puzzle is supposed to look. Then the teacher chooses what type of operator he/she wants (+, -, x, /). Then the teacher inputs the answer. The activity randomly chooses what number will appear on the sides of each square.

To complete each puzzle the student has to match the sides of squares together so that the numbers finish the math equation at the top of the screen. The puzzle is completed when all pieces are used and are in the correct positions. Below is an example of how a game may progress.

## Student

The student will be able to choose from past made puzzles as practice or from pre-existing puzzles for fun as a way to play Blocku. When the teacher is in control they will be able to join the class with the task at hand.

- Can choose to use pre-made puzzles
- Can choose difficulty
- Can choose grid size
- Can choose the set of numbers
- Can choose operators used
- Is given the answer then the puzzle

## Teacher

The teacher here would set all of these preferences and then share the activity, then they can look at statistics based on the class. The main basis here would be time but also an error rate should be tracked along with this data.

- Can set difficulty
- Can set grid size
- Can set the set of numbers
- Can set the operators used

## Updates

01.14.2010 Updated the Wiki Page with New Links

01.16.2010 Updated the Wiki Page with new suggestions

01.21.2010 Updated the Wiki Page with new description, milestones, and logo

01.27.2010 Added in Fran, Added in summaries for student/teachers

## Contacts

## Development Meetings

4pm-6pm Wednesday January 20, 2010

4pm Thursday January 28, 2010 (IRC)

## Sketch Up

## Milestones

-~~Decide which program to use as a foundation. (Tetravex, Super Cube, Jigsaw-Puzzle)~~

-Display a graphical interface.

-Display squares with numbers.

-Make squares movable and able to be rotated.

## Bugs/Fixes

## Game Suggestions

- Benjamin M. Schwartz (via email)

I think it's great. Three points: 1) Users probably don't want to play many games of the same operation (e.g. x+y=10), and the teacher probably doesn't want to create a new game for every operation. You should allow users to select a range of operations (e.g. numbers up to 12, + - and *) and have the game select a random operation from the set for each game. 2) There are some interesting possibilities for using network collab between users and teachers, but work on that last. To start, users should just punch in the operation (or range of operations) when the activity launches. Teachers can just tell the students what settings to use, and then look at the screens to verify. 3) The visual structure of the game seems almost identical to Gnome's Tetravex. In the spirit of Open Source, you should consider reusing the Tetravex gameboard display code. --Ben

- Wade Brainerd (via email)

Looks great Mark! Feel free to get in touch with me if you need any help with implementation. I agree with Greg that this would be a good target for PyGame. Regarding the game design, you should consider adding some sense of progress, or else players will get tired quickly. Some ideas: - Start with two cards, gradually ramp up to 9. - There needs to be a good "snapping" mechanism when dropping, so users don't get frustrated by trying to line the cards up. - Adding the ability to rotate the cards in 90 degree increments would add to the challenge. - Your notion of customization seems limited to replacing the square with a graphic, which might obscure the number. Is this really a good way to customize it? - I agree with Ben that when you start the game you should first select which types of puzzles (* + - / etc) you want, how many squares, whether rotation is allowed. No need for the teacher to be involved. - Why limit it to numbers? E.g. how about comparisons like "X is heaver than Y" and on the sides of the cards are things like "elephant", "bacteria", etc. Or "X is newer than Y", etc. This is where customization would be cool. Let the teacher define a relationship, and input a series of terms, and define which pairs meet that relationship. This would be called a "set", and could be exported to the Journal. Good luck with your project!

- David Farning (via email)

Very clever. I just cut made a cut out of the game out of paper. My 1st grade niece played with it for over half an hour. It will be a hit on her XO. david

- Greg DeKoenigsberg (via email)

Mark, this looks like a brilliant little activity. Simple, fun gameplay, extensible. Really great. Some thoughts: 1. I'd love to see this as primarily a PyGame activity, with just enough "Sugar" to run it on Sugar easily, but also easily available as a Windows or Mac activity. If done well, this is precisely the sort of activity that could cross over. (Which is, in fact, how I'd like to see most Sugar games built.) 2. Always think a little bit (but not too much) about assessment. The student knows they're getting better because they are "leveling up". The teacher knows the kid is getting better because... how? Game data is pushed up to a server... somehow? Dunno if anyone is paying attention to this question, but it would be great if there were a simple way to allow teachers to aggregate "high score" data, which really doubles as assessment data in cases like this. A great start. I look forward to seeing what it becomes. --g

## Public Git Repository

http://git.sugarlabs.org/projects/blocku

## Public IRC Channel

Server: irc.freenode.net

Channel: #blocku