OHJEET REGLER INSTRUCTIONS

KOKO PERHEEN HAUSKA STRATEGIAPELI
KUL PROGRAMMERINGSSPEL FÖR HELA FAMILJEN
FUN PROGRAMMING GAME FOR THE WHOLE FAMILY
OHJEET
REGLER
INSTRUCTIONS
ROBOGEM_Ohjevihko_148x210mm.indd 1
23.3.2015 12.13
PELIN TAVOITE
Robotit laskeutuvat kaukaiselle planeetalle etsimään timantteja, joista saavat lisää
virtaa aluksiinsa. Ohjelmoi robottisi keräämään kolme timanttia ja kuljettamaan
ne omaan tukikohtaasi. Nopein voittaa pelin!
PELIN ALOITUS
• Aseta estelaatat (12 kpl) ja timantit (10 kpl) kuvan mukaiseen alku asetelmaan pelilaudalle. Kaikki timantit ovat samanarvoisia.
Pelilauta
• Kukin pelaaja valitsee robotin ja sijoittaa sen samanväriseen tukikoh-
taansa johonkin laudan nurkista, kuten kuvassa. Robotti asetetaan tuki-
kohtaan niin, että robotin musta nuoli osoittaa kohti vastapäistä tukikohtaa.
robotit
estelaatta
• Poista f-kortit (10 kpl) käskykorttipakasta.
• Sekoita kortit.
• Jaa pakasta jokaiselle 5 käskykorttia kuvapuoli ylöspäin.
• Laita korttipakka laudan viereen, kuvapuoli alaspäin.
ROBOGEM_Ohjevihko_148x210mm.indd 2
23.3.2015 12.13
PELIN KULKU
Pelaajat ohjaavat robottinsa liikkeitä käskykorteilla. Robotti suorittaa ohjelman.
Nuorin pelaaja aloittaa pelin.
Robotti tottelee käskykortteja, joita on neljä erilaista:
class Player
attr_accessor
:name, :color,
def pick_cards(deck,
count):cards
def picked
initialize(color,
name)
= []
@color
color> 0 && deck.length > 0
while =count
@name
=
name
picked.push(deck.pop)
@cards
count==[]count - 1
endend
end picked
end
classPlayer
Player
class
attr_accessor
:name,:color,
:color,
:cards
attr_accessor
:name,
:cards
def pick_cards(deck,
count)
definitialize(color,
initialize(color,
name)
def
name)
picked
= []
@color
color> 0 && deck.length > 0
@color
color
while==count
@name
=
name
@name
=
name
picked.push(deck.pop)
@cards
@cards
==[]=[]count - 1
count
end
endend
end
end picked
end
ETEEN – Robotti liikkuu
yhden ruudun verran
eteenpäin. (50 kpl)
Viiden
komennon
ohjelma
Robotti kääntyy
paikallaan ROBOTIN oranssin nuolen osoittamaan
suuntaan.
VASEN – Robotti
kääntyy paikallaan 90
astetta vastapäivään.
(25 kpl)
classPlayer
Player
class
attr_accessor
:name,:color,
:color,
:cards
attr_accessor
:name,
:cards
def pick_cards(deck,
count)
definitialize(color,
initialize(color,
name)
def
name)
picked
= []
@color
color> 0 && deck.length > 0
@color
color
while==count
@name
name
@name
==name
picked.push(deck.pop)
@cards
@cards
==[]
count
=[]count - 1
endend
end
end picked
end
end
OIKEA – Robotti
kääntyy paikallaan 90
astetta myötäpäivään.
(25 kpl)
Lähtötilanne:
Robotti liikkuu yhden ruudun verran
ROBOTIN mustan
nuolen suuntaan.
ROBOGEM_Ohjevihko_148x210mm.indd 3
Robotti kääntyy
paikallaan ROBOTIN keltaisen nuolen osoittamaan
suuntaan.
class
classPlayer
Player
attr_accessor
:name,
:cards
attr_accessor
:name,:color,
:color,
:cards
def pick_cards(deck,
count)
def
name)
definitialize(color,
initialize(color,
name)
picked
= []
@color
color
@color
color> 0 && deck.length > 0
while==count
@name
=
name
@name
=
name
picked.push(deck.pop)
@cards
==[]=[]count - 1
@cards
count
end
endend
end
end picked
end
FUNKTIO – Funktion
taakse voi tallentaa
1—5 käskykortin
sarjan. (10 kpl)
Muodostettu käskykorttisarja:
Robotti liikkuu yhden ruudun verran
ROBOTIN mustan
nuolen suuntaan.
Robotti kääntyy
paikallaan ROBOTIN keltaisen
nuolen osoittamaan suuntaan.
23.3.2015 12.13
T
TEE
OS !
H
E
A
NIT TUJ
ÄÄ ALLIT
S
BZ
ZZ
...
PELIVUORON KULKU
1
Järjestele käskykortit eteesi riviin käskysarjaksi eli ohjelmaksi. Voit käyttää haluamasi määrän kortteja. Laita oman pelivuorosi alussa poistopakkaan ne kortit, joita et halua käyttää. Tämän jälkeen ohjelma on valmis, eikä sitä saa muuttaa!
2
Ohjelma suoritetaan vasemmalta oikealle yksi käskykortti kerrallaan liikuttamalla
robottia kortin mukaisella tavalla. Jos käskyä ei voi suorittaa (robotti esimerkiksi yrittää mennä estelaatalle), loppuu ohjelman suoritus tähän ja siirrytään kohtaan 5.
3
Jos robotti tulee ruutuun, jossa on timantti, robotti poimii timantin kyytiinsä ja jatkaa matkaansa.
4
Jos robotti tulee ruutuun, jossa on jo toinen robotti, voit työntää toista robottia.
Mikäli työnnettävällä robotilla on kyydissään timantti, työntävä robotti kaappaa timantin kyytiinsä.
5
Ohjelman suorituksen jälkeen laita kaikki kortit poistopakkaan ja ota eteesi 5
uutta korttia pakasta.
Mikäli et saa muodostettua haluamaasi ohjelmaa korteistasi, voit jäädä keräämään
voimia. Laita kortit poistopakkaan ja saat tilalle 7 uutta korttia. Vuoro siirtyy seuraavalle pelaajalle.
Kun kortit loppuvat, poistopakka sekoitetaan pakan pohjaksi yhden kerran. Kun kortit
loppuvat toisen kerran, peli loppuu.
Pienet ja aloittelevat pelaajat voivat kokonaisen ohjelman sijaan pelata korttinsa yksitellen. Kokeneemmat pelaajat auttavat aloittelijoita antamaan robotille hyviä ohjeita!
ROBOGEM_Ohjevihko_148x210mm.indd 4
23.3.2015 12.13
Neljän
komennon
ohjelma
Vihreä robotti liikkuu kaksi
ruutua eteenpäin, kääntyy
paikallaan oikealle ja
jatkaa yhden ruudun
eteenpäin.
Virhe
ohjelmassa
Timantin
kaappaaminen
Punaisen robotin kolmas
käskykortti on mahdoton
suorittaa, koska robotti joutuisi pelilaudan ulkopuolelle.
Robotti liikkuu vain kaksi
ruutua eteenpäin.
Punainen robotti työntää
vihreää edellään, ennen
kuin kääntyy oikealle ja
jatkaa matkaa.
Työnnettäessä yksi timantti
siirtyy punaiselle.
• Jos työnnettävällä robotilla on kyydissään useampia timantteja, saat
kaapattua yhden timantin jokaista työntämääsi ruutua kohden.
• Timanttien kaappaus onnistuu vain, jos vastustajan robotti on työnnettävissä (esim. laudalta ulos tai estelaatalle ei voi työntää).
• Jos robotilla on lastinaan 3 timanttia, niitä ei voi poimia lisää, vaan timantit toimivat esteinä, joiden läpi robotti ei voi kulkea.
• Jos robotti menee tukikohtaansa timanttien kanssa, timantit jäävät tukikohtaan ja robotti voi jatkaa matkaansa.
• Jos työnnät robotin ruutuun, jossa on timantti, timantti siirtyy työntämäsi robotin kyytiin.
• Robotti ei voi työntää kahta robottia kerrallaan.
• Työnnettävän robotin nuolen suunnalla ei ole merkitystä.
• Jos työntäjällä on 3 timanttia, ei työnnettävältä siirry timantteja. Työntäminen on kuitenkin mahdollista.
• Robotti ei voi liikkua eikä sitä voi työntää pelilaudan ulkopuolelle tai estelaattojen läpi.
• Toisen robotin tukikohtaan ei voi mennä.
• Estelaattoja ei voi työntää.
PELIN LOPPU
Peli loppuu, kun ensimmäinen pelaaja on kerännyt tukikohtaansa kolme timanttia, mutta
peli voi loppua myös käskykorttipakan tyhjenemiseen. Kun kortit loppuvat toisen kerran,
pelataan kierros pöydässä olevilla korteilla, minkä jälkeen peli loppuu.
Jos peli loppuu, ennen kuin yhdelläkään pelaajalla on tukikohdassaan 3 timanttia,
voittaa se pelaaja, jolla on tukikohdassaan eniten timantteja. Tasatilanteessa voittaa se,
jolla on robottinsa kyydissä enemmän timantteja.
ROBOGEM_Ohjevihko_148x210mm.indd 5
23.3.2015 12.13
LISÄSÄÄNTÖ: FUNKTIOKUTSU
Taitavat pelaajat voivat lisätä peliin vielä yhden haasteen, funktion! Nyt pelin
alussa pakkaan sekoitetaan myös f-kortit (10 kpl).
Pelaaja voi siirtää haluamansa kortit poistopakan sijasta erilliseen funktioon,
joka on erillinen käskykorttisarja pelaajan pääohjelman vieressä. Funktioon
lisätyt kortit pysyvät pöydällä koko loppupelin ajan eikä niitä laiteta poistopakkaan.
Ohjelmaa suoritettaessa f-kortti suorittaa aina koko funktion. Koko ohjelman
suoritus kuitenkin keskeytyy ensimmäiseen “mahdottomaan käskyyn”.
Funktion pituus on korkeintaan 5 korttia. Lisättävät kortit lisätään aina funktion
loppuun, eikä siis esimerkiksi väliin tai alkuun. Funktiosta ei voi koskaan poistaa
kortteja.
Huom! Myös funktio itse voi päättyä F-korttiin, jolloin funktio suoritetaan aina
uudestaan kunnes tulee ensimmäinen “mahdoton käsky”. Itseään kutsuvaa
funktiota kutsutaan rekursiiviseksi funktioksi.
Funktio
Vihreä robotti suorittaa
funktion, joka siirtää sen
kaksi ruutua eteenpäin.
Sen jälkeen se vielä
kääntyy oikealle ja liikkuu
yhden ruudun eteenpäin.
Tämä on funktio, jota
ylärivin F-kortti kutsuu.
Komentosarja, joka suoritetaan on siis:
IDEOITA:
Voit itse suunnitella erilaisia pelilautoja asettelemalla estelaatat ja timantit pelilaudalle eri tavoin.
Jos peli tuntuu haastavalta, voit aloittaa pelin ilman kaappausmahdollisuutta.
Voit halutessasi pelata myös suljetuin kortein.
ROBOGEM_Ohjevihko_148x210mm.indd 6
23.3.2015 12.13
SPELETS MÅLSÄTTNING
Robotar landar på en fjärran planet för att leta efter diamanter, som ska ge mera
energi till deras rymdskepp. Programmera din robot att samla tre diamanter och att
transportera dem till sin egen bas. Den snabbaste vinner spelet!
SPELETS START
• Placera spärrplattorna (12 st) och diamanterna (10 st) på spelbrädet i startläge enligt bilden. Alla diamanter är lika mycket värda.
Spelbrädet
• Varje spelare väljer en robot och placerar den på dess bas med samma färg i något av brädets hörn, enligt bilden. Roboten placeras så att dess svarta pil pekar mot basen mittemot.
robot
spärrplatta
• Plocka bort f-korten (10 st) ur kommandokortshögen.
• Blanda korten.
• Dela ut 5 kommandokort med bildsidan uppåt till
varje spelare.
• Lägg de återstående korten i en hög (talongen) bredvid
spelbrädet med bildsidan nedåt.
ROBOGEM_Ohjevihko_148x210mm.indd 7
23.3.2015 12.13
SPELETS GÅNG
Spelaren styr sin robots rörelser med kommandokorten. Roboten utför programmet.
Den yngsta spelaren börjar.
Roboten lyder kommandokort. Det finns fyra slags kort:
class Player
attr_accessor
:name, :color,
def pick_cards(deck,
count):cards
def picked
initialize(color,
name)
= []
@color
color> 0 && deck.length > 0
while =count
@name
= name
picked.push(deck.pop)
@cards
count==[]count - 1
endend
end picked
end
classPlayer
Player
class
attr_accessor
:name,:color,
:color,
:cards
attr_accessor
:name,
:cards
def pick_cards(deck,
count)
definitialize(color,
initialize(color,
name)
def
name)
picked
= []
@color
color> 0 && deck.length > 0
@color
color
while==count
@name
name
@name
==name
picked.push(deck.pop)
@cards
@cards
==[]=[]count - 1
count
end
endend
end
end picked
end
FRAMÅT – roboten
rör sig en ruta framåt.
(50 st)
Serie med
5 kommandon
Roboten svänger
på plats enligt
ROBOTENS
orange pil.
VÄNSTER – roboten
svänger på plats 90
grader motsols. (25 st)
classPlayer
Player
class
attr_accessor
:name,:color,
:color,
:cards
attr_accessor
:name,
:cards
def pick_cards(deck,
count)
definitialize(color,
initialize(color,
name)
def
name)
picked
= []
@color
color> 0 && deck.length > 0
@color
color
while==count
@name
name
@name
==name
picked.push(deck.pop)
@cards
@cards
==[]
count
=[]count - 1
endend
end
end picked
end
end
HÖGER – roboten
svänger på plats 90
grader medsols. (25 st)
Utgångsläge:
Roboten rör sig
en ruta framåt i
samma riktning
som ROBOTENS
svarta pil.
ROBOGEM_Ohjevihko_148x210mm.indd 8
Roboten svänger
på plats enligt
ROBOTENS
gula pil.
class
classPlayer
Player
attr_accessor
:name,
:cards
attr_accessor
:name,:color,
:color,
:cards
def pick_cards(deck,
count)
def
name)
definitialize(color,
initialize(color,
name)
picked
= []
@color
color
@color
color> 0 && deck.length > 0
while==count
@name
==name
@name
name
picked.push(deck.pop)
@cards
==[]=[]count - 1
@cards
count
end
endend
end
end picked
end
FUNKTION – bakom
funktionen kan man
lagra en serie med 1–5
kommandokort. (10 st)
Serie med kommandokort:
Roboten rör sig
en ruta framåt i
samma riktning
som ROBOTENS
svarta pil.
Roboten svänger
på plats enligt
ROBOTENS
gula pil.
23.3.2015 12.13
ER
EKT
F
F
A!
DE
LJU LLÅTN
TI
DJ
ZZ
Z.
..
SPELTURENS GÅNG
1 Ordna dina kommandokort på rad framför dig till en kommandoserie, det vill säga ett program. Du kan använda så många kort du vill. Om du har kort som du
inte vill använda, lägg dem i högen med använda kort i början av din egen
speltur. Efter detta är programmet klart och får inte ändras!
2
Programmet utförs från vänster till höger, ett kommandokort i taget, genom att flytta
på roboten enligt kortets kommando. Om kommandot inte kan utföras (till exempel om roboten stöter på en spärrplatta), avslutas programmet och du går till punkt 5.
3
Om roboten kommer till en ruta med en diamant, plockar roboten upp diamanten och fortsätter sin färd.
4
Om roboten kommer till en ruta med en annan robot, kan du skuffa robotten
framåt. Om du skuffar fram en annan robot som har en diamant ombord, flyttas diamanten över till din robot.
5
Efter att programmet är utfört lägger du korten i högen med använda kort och
plockar 5 nya kort ur talongen.
Om du inte kan skapa det program du vill med dina kommandokort, kan du vänta och
samla krafter. Lägg korten i högen med använda kort och ta 7 nya kort i stället. Turen
går då vidare till nästa spelare.
När kommandokorten i talongen tar slut, blandas högen med använda kort till en ny
talong en gång. Om högen med kommandokort tar slut för andra gången är spelet
avslutat.
Små spelare och nybörjare kan spela med enskilda kommandokort i stället för med ett
helt program. Mer erfarna spelare kan hjälpa nybörjarna att ge bra kommandon åt
roboten!
ROBOGEM_Ohjevihko_148x210mm.indd 9
23.3.2015 12.13
Serie med
4 kommandon
Programmeringsfel
Diamantkapning
Den gröna roboten rör sig
två rutor framåt, svänger
på ställe till höger och
fortsätter en ruta framåt.
Den röda robotens tredje
kommandokort kan inte utföras,
för då skulle roboten hamna
utanför spelbrädet. Roboten rör
sig bara två rutor framåt.
Den röda roboten skuffar
den gröna framför sig. Den
kapar en diamant, svänger
till höger och fortsätter.
• Om roboten du skuffar har flera diamanter i lasten, får du kapa en diamant för varje ruta du skuffar den framåt.
• Kapningen lyckas bara om motståndarens robot kan skuffas framåt. Det går inte att skuffa ut motståndaren från brädet eller på en spärrplatta.
• Om du skuffar motståndarens robot till en ruta som har en diamant, flyttas diamanten över till roboten du skuffar.
• Det spelar ingen roll vartåt moståndarrobotens pil pekar.
• Roboten kan inte skuffa två andra robotar framför sig samtidigt.
• Roboten kan inte röra sig eller skuffas ut från spelbrädet eller på en spärrplatta.
• Om den skuffande roboten redan har 3 diamanter i lasten kan den inte kapa åt sig flera, men det är ändå möjligt att skuffa motståndarens robot framåt.
• Om en robot har 3 diamanter i lasten kan den inte plocka upp flera.
Diamanterna fungerar då som spärrar som roboten inte kan passera.
• Spärrplattor kan inte skuffas framåt.
• Om roboten går till sin bas med diamanter i lasten, lämnas diamanterna på basen varefter roboten kan fortsätta sin färd.
• En robot kan inte gå in på en annan robots bas.
SPELETS SLUT
Spelet är slut när den första spelaren kommer till sin bas med tre diamanter. Det kan
också sluta om högen med kommandokort tar slut för andra gången. Då spelar man
en omgång med de kort som finns på bordet och efter det är spelet avslutat.
Om ställningen är oavgjord, vinner den spelare som har flera diamanter ombord på
sin robot. Om spelet tar slut innan någon spelare har tre diamanter på sin bas, vinner
den spelare som har flest diamanter på sin bas.
ROBOGEM_Ohjevihko_148x210mm.indd 10
23.3.2015 12.13
TILLÄGGSREGEL: FUNKTIONSANROP
Skickliga spelare kan lägga till ytterligare en utmaning i spelet: en funktion!
I så fall blandar man in f-korten (10 st) i talongen innan spelet börjar.
Spelaren kan hen välja att lägga en del kort i en skild funktion i stället för
i högen med använda kort. De bildar en skild kommandokortsserie vid sidan
av huvudprogrammet. De kort som lagts till funktionen stannar kvar på bordet
under resten av spelet och placeras inte i högen med använda kort.
Ett f-kort utför alltid hela funktionen. Programmet avbryts dock av det första
"omöjliga kommandot".
Funktionens längd är högst 5 kort. De kort som läggs till placeras alltid i slutet av
funktionen, inte i början av eller inne i funktionen. Man kan inte avlägsna kort ur
funktionen.
Obs! Funktionen själv kan också sluta med ett f-kort. Då utförs funktionen på
nytt och på nytt tills det första "omöjliga kommandot" kommer. En funktion som
anropar sig själv kallas rekursiv funktion.
Funktion
Den gröna roboten utför
en funktion som flyttar den
två rutor framåt. Efter det
svänger den till höger och
går en ruta framåt.
Det här är en funktion som
övre radens F-kort anropar.
Kommandoserien som skall
utföras är alltså:
IDÉER
Du kan själv planera olika spelbräden genom att placera spärrplattorna och
diamanterna på olika sätt.
Om spelet känns svårt kan ni börja med att spela utan kapningsmöjligheten.
Ni kan också välja att spela spelet med slutna kort.
ROBOGEM_Ohjevihko_148x210mm.indd 11
23.3.2015 12.13
THE MISSION
Robots land on a distant planet in search of diamonds, which they use as a
power source for their spaceships. Program your robot to collect three diamonds
and to carry them back to your base. The fastest player wins the game!
PREPARING TO PLAY
• Place the 12 spaceblockers and the 10 diamonds on the board as shown in the picture. All the diamonds are of equal value.
Board layout
• Each player chooses a robot and places it on the corresponding base in each corner of the board. Each robot is placed on its base so that the black arrow points towards the base opposite, as shown above.
robots
spaceblocker
• Remove all the Function cards (10) from the ‘command
card pack’.
• Shuffle the pack.
• Deal 5 command cards to each player face up.
• Place the pack next to the board face down.
ROBOGEM_Ohjevihko_148x210mm.indd 12
23.3.2015 12.13
THE AIM OF THE GAME
The youngest player starts. Taking turns, each player moves their robot according to
their command cards. In this way, each player’s robot executes its program.
You command your robot with four different command cards:
class Player
attr_accessor
:name, :color,
def pick_cards(deck,
count):cards
def picked
initialize(color,
name)
= []
@color
color> 0 && deck.length > 0
while =count
@name
= name
picked.push(deck.pop)
@cards
count==[]count - 1
endend
end picked
end
FORWARD – the robot
moves one square
forward. (50 cards)
classPlayer
Player
class
attr_accessor
:name,:color,
:color,
:cards
attr_accessor
:name,
:cards
def pick_cards(deck,
count)
definitialize(color,
initialize(color,
name)
def
name)
picked
= []
@color
color> 0 && deck.length > 0
@color
color
while==count
@name
name
@name
==name
picked.push(deck.pop)
@cards
@cards
==[]=[]count - 1
count
end
endend
end
end picked
end
LEFT – the robot turns
90 degrees anticlockwise on the spot.
(25 cards)
Executing a
5-step program
The robot turns
on the spot in the
direction indicated
by the orange
arrow on the
robot.
Starting position:
The robot moves
one square forward
in the direction
indicated by the
black arrow on
the robot.
ROBOGEM_Ohjevihko_148x210mm.indd 13
classPlayer
Player
class
attr_accessor
:name,:color,
:color,
:cards
attr_accessor
:name,
:cards
def pick_cards(deck,
count)
definitialize(color,
initialize(color,
name)
def
name)
picked
= []
@color
color> 0 && deck.length > 0
@color
color
while==count
@name
=
name
@name
=
name
picked.push(deck.pop)
@cards
@cards
==[]
count
=[]count - 1
endend
end
end picked
end
end
class
classPlayer
Player
attr_accessor
:name,
:cards
attr_accessor
:name,:color,
:color,
:cards
def pick_cards(deck,
count)
def
name)
definitialize(color,
initialize(color,
name)
picked
= []
@color
color
@color
color> 0 && deck.length > 0
while==count
@name
==name
@name
name
picked.push(deck.pop)
@cards
==[]=[]count - 1
@cards
count
end
endend
end
end picked
end
RIGHT – the robot turns FUNCTION – with a
90 degrees clockwise
Function or ‘F Card’,
on the spot. (25 cards) you can save a series
of 1–5 command cards.
(10 cards)
Example of a series of command cards
(program):
The robot turns
on the spot in the
direction indicated
by the yellow
arrow on
the robot.
The robot moves
one square forward
in the direction
indicated by the
black arrow on
the robot.
The robot turns
on the spot in the
direction indicated
by the yellow
arrow on the
robot.
23.3.2015 12.13
re
ts a out
c
e
f
ef
gh
nd
rou
Sou ed th me!
w
a
allo the g
Be
ep
be
ep
!
TAKING YOUR TURN
1
When it’s your turn to play, arrange your cards in a row in front of you so that they form a series of commands, namely the program. You can use all your cards, or get rid of any you don’t need by putting them in the ‘spare pack’. After arranging your cards, your program is ready and you are not allowed to change it anymore!
2
Execute your program from left to right one card at a time by moving your robot
accordingly. If you can’t proceed (e.g. a ‘spaceblocker’ is blocking your path), the program is terminated and you continue from point number 5 below.
3
If your robot reaches a square with a diamond on it, your robot picks up the diamond and keeps going.
4
If your robot reaches a square with another robot on it, you can push the other robot onto the next square. If the robot you push has a diamond, you can
capture the diamond.
5 After you have executed your program, put your used cards in the spare pack and take five new cards from the command card pack. Then it’s the next player’s turn.
If you can’t form the program that you want from your cards, you can simply ‘rest
and recharge’ by missing a turn: put your cards in the spare pack and this time take
7 cards from the ‘command card pack’. Then the turn passes to the next player.
When the command cards run out, shuffle the spare pack. This then becomes the new
command card pack. Note: This can only be done once during the game. The game
ends when the command cards run out for the second time.
The youngest players and beginners can use just one command card at a time
instead of the whole program. More experienced players can help beginners to give
their robots good commands.
ROBOGEM_Ohjevihko_148x210mm.indd 14
23.3.2015 12.13
Executing a
4-step program
Bug in the
program!
Capturing
a diamond
The green robot moves two
squares forward, turns to
the right on the spot, and
then moves one square
forward.
The third command for the
red robot cannot be executed
because it would lead the robot
off the board. The robot has
to stop where it is after
the second move.
The red robot pushes the
green robot forward before
turning to the right and
continuing on its way.
During the push, one diamond
is transferred from the green
robot to the red robot.
• If the robot you push has several diamonds, you can capture one diamond for every square that you push the other robot forward.
• Capturing a diamond is possible only if the opposing robot can be pushed according
to the rules (e.g. pushing off the board or pushing into a spaceblocker is forbidden).
• If the robot enters its base with diamonds, the diamonds are left at the base and the robot can return to collect more diamonds.
• Warning! If you push a robot onto a square that contains a diamond, the pushed robot gets the diamond.
• The arrows on the pushed robot have no effect.
• A robot cannot push two robots at the same time, or push spaceblockers.
• If the pushing robot already has three diamonds, no more diamonds can be captured. But pushing is still possible in this case.
• If a robot is carrying three diamonds, it can’t collect any more. This robot can no longer enter squares that contain diamonds because they then turn into obstacles.
• A robot cannot move or be pushed outside the limits of the board or pass through
a spaceblocker.
• A robot cannot enter another robot’s base.
ENDING THE GAME
The game ends when the first player has brought three diamonds at his or her base.
But the game can also end when the command card pack runs out for the second time.
In this case, the round continues until all the command cards still in play have been
used. Then the game is over.
If the game ends before anyone has three diamonds at their base, the winner is the one
who has the most diamonds at their base. In the event of two or more players having
the same number of diamonds back at base, the winner is the one whose robot is
carrying the most diamonds.
ROBOGEM_Ohjevihko_148x210mm.indd 15
23.3.2015 12.13
UPPING YOUR GAME WITH A FUNCTION CALL!
Skilled players can add a further challenging element to the game – function! In this case,
the ten F Cards are also shuffled in the command card pack at the start of the game.
Instead of discarding unused cards in the spare card pack, the player can form
a function with them, which is a separate series of command cards placed face-up
next to the main program that the player creates (see below). The cards that form
the function remain on the table until the end of the game and will not be put into
the spare pack at any time.
When a player is dealt an F Card and decides to include it in his or her main program,
the F Card will always ‘call’ and execute the whole function. The execution of the
program will, however, always stop at the first ‘inoperable command’.
A function can consist of a maximum of 5 cards. If you want to add more cards to
the function, they can only be added to the end of the function, not at the beginning
or in the middle. Cards cannot be removed from the function.
Note! A function itself can also end in an ‘F Card’, in which case the function will be
executed repeatedly until the first ‘inoperable command’. A function that calls itself
in this way is called a recursive function.
Executing a
function within
a program
The green robot executes
the function, moving the
robot two squares forward.
Then the robot turns to
the right and moves one
square forward.
A function ‘called’ by an F
Card in the upper row (main
program). The whole series
of commands that will be
executed is shown below:
VARIATIONS
You can change the layout on the board by placing spaceblockers and diamonds in
a different formation.
If the game seems too challenging, you can play without the possibility of capturing
diamonds from your opponents.
ROBOGEM_Ohjevihko_148x210mm.indd 16
23.3.2015 12.13