Het grote programmeertips topic
Het grote programmeertips topic
Hier kun je al tips kwijt als het gaat om programmeren op je GR.
Groeten, Marco
Bewegende tekst
Als je bewegende tekst wilt is dat niet zo moeilijk, maak maar eens dit programmaatje:
For(X,1,6)
Output(X,1," Hallo")
End
Door de operator For te gebruiken kun je heel makkelijk tekst laten bewegen over het basis scherm. Dit werkt natuurlijk ook in het draw scherm. Hierdoor kun je ook pixels laten bewegen.
Extra tips
Als je bewegende tekst wilt is dat niet zo moeilijk, maak maar eens dit programmaatje:
For(X,1,6)
Output(X,1," Hallo")
End
Door de operator For te gebruiken kun je heel makkelijk tekst laten bewegen over het basis scherm. Dit werkt natuurlijk ook in het draw scherm. Hierdoor kun je ook pixels laten bewegen.
Extra tips
- Als je het scherm leeg wilt maken achter de tekst dan kun je er een spatie voor zetten, hier door wordt de tekst ook weer gewist
- Als je een beetje creatief bent dan kun je ook bewegende spelletjes hiermee maken.
- Meestal zal de tekst zo snel bewegen dat het lijkt of het er in een keer staat. Je kunt dit vertragen door een extra For er in te zetten, bijv:
For(D,1,50)
End
Laatst gewijzigd door Marco op 10 mar 2005, 08:44, 1 keer totaal gewijzigd.
Groeten, Marco
Mooi menu
Als je de tag Menu gebruikt dan is het slim om even paar spaties voor en na de titel te zetten. Hierdoor wordt de menu balk bovenaan helemaal zwart.
Bijvoorbeel:
Menu(" Hoger of Lager ","Lager",00,"Hoger",99)
Door de extra spatie(s) ervoor en erachter lijkt het menuutje veel mooier.
Als je de tag Menu gebruikt dan is het slim om even paar spaties voor en na de titel te zetten. Hierdoor wordt de menu balk bovenaan helemaal zwart.
Bijvoorbeel:
Menu(" Hoger of Lager ","Lager",00,"Hoger",99)
Door de extra spatie(s) ervoor en erachter lijkt het menuutje veel mooier.
Groeten, Marco
Programma verkleinen
De ruimte op een Ti is meestal erg beperkt, het is dus slim om je porgrammaatje zo klein mogelijk te maken. Even wat tips:
De ruimte op een Ti is meestal erg beperkt, het is dus slim om je porgrammaatje zo klein mogelijk te maken. Even wat tips:
- Laat sluit haaksjes weg, zoals " ). Deze zijn overbodig, want de rekenmachine let er niet op. Laat ook overbodige lege regels weg.
- Gebruik zo weinig mogel if. Dit neemt meestal erg veel ruimte in. For is, als het kan, korter.
- Onzin is altijd leuk aan het begin (bijv. made by) maar besef wel dat dat erg veel ruimte neemt, en mensen vinden het meestal ook niet mooi, alleen irritant.
Groeten, Marco
Programma versnellen
Soms kan een programmaatje wat je hebt gemaakt erg traag zijn. Dit kun je meestal wel verbeteren, waardoor je programma wat sneller gaat lopen. Wat tips:
Soms kan een programmaatje wat je hebt gemaakt erg traag zijn. Dit kun je meestal wel verbeteren, waardoor je programma wat sneller gaat lopen. Wat tips:
- Gebruik zo weinig mogelijk "if". De if operator is erg traag in basic. For of while is veel sneller
- Laat de output zo weinig mogelijk komen. Als je de tekst twee keer output dan is dat zonde van de snelheid.
Groeten, Marco
Re: Het grote programmeertips topic
Pauzeren
Om je programma even te vertragen (zie: bewegende tekst) kan je ook Random getallen laten berekenen.
De functie RandInt staat bij MATH.
Voorbeeld: Neem "RandInt(0,1,5)" op in je programmacode. De 5 (staat voor aantal getallen dat hij moet genereren) kan je aanpassen naar gelang de duur.
Negatief
Je beeldscherm heeft 94 op 62 pixels. Hiermee kan je een code maken om je graphs/tekeningen negatief te maken. Dit is volledig zinloos, maar wel leuk.
Om je programma even te vertragen (zie: bewegende tekst) kan je ook Random getallen laten berekenen.
De functie RandInt staat bij MATH.
Voorbeeld: Neem "RandInt(0,1,5)" op in je programmacode. De 5 (staat voor aantal getallen dat hij moet genereren) kan je aanpassen naar gelang de duur.
Negatief
Je beeldscherm heeft 94 op 62 pixels. Hiermee kan je een code maken om je graphs/tekeningen negatief te maken. Dit is volledig zinloos, maar wel leuk.
Code: Selecteer alles
for(x,0,94)
for(y,0,62)
pxl-Change(y,x) // Als je met pixels werkt zet je eerst de y en dan de x
end
end
-
- Vergevorderde
- Berichten: 247
- Lid geworden op: 24 aug 2008, 16:20
- Contacteer:
Re: Het grote programmeertips topic
je kan ook Rand(x) gebruiken!eleruin schreef:Pauzeren
Om je programma even te vertragen (zie: bewegende tekst) kan je ook Random getallen laten berekenen.
De functie RandInt staat bij MATH.
Voorbeeld: Neem "RandInt(0,1,5)" op in je programmacode. De 5 (staat voor aantal getallen dat hij moet genereren) kan je aanpassen naar gelang de duur.
@Marco if is iets heel anders dan For of While!
als je een alternatief wil aan geven wat veel beter is:
booleans
even voorbeeld:
(x=1)*3+(x=2)*6->C
als x==1 is komt er 3 in C te staan als x==2 is komt er 6 in C te staan.
als jullie nog meer willen weten over de GR kijk eens naar mijn site, als je vragen hebt stel ze gerust
Re: Het grote programmeertips topic
Het is zo dat IF anders werkt, maar toch gebruiken sommige mensen de IF-functie om een soort van FOR of WHILE constructie te maken. Dat is niet handig want IF is heel erg traag
Groeten, Marco
-
- Vergevorderde
- Berichten: 247
- Lid geworden op: 24 aug 2008, 16:20
- Contacteer:
Re: Het grote programmeertips topic
ook vooral geen Goto's gebruiken
Repeat is volgens mij nog sneller
Repeat is volgens mij nog sneller
Re: Het grote programmeertips topic
Misschien wel sneller dan WHILE, maar FOR is echt de snelste geloof ik...
Groeten, Marco
Re: Het grote programmeertips topic
In veel programma's zie ik één hélé grote fout.
Doe dit nooit! Probeer de volgende code maar eens uit:
Als je het programma een tijdje laat lopen, krijg je na een tijdje het volgende
En dat gaat door totdat het geheugen vol is. De meeste programma's crashen niet door dit, maar doordat het programma steeds meer geheugen gebruikt wordt het steeds trager en trager.
Code: Selecteer alles
If (blablabla)
Then
Goto (ergens)
End
Code: Selecteer alles
While 1
Lbl 1
If 1
Then
Goto 1
End
End
Wat in feite gebeurt is dat het End deel van het If statement nooit bereikt wordt. Daardoor wordt de code hierboven als het ware gekopieërd in het if deel zelf. Dit zou er dus gebeuren in het geheugen:ERR:MEMORY
1:Quit
2:Goto
Code: Selecteer alles
While 1
Lbl 1
If 1
Then
While 1
Lbl 1
If 1
Then
Goto 1
End
End
End
End
Re: Het grote programmeertips topic
Nog een handige tip waar ik net aan dacht. Veel programma's werken met lijsten. Als je niet weet hoe lang een lijst gaat worden, gebruik je gewoon 0->dim(L1 [of L2 of wat dan ook]). De lijst wordt vanzelf groter als je iets nieuws toevoegd.
-
- Vergevorderde
- Berichten: 247
- Lid geworden op: 24 aug 2008, 16:20
- Contacteer:
Re: Het grote programmeertips topic
seq() is nog snellerMarco schreef:Misschien wel sneller dan WHILE, maar FOR is echt de snelste geloof ik...
Re: Het grote programmeertips topic
Vensterinstellingen
Als je handig wilt werken is het niet slecht van dit te gebruiken:
Hierdoor zal pxl-off(5,8) hetzelfde doen als pt-off(8,-5). Handig als je lijnen wilt tekenen, die maken gebruik van je window instellingen, terwijl pixels dat niet doen. pxl-off(100,200) geeft een error, maar pt-off(200,-100) niet.
Als je handig wilt werken is het niet slecht van dit te gebruiken:
Code: Selecteer alles
0 ->YMax
-62 ->YMin
0 ->XMin
94 ->XMax
Given that, by scientifical reasons, the state of an object is completely determined by the physical influence of its environment, the probability to roll six with a dice is either one or zero.