Getting Started (ComputerCraft)/nl


 * Please note that this guide is very much a WiP (Work in Progress) at this time. Please PM AgentTadpole on the forums with any comments or corrections

Inleiding
"''" bestaat voornamelijk uit drie hoofdcomponenten: de, s en de die aan beiden kunnen worden bevestigd om hun functionaliteit uit te breiden. Het is mogelijk om deze drie items te maken zonder ooit een daadwerkelijk programma te schrijven door gebruik te maken van de ingebouwde programma's van de mod...maar door dit te doen laat je het echte potentieel van "'ComputerCraft'" niet tot z'n recht komen. Deze gids gaat ervan uit dat de gebruiker geen of zeer weinig ervaring heeft met Lua, de programmeertaal die "'ComputerCraft'" gebruikt en zal enkele basis principes geven naar gelang je door deze gids gaat. Houd er echter wel rekening mee dat deze gids alleen maar heel oppervlakkig enkele basisconcepten en componenten van "'ComputerCraft'" zal behandelen; aanvullende informatie kan worden gevonden op de Officiële ComputerCraft Website alsook op deze hele wiki en gidsen die later nog zullen worden toegevoegd.

De Computer
De eerste en belangrijkste component van "'ComputerCraft'" is de. Het recept is vrij gemakkelijk en kan al vrij vroeg in het spel gemaakt worden als je zo gelukkig bent om redstone te vinden. De computer kan overal waar je wilt geplaatst worden en kan weer worden opgepakt door hem te breken met elk gereedschap.

Door rechts te klikken op de krijg je de command prompt van "'CraftOS'" ("'CraftOS'" is het standaard besturingssysteem voor s); Vanaf deze plek zullen de meeste gebruikers programma's draaien op hun s.

Basis CraftOS Commando's
Voor het grootste deel zijn de basis commando's die gebruikt worden in "'CraftOS'" ofwel identiek aan of vrij gelijkwaardig aan vrijwel alle distributies van *nix besturingssystemen. Het is juist hierdoor dat de meeste gebruikers (zelfs zij die slechts zeer af en toe een command prompt hebben gebruikt in andere besturingssystemen zoals Windows of OSX) bekend zijn met of er snel bekend mee kunnen worden. Alle commando's worden gegeven vanuit de "'CraftOS'". Hou er wel rekening mee dat parameters die "schuin gedrukt" zijn, optioneel zijn.

