Rules

In all games, a robot considers itself tagged when its bumper is hit, it hears the tagged message, and it sees a light, all within TAG_TIME x 10 ms.

 

Parameters:

TAG_TIME = 12

LEADER_TIME = 50

TAG_REPEAT = 10

TAG_TIME = 20

TAGGED = 254

GOT_TAG = 222

 

Marco Polo 1

 

Rule

Test

Percent

1

Leader election: All robots run the leader election algorithm first, until LEADER_TIME * 10ms after last change in lowest ID

Leader.nqc

a.     Set test robotŐs id=1

b.     Set test robotŐs id=255

10

2

Leader election: All robots display lowest ID seen

3

Leader election: Leader plays sound up

4

When IT hits anything, it sends a TAGGED message at TAG_REPEAT x 10 ms intervals for TAG_TIME x 10ms.

Receive.nqc

25

5

After a robot has been tagged, it responds with the GOT_TAG message at TAG_REPEAT x 10ms intervals for TAG_TIME x 10ms.

 

ITTag.nqc: use this alone to check that robot becomes IT when tagged and no other robot responds

Ack.nqc: use with ITTag.nqc to make sure that robot handles a false tag correctly.

ITReceive.nqc: use to test that IT handles tags properly

25

6

If IT receives no GOT_TAG in the TAG_TIME x 10ms interval after a tag, it continues as IT

If IT receives a GOT_TAG, it becomes a normal robot.

Ack.nqc

a.     Send Ack after n messages

b.     Send two Acks

20

7

Each robot tracks the time it spends as IT.

IT.nqc, Ack.nqc (run repeatedly)

15

8

Each robot displays its total time as IT.

9

Every robot must respond to Marco when itŐs not IT

Marco.nqc

5

 

The robot with the lowest score (time as IT) wins.

Marco Polo 2

Same as Marco Polo 1, except rule 6-8. IT continues as IT in this version no matter what, and doesnŐt have to track its time.

 

The last robot surviving wins.

Swedish Tag

 

Rule

Test

Percent

1

When a robot hits anything, it sends a ŇtaggedÓ message at TAG_REPEAT x 10ms intervals for TAG_TIME x 10 ms.

Receive.nqc

40

2

After a robot has been tagged, it responds with its ID at TAG_REPEAT x 10ms intervals.

ITTag.nqc

Ack.nqc

40

3

A robot adds 1 to its score for each acknowledged tag.

IT.nqc, Ack.nqc (run repeatedly)

20

 

The robot with the highest score wins.