A word about documentation
We all know information is priceless. Whether we’re trying to find out how maglev trains work, or why there exist such a thing as the laplace transform, or even simplier: how to add friends in facebook. We always look for information.
In informatics, it is not different, programmers need to know how a program works before updating it, fixing it or adding new functions. Documenting software is not an easy task. Documenting is a way of describing how “your baby” should be used. Why it shouldn’t be used in certain cases and how it works.
Feed The World : The French Robot Cup 2010
The 2010 French Robot Cup rules are now online. You can get your own english copy here.
The objective of this year Robotics Cup is to collect elements from three different game zones. The elements represent either cereals, vegetables or flowers. There are two white boxes that will be used to weigh the collected products. Heavier objects are more difficult to collect. The robot that recollects the heaviest wins.

Teams can now focus on their robot designs. We’ll see how creative other teams get.
Now, It’s our turn to go back to the design board here at clubelek.
The Sigma Project 2009, follow-up
The development of this robot was halted during the summer holidays, however the project got really advanced in July, where with only a single month of work, results were already visible.
As I’ve already said in an older post, I first defined what I wanted the robot to do, then I started the “real” stuff
:
The robot was (is) developed in three main phases:
I first chose every component knowing in advance which circuit boards I wanted to create. Then, I developed the electronic schematics, and finally designed the PCBs (Printed Circuit Boards). The following image shows result of one of the boards :

Project Euler
Project Euler is a series of challenging mathematical/computer programming problems, their difficulty varies from one problem to another and theoretically, they can be solved by anyone. A good mathematical knowledge is required to solve most of them, and good programming skills will make your life easier.
You may however, use the inductive chain learning approach, where solving the first problems will help you solve the next ones and so on by learning new methods and concepts, both in mathematics and in programming.
It’s never late!
Long time ago, before going to the French Robot Cup. We created a beautiful artwork to show off the capabilities of Parki The Robot, both in French and in English.
Some had the idea of using an “octopus” style with connectors to ideas and information :

Really guys, what were you thinking??!!
[...]
Parki Internals III : Design Hints and Informatics
What is a robot without its programming? Just a bunch of metal and electronics that lay in a garage. A good informatics design is just as important as a good mechanical and electronic design. Without them, robots cannot “live”.
With Parki, the mechanical part was very well designed. It was simple, but reliable. The electronics were at least as good as the mechanics, without it the robot would have just been a collection of aluminium pieces assembled together.
And we tried as much as possible to well design Parki’s mind software.:P
Your first SFML game, Part IV: The main loop
We already had a main loop for our game, but it didn’t to anything:D.
Here we’ll modify it to make it work with our board and our userInterface.
We keep the usual SFML headers, and we add our custom classes:
//////////////////////////////////////////////////////////// // main.cpp //////////////////////////////////////////////////////////// #include <sfml /Graphics.hpp> #include "board.h" #include "uInterface.h"
We create the window and we add a frame rate limit. By The Way if you don’t want to use anti aliasing replace the appropriate lines of code :
Your first SFML game, Part III: The User Interface
We already have a fully working game. But… we can’t play it yet!! We have to decide how the game should work with the player… Well, I’ve already decided it for you ![]()
When the player clicks a column, it will try to add a token.
If the column has no more empty spaces, the player should retry in another column.
When a player has won, or the board is full. A click on the screen will restart the game. You can play again
To do these, we’ll have a class that will interact with the players.
We include board.h because we’re using the board within the userInterface class:
//////////////////////////////////////////////////////////// // uInterface.h //////////////////////////////////////////////////////////// #ifndef UI #define UI #include "board.h"
Your first SFML game, Part II : The board
Hello reader!
In this post we’re creating the necessary code to display the game’s board. It should be very easy to understand, so if you have any problems or suggestions please make a comment.
The main loop :
////////////////////////////////////////////////////////////
// main.cpp
////////////////////////////////////////////////////////////
#include <sfml /Graphics.hpp>
#include "board.h"
int main()
{
// Create main window, using the best available resolution
sf::RenderWindow App(sf::VideoMode::GetMode(0),
"Your first SFML game: 4 in a row!");
// Reduce CPU usage by limiting the times a frame
// is drawn per second
App.SetFramerateLimit(30);
// This is the main loop
// It will loop until you exit the program
while (App.IsOpened())
{
// Here we process the events list
sf::Event Event;
while (App.GetEvent(Event))
{
// Close window : exit
if (Event.Type == sf::Event::Closed)
App.Close();
}
// Clear the screen with a color
App.Clear();
// Here you will draw all stuff in the frame buffer
// Render the frame on screen
App.Display();
}
return EXIT_SUCCESS;
}
If you compile this code, it will create a black window. This is the base of our code.