{| class="wikitable" width="100%" ! command/command alias ! Command description/use
 * help  
 * On its own, returns a list of help topics. Specifying the topic after the command returns information on that topic.
 * programs
 * Lists the available programs to be run.
 * apis
 * Returns a list of available APIs (application programming interfaces) that one can use (via Lua) from within CraftOS. More information on various APIs can be obtained by typing using the help command followed by the API name.
 * ls/list  
 * Lists the contents of a directory. If no directory is given lists the contents of the current one.
 * cd
 * Changes the current directory; can be used to go to the parent directory of where the command is issued.
 * mkdir
 * Creates a new directory with the given name.
 * mv/move/rename
 * cd
 * Changes the current directory; can be used to go to the parent directory of where the command is issued.
 * mkdir
 * Creates a new directory with the given name.
 * mv/move/rename
 * mv/move/rename
 * mv/move/rename

Simpel, toch? Sla de file op, sluit de tekstverwerker en type dan de naam van het programma in. Als alles klopt zal het volgende getoond worden in het "'CraftOS'" scherm...

Gefeliciteerd met je eerst stapjes in een programmeertaal. Ondanks dat dit maar 1 regel is, laat het programma zien hoe het iets kan uitvoeren naar het scherm. Normaal gesproken is dit de primaire manier om informatie aan een gebruiker te laten zien (behalve grafisch maar dat ligt niet binnen het bereik van deze gids).

Hallo Gebruikersnaam
Ondanks dat het tonen van tekst belangrijk is, is het ook belangrijk om invoer te kunnen ontvangen (informatie die door een programma gebruikt moet worden of door de interface van een programma navigeren). Dit programma zal dieper ingaan op de print functie en zal variabelen introduceren alsmede de lees en schrijf functies.

Open een nieuwe programmafile in de tekstverwerker (aanbevolen naam: "hallo2"). Voer het volgende in:

Sla de file op en sluit de tekstverwerker. Het zal enige invoer verwachten van de gebruiker maar het zo er ongeveer als volgt uit moeten zien:

The print function in this example concentrates the multiple arguments (ie  is the same as  This example shows how to create a program, how to simply print information to the screen, simply reading input, and storing data in a variable.

Computer Lichtknop
Dit voorbeeld heeft wat meer nodig dan alleen de basis. Plaats ofwel een stukje redstone or links van de computer (er is maar één block nodig). Plaats er een lamp naast (het type maakt niet uit). Let op dat deze opstelling aan elke zijde van de computer gezet kan worden maar dat dit wel de manier zal veranderen waarop de code geschreven moet worden (dit is echter zeer vanzelfsprekend).

In dit voorbeeld, worden redelijk wat functies/verklaringen geïntroduceerd waaronder de while loop, if...then...else statements, os.pullEvent, print wat is, redstone.setOutput, en opmerkingen (om gemakkelijker te navigeren of identificeren van code secties). Opmerkingen zijn de stukjes tekst na een

Voer de volgende code in (je kunt natuurlijk opmerkingen achterwege laten aangezien ze alleen nodig zijn om de leesbaarheid van code te verhogen maar het is begrijpelijk als je vindt dat het teveel typewerk is):

Deze code laten draaien zal ongeveer iets als volgt laten zien op het scherm: Om de lamp aan te doen, druk op L. Druk op een andere toets om het programma te verlaten.

"(Aannemend dat de gebruiker op L drukt gaat de lamp aan en wordt het volgende getoond:)"

Om de lam puit te doen, druk op L. Druk op een andere toets om het programma te verlaten.

Elke andere toetsaanslag zal de gebruiker terug sturen naar de "'CraftOS'" prompt. Dit programma ziet er misschien gecompliceerd uit maar in realiteit is het rommelig (en houdt zich niet aan een aantal conventies). Het laat de gebruiker echter wel zien wat de essentie is, wat er gebeurt en maakt het volgende voorbeeld mogelijk.

Computer Lichtknop Mk. II
Dit voorbeeld zal de opstelling uit het vorige voorbeeld gebruiken. Deze keer zal de gebruiker leren om definities te gebruiken, alsmede ander aspecten van de Redstone API om de lamp te besturen en om "omvangrijke" code te voorkomen. Het is aan te raden om een nieuw programma file te maken i.p.v. die uit het vorige voorbeeld te bewerken (vanwege de manier waarop de"'CraftOS'" tekstverwerker werkt). Om het eenvoudig te ouden zal ik het merendeel van de opmerkingen uit het vorige voorbeeld weglaten zodat de code makkelijker te zien is. Dit programma gebruikt een nieuw onderdeel van de redstone API, redstone.getOutput("side"), wat de computer in staat stelt te bepalen of hij een redstone signaal afgeeft. Dit commando heeft maar één argument: zijde.

Slimme Computer Lichtknop
"Inhoud volgt nog."

Wat Te Doen Als Iets Niet Werkt
Dit zal zeker gebeuren. Je zult tijd spenderen aan het zeer nauwkeurig schrijven van een stukje code om vervolgens deze code op te slaan en het programma uit te voeren om er dan achter te komen dat...het niet werkt. Normaliter zijn er een paar belangrijke dingen die je moet controleren voordat je je muis naar de dichtstbijzijnde, onschuldige voorbijganger gooit...


 * 1) Check the error message... 99.999% of the time it will tell one exactly where the mistake was made (improper syntax, missing end statement, etc).
 * 2) Check the use of case (upper and lower case letters). Remember, functions usually start with a lower case letter but additional 'words' will have upper case in them (for example - redstone.setOutput).
 * 3) Check control statements (while, for, if, etc). Make sure they're declared right and terminated correctly (sometimes a missing end statement won't register for quite a few lines).
 * 4) When in doubt, write it out. One can sometimes be surprised how glaring an error is when rewriting something...despite missing it the first time.
 * 5) Ask the Community. Sometimes things are trickier than they appear to be but chances are someone has made the same mistake and figured it out, however, there's also a good chance that with another pair of eyes on the problem everyone can learn how to do it... maybe even find a better way! Just remember to search the forums for previous posts before making a new thread.