# CodeCup

De CodeCup is een programmeerwedstrijd georganiseerd door de Nederlandse Informatica Olympiade, waarin computerprogramma's spellen tegen elkaar spelen. Iedereen mag meedoen, er zijn geen beperkingen van leeftijd of land of iets anders.
Twee of meer programma's spelen in zo'n wedstrijd tegen elkaar. Om de zoveel weken wordt een competitie gehouden waarin alle programma's ten minste tweemaal tegen elkaar spelen. De beste spelers hiervan komen in de finale en spelen nogmaals tegen elkaar. Op basis hiervan wordt een ranglijst samengesteld. Dit alles gebeurt door een volledig geautomatiseerd systeem. De laatste competitie is de 'echte' competitie, alle competities daarvoor zijn slechts testcompetities om de deelnemers de gelegenheid te geven om hun programma te verbeteren.
De broncode van het programma dient te worden geüpload op de site van CodeCup. Vervolgens wordt deze gecontroleerd en worden spellen gespeeld tegen testspelers. Als het programma geen fouten maakt wordt deze toegelaten tot de competitie. Het is ook mogelijk thuis te oefenen met twee of meer spelers door middel van Caia.
In de CodeCup draait het om het ontwerpen van slimme algoritmes om in zo min mogelijk tijd de beste zet te bepalen. Het Minimax algoritme is een voorbeeld van een veelgebruikt algoritme.

## Spel van 2008: Alquerque

Het spel van 2008 is Alquerque.

### Oorspronkelijk spel

Alquerque (In het Arabisch: el-quirkat) is een bordspel dat vooral in Spanje veel gespeeld wordt, maar oorspronkelijk door de Moren, tijdens hun bezetting van Spanje, meegebracht werd. Alquerque is een eeuwenoud spel. Op een van de dakpannen van een tempel in Kurna (Egypte), die ongeveer 1400 v.Chr. werd gebouwd, is een onafgemaakt Alquerque-diagram te zien. Het spel geldt als een voorloper van dammen.
Twee spelers hebben beiden de beschikking over twaalf speelstukken, de een de witte, de ander de zwarte stukken. Aan het begin van het spel worden de speelstukken alle op het speelbord gezet. (Zie figuur 2). De spelers zetten om de beurt.
Het doel is om als eerste alle stukken van de tegenstander te slaan.
* Een stuk mag naar elk aangrenzend punt (kruising van verschillende lijnen) op het speelbord worden verplaatst.
* Als een stuk, via een lijn, over een vijandelijk stuk naar een leeg punt kan worden gezet, dan wordt dat vijandelijke stuk geslagen. Het geslagen stuk wordt uit het spel genomen, en kan niet terug worden geplaatst.
* Wanneer er een stuk is geslagen, kan er verder worden gesprongen. Hierbij mag van richting worden veranderd.
* Wanneer een vijandelijk stuk kan worden geslagen, maar dit wordt verzuimd, dan wordt het stuk waarmee geslagen had kunnen worden uit het spel gehaald, en als geslagen beschouwd.

### Codecup variant

In de CodeCup variant is het verplicht om te slaan en door te slaan als dat kan (in plaats van het stuk dat had kunnen slaan te verwijderen). Ook is het speelveld bij de CodeCup 7 bij 7 in plaats van 5 bij 5.

## Spel van 2007: On The Run

Het spel van 2007 was On The Run, een variant van Scotland Yard.

### Scotland Yard

Doel van het spel is dat de spelers als detectives de mysterieuze Mister X opsporen en vangen binnen een vast aantal spelbeurten. De detectives starten ieder in een eigen stadsdeel van Londen. De speler die Mister X bestuurt moet proberen uit handen te blijven van de detectives. De posities van de detectives zijn permanent zichtbaar, de positie van Mister X wordt periodiek onthuld.
Het gehanteerde spelmechanisme is enigszins ongebruikelijk omdat Mister X alleen speelt, terwijl de resterende medespelers als detectives samenwerken en hun strategie met elkaar moeten bespreken. Het speelbord toont het stadsplan van het Londense stadscentrum met taxi-, bus-, metro- en veerpontverbindingen met bijbehorende posten, waarover de detectives bewegen met behulp van hun spelcijfers. De bewegingen over het speelbord zijn bovendien gereglementeerd, namelijk dat elke medespeler slechts een beperkt aantal kaarten voor elk transportmiddel bezit. Mister X houdt zijn zetten voor zich en deelt aan de medespelers enkel de gebruikte transportmiddelen mee. Mister X moet zijn positie echter elke vijf zetten bekendmaken, wat de detectives de kans geeft om de achtervolging opnieuw te coördineren.

### Variant van CodeCup

In On The Run worden vier detectives gespeeld door één speler. Mister X ('the Fugitive') wordt gespeeld door de andere speler. On The Run is een vereenvoudiging van Scotland Yard, er zijn geen 'black tickets' (die niet prijsgeven welk vervoermiddel de Fugitive gebruikt) en de vervoermiddelen zijn auto, trein en vliegtuig. Wel wordt om de vijf beurten de positie van de Fugitive prijsgegeven.

## Geschiedenis

