Competitive Programming Academy · Les

Rasterwandelingen en richtingsvectoren

Met dx, dy bewegen en binnen de grenzen blijven

Les 2 van 413 stappen

Rasterwandelingen en richtingsvectoren is een gratis Competitive Programming Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Competitive Programming Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Competitive Programming Academy bevat in totaal 4 lessen.

Lopen over een raster

Veel simulaties vinden plaats op een raster van rijen en kolommen. Een fiche begint ergens en beweegt cel voor cel volgens de richtingen. 🗺️

Houd rij en kolom bij

Bewaar je positie als een paar (r, c). De rij loopt van boven naar beneden en de kolom van links naar rechts.

r, c = 0, 0

Richtingsvectoren

Codeer elke beweging als een (dr, dc)-vector. Door die bij je positie op te tellen verschuif je één cel in die richting, zonder if-ketens.

dr, dc = 0, 1  # move right

De vier buren

Bewaar de vier bewegingen in tabellen, zodat je er in een lus doorheen kunt lopen. Dit is het standaardpatroon voor boven, onder, links en rechts.

DR = [-1, 1, 0, 0]
DC = [0, 0, -1, 1]

Zet één stap

Om te bewegen hoef je alleen de gekozen vector bij je huidige cel op te tellen. Dezelfde twee regels werken voor elk van de vier richtingen.

r += DR[k]
c += DC[k]

Blijf binnen de grenzen

Controleer vóór elke stap of de cel binnen het raster ligt. Rijen lopen van 0 tot R-1 en kolommen van 0 tot C-1; al het andere ligt buiten het bord.

if 0 <= r < R and 0 <= c < C:
    pass

Diagonalen wanneer dat mag

Sommige problemen staan ook diagonale bewegingen toe. Voeg de vier vectoren naar de hoeken toe om een verzameling buren in acht richtingen te maken.

DR8 = [-1,-1,-1,0,0,1,1,1]
DC8 = [-1,0,1,-1,1,-1,0,1]

Draai naar links of rechts

Laat een robot die draait zijn oriëntatie-index roteren in plaats van allerlei gevallen uit te schrijven. Met modulo blijft de index door de vier richtingen heen lopen.

facing = (facing + 1) % 4  # turn right

Geblokkeerde cellen en muren

Controleer de waarde in het raster voordat je beweegt. Als een cel een muur is, sla die dan over of stop, precies zoals de regels voorschrijven.

if grid[r][c] == '#':
    continue

Rasters met doorlopende randen

Als het raster doorloopt, neem je de coördinaten modulo de grootte, zodat de rechterrand soepel weer met de linkerrand verbonden is.

r = (r + dr) % R
c = (c + dc) % C

Waarom vectoren winnen

Richtingsvectoren vervangen verwarde if-else-blokken door één nette lus. Minder vertakkingen betekent minder fouten onder tijdsdruk bij een wedstrijd.

Korte controle

Je loopt met richtingsvectoren over een raster en moet op het bord blijven.

Samenvatting

Bewaar de positie als (r, c), beweeg door richtingsvectoren op te tellen, loop langs de vier buren en controleer altijd de grenzen voordat je een stap zet. 🚀

Gratis beginnen

Leer Python met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “Rasterwandelingen en richtingsvectoren” gratis?

Ja — de volledige tekst van “Rasterwandelingen en richtingsvectoren” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Competitive Programming Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Competitive Programming Academy bevat in totaal 4 lessen.

Wat leer ik in “Rasterwandelingen en richtingsvectoren”?

Met dx, dy bewegen en binnen de grenzen blijven Je oefent met Competitive Programming Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Competitive Programming Academy te beginnen?

Ervaring vooraf is niet nodig. Competitive Programming Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Rasterwandelingen en richtingsvectoren”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Competitive Programming Academy?

Ja. Elke les over Competitive Programming Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Toestand modelleren en vooruitgaan
  2. Rasterwandelingen en richtingsvectoren
  3. Cycli detecteren in simulaties
  4. Lastige randgevallen beheersen
← Terug naar Competitive Programming Academy