• No results found

Bewegende beelden

In document HANDBOEK VOOR DE COMMODORE 64 (pagina 44-47)

I N PUT

GET

De functietoetsen

Random getallen en andere functies

Raadsel

Uw beurt om te werpen

Random graphics

De CHR$ en ASC functie

Inleiding

De volgende hoofdstukken zijn hoofdzakelijk bedoeld voor hen die al min of meer vertrouwd zijn met BASIC, en de basisprincipes kennen die nodig zijn om meer i ngewikkelde programma's te kunnen schrijven. Indien u net begint met leren programmeren kan het zijn dat u zo hier en daar struikelt over de moeilijke woor­

den. Maar verlies de moed niet ! Speciaal voor u hebben we 2 hoofdstukken vol plezier geschreven over sprites en geluid, vol eenvoudige voorbeelden voor de nieuwe generatie programmeurs. Die voorbeelden zullen u een goede indruk geven over het hoe en wat van de geluids- en grafische mogelijkheden van uw Commodore 64.

Mocht u besloten hebben een expert te worden i n het programmeren i n BASIC, dan vi ndt u in appendix M een literatuuropgave.

Zij die al vertrouwd zijn met BASIC zul len in de volgende hoofdstukken dieper­

gaande voorbeelden aantreffen. Het 'Commodore 64 Programmers Reference Manual' bevat volledige informatie over aile aspecten van de Commodore 64. Dit boek is te betrekken via uw dealer.

Bewegende beelden

We zullen nu gaan oefenen met de grafische mogelijkheden van de Commodore 64. Daartoe maken we gebruik van hetgeen we tot nu toe hebben geleerd, aan­

gevuld met wat nieuwe dingen. Type onderstaand programma in en laat het RUN­

nen. U zult vast opmerken dat we in een PRINT opdracht ook cursorbewegingen en schermcommando's kunnen meeprogrammeren. Om het in het begin gemak­

kelijker te maken, staat in de tekst welke toetshandeli ngen u moet verrichten om de gewenste actie te verkrijgen. Ook wordt in de voorbeelden aangegeven wanneer een spatie of een grafisch teken ingetypt moet worden. Zo ziet u bij­

voorbeeld SCH I FT/Q staan. Dit betekent dat u tegelijkertijd de SHI FT toets en de Q toets dient in te drukken. V��r de duidelijkheid zijn de te geven toetsindruk­

ken tussen rechte haakjes gezet: r I. Ais u de juiste toetsen indrukt ziet u op uw scherm het grafisch teken dat de functie voorstelt. Ais u programma's uit tijd­

schriften wilt overtypen, is het aan te raden hiermee te experimenteren, omdat vaak aileen het grafische symbool wordt gebruikt.

36

Dit zijn de gebruikte codes:

A"e woorden in bovenstaande tekst staan in hun geheel op dezelfde regel. Zolang u echter nog niet op de RETURN toets gedrukt heeft, gaat de cursor na karakter 40 naar de volgende regel. Dit kan midden in een woord gebeuren ! De Commo­

dore 64 leest echter het hele woord.

Na RUN ziet u een bal tussen de linker- en rechter schermrand heen en weer stuiteren. Wanneer we het programma goed lezen, kunnen we zien hoe we dit voor elkaar hebben gekregen. REM i n regel 10 is aileen maar een opmerking (REMARK) die ons vertelt wat het programma doet. Een REM heeft geen i nvloed op het programma, maar dient aileen ter verduidelijking.

10 REM STUITERENDE BAL

In regel 20 wordt het scherm schoongemaakt en wordt de cursor op HOM E (l inks bovenin het scherm) gezet. Regel 30 zet de cursor 10 regels naar onderen. De bal komt zodoende in het midden van het scherm te staan. Het weglaten van regel 30 zou tot gevolg hebben dat de bal bovenin het beeld zou bewegen. Regel 40 zet een loop op (naar regel 80) om de bal over de 40 posities van links naar rechts te be­

wegen. In regel 50 wordt veel gedaan. Eerst wordt er een spatie afgedrukt (= niets) over de voorgaande balpositie, vervolgens de bal en tenslotte een stap­

je met de cursor naar l inks om alles al klaar te zetten voor het uitwissen van de nieuwe bal . De loop in de regels 60 en 70 dient om de afloop van het programma (en de bal !) te vertragen. Zonder deze vertraging (we noemen zoiets een wacht­

Ius) zou de bal te snel over het scherm bewegen. Regel 80 maakt de Ius af die we in regel 40 waren begonnen. Bij elke keer dat de Ius wordt doorlopen, schuift de bal een positie naar rechts op. Binnen de Ius 40-80 vinden we een tweede I us, de wachtlus 60-70: dit mogen we doen. We moeten er aileen goed op letten dat de lussen elkaar niet kruisen; het is een goede gewoonte om lussen in te tekenen zoals wij dat deden in het voorbeeld. Draai de commando's in de regels 70 en 80 maar eens om. De computer raakt in de war! De regels 90 tim 130 draaien het proces 40-80 precies om. In die regels gaat de bal van rechts naar links. Regel 100 wijkt af van regel 50 omdat we eerst de bal (rechts) moeten uitwissen, en ver­

volgens naar links moeten lopen.

Ais al les eenmaal doorlopen is, gaat het programma terug naar regel 20 en begint alles weer van voren af aan. Keurig ! U kunt het programma onderbreken door te­

gelijkertijd op < RESTORE> en < RUN/STOP> te drukken. Een variatie op het programma is het volgende:

50 PRINT "[SH I FT/Oj"

RUN en kijk. Omdat we de cursorbeweging weglieten blijft elke bal op het scherm staan totdat hij weggeveegd wordt door de bal in het 2e gedeelte van het pro­

gramma.

Input

Tot nu toe waren aile variabelen voor het starten van een programma ingesteld.

Ais het programma eenmaal liep, kon er niets meer aan worden veranderd. Met IN PUT kunnen we nieuwe informatie aan het programma toevoegen, tijdens het lopen ervan, waarna met die nieuwe informatie verder gewerkt kan worden.

Het werken met INPUT wordt duidelijk aan de hand van het volgende voorbeeld.

Type eerst NEW < RETURN > om een vorig programma uit te wissen:

De werking is simpel. Er verschijnt een vraagteken met een knipperende cursor.

Dit geeft aan dat de computer wacht tot u iets heeft i ngetikt. Tik nu iets in en druk op RETURN. De computer antwoordt dan met: U zei: gevolgd door hetgeen u in­

tikte. Het lijkt allemaal eenvoudig, maar bedenk eens wat u de computer niet kunt laten doen met uw informatie! Via I N PUT kunt u getal- alsmede stringvariabelen 38

invoeren. Zelfs kunt u via I N PUT tekst op het scherm zetten:

I N PUT "TEKST"; variabele (TEKST mag maximaal 38 karakters lang zijn) is de complete, juiste vorm van een I NPUT. Ook kan:

In document HANDBOEK VOOR DE COMMODORE 64 (pagina 44-47)