Skip to content
Robot On-Ramp
Level 1, Pup0 XP0 of 150 XP to Scout
Back to the map

Red text is feedback, not failure

Error Bestiary

0 of 45 met

0 tamed

You meet a creature the first time it shows up in one of your runs. You tame it when a later run gets past it. Nobody here has ever written code without meeting a few. Join a team and the ones you meet start counting.

Showing 45 creatures.

  • ?????Not met yet. Most people run into this one in week 1.
  • ?????Not met yet. Most people run into this one in week 1.
  • ?????Not met yet. Most people run into this one in week 1.
  • ?????Not met yet. Most people run into this one in week 1.
  • ?????Not met yet. Most people run into this one in week 1.
  • ?????Not met yet. Most people run into this one in week 1.
  • ?????Not met yet. Most people run into this one in week 1.
  • ?????Not met yet. Most people run into this one in week 1.
  • ?????Not met yet. Most people run into this one in week 2.
  • ?????Not met yet. Most people run into this one in week 2.
  • ?????Not met yet. Most people run into this one in week 2.
  • ?????Not met yet. Most people run into this one in week 2.
  • ?????Not met yet. Most people run into this one in week 2.
  • ?????Not met yet. Most people run into this one in week 2.
  • ?????Not met yet. Most people run into this one in week 2.
  • ?????Not met yet. Most people run into this one in week 2.
  • ?????Not met yet. Most people run into this one in week 2.
  • ?????Not met yet. Most people run into this one in week 2.
  • ?????Not met yet. Most people run into this one in week 2.
  • ?????Not met yet. Most people run into this one in week 2.
  • ?????Not met yet. Most people run into this one in week 2.
  • ?????Not met yet. Most people run into this one in week 2.
  • ?????Not met yet. Most people run into this one in week 2.
  • ?????Not met yet. Most people run into this one in week 2.
  • ?????Not met yet. Most people run into this one in week 3.
  • ?????Not met yet. Most people run into this one in week 3.
  • ?????Not met yet. Most people run into this one in week 3.
  • ?????Not met yet. Most people run into this one in week 3.
  • ?????Not met yet. Most people run into this one in week 3.
  • ?????Not met yet. Most people run into this one in week 3.
  • ?????Not met yet. Most people run into this one in week 3.
  • ?????Not met yet. Most people run into this one in week 3.
  • ?????Not met yet. Most people run into this one in week 3.
  • ?????Not met yet. Most people run into this one in week 3.
  • ?????Not met yet. Most people run into this one in week 3.
  • ?????Not met yet. Most people run into this one in week 3.
  • ?????Not met yet. Most people run into this one in week 3.
  • ?????Not met yet. Most people run into this one in week 4.
  • ?????Not met yet. Most people run into this one in week 4.
  • ?????Not met yet. Most people run into this one in week 5.
  • ?????Not met yet. Most people run into this one in week 5.
  • ?????Not met yet. Most people run into this one in week 5.
  • ?????Not met yet. Most people run into this one in week 6.
  • ?????Not met yet. Most people run into this one in week 6.
  • ?????Not met yet. Most people run into this one in week 6.

Traps that make no noise

These 3 break nothing. The compiler says nothing, the program runs, and the answer is quietly wrong — so there is no meeting them and no taming them. Read them now and recognise them later.

  • The Silent RounderWhole number divided by whole number gives a whole number, and the rest is thrown away without a word.Week 1

    What it looks like

    (no error at all — it compiles, it runs, and the answer is wrong)

    How to beat it

    1. `2048 / 42` is `48`, not `48.76`. Java cut the rest off.
    2. Make one side a decimal: `ticks / 42.0`, or `(double) ticks / ticksPerRotation`.
    3. Writing `double revs = 2048 / 42;` does NOT help — the division already happened before the answer reached the box.

    Usually caused by: Converting encoder ticks to rotations with two ints.

    silent.integer.division

  • The One-Eyed Equals, Quiet Form`if (hasGamePiece = true)` compiles, sets the variable to true, and then runs the branch every single time.Week 2

    What it looks like

    (no error at all — the branch simply always runs)

    How to beat it

    1. For a boolean, write `if (hasGamePiece)`. No `==` needed at all.
    2. If the branch runs when it obviously should not, go and count the equals signs.
    3. The same mistake on a `double` is a compile error. On a `boolean` Java says nothing.

    Usually caused by: Typing one `=` in an `if` that tests a true/false value.

    silent.boolean.assignment

  • The Silent Twin`==` on text asks whether it is the SAME object, not whether it says the same thing.Week 6

    What it looks like

    (no error at all — the comparison is just false when it should be true)

    How to beat it

    1. For text, always use `.equals()`: `mode.equals("Left")`.
    2. It looks like it works for two plain quoted words, because javac shares those behind your back. As soon as one side comes from a file or a dashboard, it stops working.
    3. Put the known value first — `"Left".equals(mode)` — and it cannot crash even when `mode` is null.

    Usually caused by: Comparing an auto mode read off the dashboard with `==`.

    silent.string.equality

Error Bestiary · Robot On-Ramp