Wat is Chromiler

Chrompiler is een website waarop je code kan uitproberen die uiteindelijk op de kerstversiering in de klas afgebeeld kan worden. De kerstversiering is 16x16 ledjes. De code kan 1 frame lang zijn of een animate (meerdere frames). Onder het canvas (aan de rechterkant van het scherm, of bovenin op kleinere schermen) kun je instellen hoeveel frames je animatie lang is. Ook kun je het aantal fps dat je animatie wordt afgespeeld op de website daar veranderen.

Over de code

De code voor je animatie moet worden geschreven in C. Je vult een gedeelte van een C bestand in. Een frame bevat 256 pixels (16x16). Hieronder staan een aantal belangrijke functies beschreven. Basis informatie over de C taal kun je vinden op: Quickref.me C. De wiskundige functies die je kunt gebruiken kun je vinden op: math.h wikibooks.

Als je een fout maakt in de code krijt je onder de editor een foutmelding te zien. Deze kan soms cryptisch zijn. Omdat je eigenlijk maar een gedeelte van een C bestand programeert (1 functie in een groter bestand), beginnen de lijnnummers in de editor bij 4. Hierdoor komen de lijnnummers in de errors overeen met de lijnnummers in de editor.

setPixel(fr, int x, int y, byte rood, byte groen, byte blauw)
De pixels kun je een kleur geven doormiddel van de functie: setPixel. Deze functie heeft 6 inputs. De eerstse moet altijd fr zijn. de tweede is het x-coördinaat van de pixel (0 is de meest links, 15 de meest rechtse). De derde het y-coördinaat (0 de bovensten, 15 de onderste). Daarna geef je aan hoevel rood, groen en blauw de pixel moet bevatten. Al deze kleurwaardes moeten tussen de 0 en 255 liggen.
getPixel(fr, int x, int y)
Met getPixel kun je de kleur van een pixel uit (het vorige) frame krijgen. Het eerste argument is altijd fr. Daarna volgende de x- en y-cördinaat, zoals hierboven is beschreven. Het resultaat is een CRBG* waarde. Als je de code CRBG *pixel = getPixel(fr, 0, 0); gebruikt (let op het * voor pixel!) kun je de waardes van de pixel linksboven uitlezen doormiddel van: pixel->red; pixel->green; pixel->blue;.
random(int min, int max)
De random functie genereert een geheel getal tussen min en max. max moet altijd groter zijn dan min. Het getal is altijd kleiner dan max en groter of gelijk aan min.
Error 124
Deze error krijg je als je programma langer duurt om uit te voeren dan 20 seconde. Waarschijnlijk heb je eenloop in je programma zitten die nooit eindigt.