Is this is a computer-based game or is it a board game?
No CDs, electronics, or batteries are
Is while ( x > 0 ) an endless loop?
No, it is not. In c-jump, players test conditions and do the arithmetics only at the beginning of the move, not in the middle, nor after. In the middle of the move the skier always follows the blue trail downhill.
For example, if your skier is on top of the hill, above the while(x>0) loop, then
If you roll 5 or 6, you pass the while location, following the blue arrow straight down the hill. In this case, you never enter the orange pathway of the loop, nor test the (x>0) condition.
However, if you roll 4, you move down 3 spaces and land on the square marked while(x>0).
Now it's next player's turn to move.
When it's time for you to move again, you always enter the loop since (x>0) will be true.
Once inside the loop, you awarded a free roll. At some point, if you have enough steps to move beyond the original while(x>0) square, you should follow the blue trail down, not the orange one back into the loop.
A skier could re-enter the loop pathway, but only if the skier starts
specifically at the square marked while.
Why does the game include the infamous goto statement?
Programmers avoid using goto in their work, since such programs would quicky become hard to understand and maintain.
We decided to introduce the goto to c-jump players, since this is one of the fundamental concepts of the low-level programming. In the game, the goto statement changes position of your skier from better to worse, so you should avoid it, too !
Although goto statements are rare in modern programs, they still have their use. In some cases, they can increase the speed of execution, which is important for computer hardware. In other cases, goto can simplify a way of exiting from some deeply nested loops, for example, if a critical error occurs.
How much time is required to complete c-jump session with 2 players? 4 players?
One c-jump game session with 2 players takes about 30 minutes to complete.
Joining in of another player adds an additional 5-10 minutes of extra time to
Do players evaluate each square as they pass over them? Or does the game intend to be not like a programming language, but just like a board game that is "similar to, but not the same as" a programming language?
In c-jump, players test conditions and do the arithmetics only at the beginning of the move, not in the middle, nor after. Moreover, in the middle of the move, the skier always follows the fastest ski trail downhill.
Explanation: the rules of c-jump were designed to make young players experience elements of a programming language when they start their move at particular location on the board. Testing with middle school students (ages 12-14) and experimenting with various statements proved to be too tedious to evaluate each statement on the path during the move.
C-jump does not aim to emulate the work of C or Java compiler, which interprets every statement in a program. C-jump gives players an ability to learn bits of programming by looking at the existing code and making decisions about the outcome of particular statements. Playing with multiple pieces enhances such experience, as players can choose a better alternative.
US Patent 6,135,451
© 1997-2016 Igor Kholodov.
All rights reserved. This document is protected by International and US Copyright Laws. No part of this document may be reproduced in any form by any means without prior written authorization. The information described in this document is protected by one or more U.S. patents, foreign patents, or pending applications.