| Jaar | Naam spel | Winnaar | Beste Nederlandse deelnemer | Beste Nederlandse leerling |
| 2025 | Box | Mark ter Brugge | Mark ter Brugge | Rens van der Avoird |
| 2024 | Sudoku | Tomek Czajka | Maks Verver | Jelle van der Drift |
| 2023 | Entropy | Tapani Utriainen | Matthijs Tijink | Emil Riedeman |
| 2022 | Spaghetti | Tapani Utriainen | Pepijn Overbeeke | Joël Vermeulen |
| 2021 | Zuniq | Abdessamad Elkasimi | Joost Houben | Emil Riedeman |
| 2020 | Gomoku | Tomek Czajka | Steven Kroon | Marco Meijer |
| 2019 | Flippo | Tomek Czajka | Christiaan Alexander Nouta | Jard van Roest |
| 2018 | Blackhole | Abdessamad Elkasimi | Maarten Schadd | Reijer van Harten |
| 2017 | Less | Marc Oldenhof | Marc Oldenhof | n.v.t. |
| 2016 | 6561 | Abdessamad Elkasimi | Marc Oldenhof | n.v.t. |
| 2015 | Ayu | Sergey Povalikhin | Marc Oldenhof | n.v.t. |
| 2014 | Poly-Y | Lesley Wevers en Steven te Brinke (samen) | Lesley Wevers en Steven te Brinke (samen) | n.v.t. |
| 2013 | Symple | Abdessamad Elkasimi | Remco Bloemen | n.v.t. |
| 2012 | Quantum tic-tac-toe | Tomek Czajka | Leon Schoorl | n.v.t. |
| 2011 | Dvonn | Maks Verver | Maks Verver | Bas Nieuwenhuizen |
| 2010 | Amazes | Carlo Piovesan | Vincent Bloemen | Koos van der Linden |
| 2009 | Pillars | Tomek Czajka | Jorik Mandemaker | Jelle van den Hooff |
| 2008 | Alquerque | Tomek Czajka | Timothy Budd | Jelle van den Hooff |
| 2007 | On The Run | Wei Quan Lim | Christiaan Alexander Nouta | Thijs Marinussen |
| 2006 | Turn Right | Tomek Czajka | Thijs Marinussen | Thijs Marinussen |
| 2005 | Lamistra | Steven Roebert | Steven Roebert | Steven Roebert |
| 2004 | Lucky Words | Emil Kraaikamp | Emil Kraaikamp | Emil Kraaikamp |
| 2003 | Caïssa | Marcel Vlastuin | Marcel Vlastuin | Cynthia Kop en Tijmen Tieleman (samen) |
Vanaf 2011 strijden de leerlingen en docenten van het voortgezet onderwijs om Windesheim Digitalis prijs

## Prijs voor de beste Nederlandse leerling of docent

De voorloper van de CodeCup was het CvO Windersheimtoernooi, waarin leerlingen en docenten van het voortgezet onderwijs streden om de eerste plaats. Vanaf 2011 is de CodeCup competitie soms gesplitst en hebben de leerlingen en docenten hun eigen CodeCup-competitie. NIO verwijst naar de vierde opgave van de eerste ronde van de Nederlandse Informatica Olympiade. Sinds de competitie in 2025 heeft het toernooi geen sponsor meer.
| Jaar | Naam spel | Beste Nederlandse leerling |
| 2025 | Squares | Boas Bakker |
| 2024 | Sudoku | Jelle van der Drift |
| 2023 | Entropy | Emil Riedeman |
| 2022 | Spaghetti | Joël Vermeulen |
| 2021 | Zuniq | Emil Riedeman |
| 2020 | Gomoku | Marco Meijer |
| 2019 | Flippo | Jard van Roest |
| 2018 | Blackhole | Reijer van Harten |
| 2017 | More | Jelle van Cappelle |
| 2016 | 2187 | Ethan van Woerkom |
| 2015 | CaptureGo | Maarten Dorrestijn |
| 2014 | Game Y | Jorn Hoofwijk |
| 2013 | Vier-op-een-rij | Jorrit Dorrestijn |
| 2012 | Bao | Joost Houben |
| 2011 | Invers | Bas Nieuwenhuizen |
| 2010 | Amazes | Koos van der Linden |
| 2009 | Pillars | Jelle van den Hooff |
| 2008 | Alquerque | Jelle van den Hooff |
| 2007 | On The Run | Thijs Marinussen |
| 2006 | Turn Right | Thijs Marinussen |
| 2005 | Lamistra | Steven Roebert |
| 2004 | Lucky Words | Emil Kraaikamp |
| 2003 | Caïsa | Cynthia Kop en Tijmen Tieleman |
| 2002 | DAO | Nolan Hartkamp, René Mulder en Jaap Taal (samen) (Winnaar was docent Marcel Vlastuin) |
| 2001 | Susan | Tijmen Tieleman en Jelmer Vernooij (samen) |
| 2000 | Lasca | Carlo Kok |
| 1999 | PAS | Mathijs Vogelzang |
| 1998 | Tic-Tac Turn | Maarten Boersma en Jurgen van Dijk (ex aequo) |
| 1997 | Hexxagon | Joost Batenburg |
| 1996 | Rack-O | Edwin Woudt |