Table of Contents
How to Set Up for ICYPC Ladder Competition
~/icypc(directory in your home directory)
- Make world readable/executable (
- Create executable shell scripts in
~/icypc(see the next section for examples):
- Naming convention: Please do not use
.characters in your script names (just alphanumerics).
- Be sure to make them executable (again,
chmod 755will do it)
- Register program(s) at ladder website: https://pc.cs.purdue.edu/icypc
- To help with some automation to locate competitors, please ensure that the only executable files in
~/icypcare competitor scripts.
A quick way to ensure that your icypc directory and all files are world-readable and (where appropriate) world-executable:
% chmod -R o+rX ~/icypc
This command recursively (
-R) sets all permissions in your
~/icypc directory and subdirectories to world (“o” for “other”) readable (“r”) and executable (“X”, which sets the execute bit only on directories and files that are already executable).
Note that this command makes everything in your
icypc directory readable, including source code if it is there.
You might find it useful to create subdirectories in
~/icypc (or elsewhere) to contain your source code and a working copy of your binaries (e.g., .class files for Java). Then, when you've sufficiently debugged your competitor and want to take on other players on the ladder, copy your binaries to the
~/icypc directory for execution by your competitor script.
- Any time a challenger beats a defender, the two competitors swap positions in the ladder.
- If a challenger scores 0 points in a match, that competitor is benched, making it unavailable for future matches until it has been readied again for competition (e.g., by resubmitting it by the original author).
#!/bin/sh cd /homes/YOUR-LOGIN-ID/icypc /p/java-1.6/bin/java java_example.Hunter
#!/bin/sh cd /homes/YOUR-LOGIN-ID/icypc c++_example/camper
You can view a replay of any ladder match. (Trace files are kept in
- To view a match in 2D (
NNNis the match number):
% /homes/cs390cp/bin/view2d NNN
- To view a match in 3D (
NNNis the match number):
% /homes/cs390cp/bin/view3d NNN
- To view the stdout from the match:
% /homes/cs390cp/bin/viewso NNN
- To view the stderr from the match:
% /homes/cs390cp/bin/viewse NNN
To Play a "Friendly" Competition with One Another
- Use setup as above.
- Example (with assumed student/player names)…
% java -jar icypc.jar -player pipe 1 /homes/li400/icypc/hunter -player pipe 1 /homes/wzhang/icypc/planter
There is an example “battle” script in
/homes/cs390cp/bin/battle, which takes four arguments:
% /homes/cs390cp/bin/battle li400 hunter wzhang planter
Also, see the “hunter” and “camper” scripts in /homes/jtk/icypc for examples of running Java and C++ competitors. There is also a “twoer” script that uses a two hunter plus two planter strategy.