Pagina 1 van 1

Het grote programmeertips topic

Geplaatst: 07 mar 2005, 19:06
door Marco
Hier kun je al tips kwijt als het gaat om programmeren op je GR.

Geplaatst: 07 mar 2005, 19:11
door 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 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

Geplaatst: 08 mar 2005, 09:13
door 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.

Geplaatst: 09 mar 2005, 09:09
door 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:
  • 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.

Geplaatst: 09 mar 2005, 12:34
door 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:
  • 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.

Re: Het grote programmeertips topic

Geplaatst: 26 jun 2008, 09:12
door eleruin
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.

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

Re: Het grote programmeertips topic

Geplaatst: 24 aug 2008, 17:06
door ti-wereld.nl
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.
je kan ook Rand(x) gebruiken!

@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 :wink:

Re: Het grote programmeertips topic

Geplaatst: 25 aug 2008, 10:58
door Marco
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 ;)

Re: Het grote programmeertips topic

Geplaatst: 26 aug 2008, 10:00
door ti-wereld.nl
ook vooral geen Goto's gebruiken :P

Repeat is volgens mij nog sneller

Re: Het grote programmeertips topic

Geplaatst: 28 aug 2008, 18:15
door Marco
Misschien wel sneller dan WHILE, maar FOR is echt de snelste geloof ik...

Re: Het grote programmeertips topic

Geplaatst: 18 dec 2008, 20:35
door Zap
In veel programma's zie ik één hélé grote fout.

Code: Selecteer alles

If (blablabla)
Then
Goto (ergens)
End
Doe dit nooit! Probeer de volgende code maar eens uit:

Code: Selecteer alles

While 1
Lbl 1
If 1
Then
Goto 1
End
End
Als je het programma een tijdje laat lopen, krijg je na een tijdje het volgende
ERR:MEMORY
1:Quit
2:Goto
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:

Code: Selecteer alles

While 1
Lbl 1
If 1
Then
While 1
Lbl 1
If 1
Then
Goto 1
End
End
End
End
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.

Re: Het grote programmeertips topic

Geplaatst: 18 dec 2008, 20:43
door Zap
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.

Re: Het grote programmeertips topic

Geplaatst: 06 mar 2009, 22:49
door ti-wereld.nl
Marco schreef:Misschien wel sneller dan WHILE, maar FOR is echt de snelste geloof ik...
seq() is nog sneller ;)

Re: Het grote programmeertips topic

Geplaatst: 28 dec 2011, 13:29
door barto
Vensterinstellingen
Als je handig wilt werken is het niet slecht van dit te gebruiken:

Code: Selecteer alles

0   ->YMax
-62 ->YMin
0   ->XMin
94  ->XMax
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.