Small Basic: Cu broasca la desenat


Reluăm după o pauză cam lungă introducerea în Small Basic. Urmaţi tagul Small Basic pentru a regăsi tot ce am scris acum vreo două luni. Şi ne apropiem de grafică cu o oprire la broasca ţestoasă ce lase urme după ea. Yep. Să ne amintim că Small Basic este un limbaj de programare gândit pentru începători… iar unii dintre începători sunt copii. Şi lor o să le placă să plimbe broasca pe ecran, desenând. Clasa Turtle are o serie de funcţii ce se cam explică singure.

Proprietăţi

  • Angle: întoarce broasca cu unghiul indicat
  • Speed: stabileşte viteza de deplasare a broaştei
  • X: o mută pe orizontală la n pixeli de marginea stângă a ferestrei
  • Y: o mută pe verticală la n pixeli de marginea de sus a ferestrei

Metode:

  • Hide: o ascunde
  • Move: o mută cu distanţa indicată în parametru
  • MoveTo: o mută la coordonatele indicate
  • PenDown: broasca lasă urme
  • PenUp: broasca nu mai lasă urme după ea
  • Show: arată broasca (teoretic trebuie explicit să o “activăm”)
  • Turn: o întoarce cu unghiul indicat
  • TurnLeft: o întoarce spre stânga cu 90 de grade
  • TurnRight: o întoarce spre dreapta cu 90 de grade

Acum să vedem un prim cod. Dacă vreţi să îl vedeţi în execuţie, şi aveţi SilverLight de la Microsoft instalat, mergeţi aici. Ce facem? Afişăm broasca, îi indicăm viteza şi o punem la lucru: mergi 100 de paşi, întoarce-te la dreapta, iar 100 de paşi, iar la dreapta… În final ce va desena? Evident, un pătrat (nu v-aţi prins? încercaţi singuri cu 2 paşi să zicem: 2 paşi, rotire 90 grade dreapta şi tot aşa de încă trei ori :) ).

Turtle.Show()
Turtle.Speed=8
Turtle.Move(100)
Turtle.TurnRight()
Turtle.Move(100)
Turtle.TurnRight()
Turtle.Move(100)
Turtle.TurnRight()
Turtle.Move(100)

Acum să aplicăm şi ceva matematică. În următorul cod, ce poate fi văzut în execuţie aici, desenăm mai generic. Dacă punem laturi=4 va fi un pătrat. Dacă punem 8, va fi un octogon. Dacă punem 30 sau mai mult, va fi aproape ca un cerc! Desigur, trebuie jonglat şi cu variabila latime ca imaginea să încapă în ecran.

GraphicsWindow.Width=600
GraphicsWindow.Height=600
Turtle.Show()
Turtle.Speed=8
Turtle.X=10
latime=50
laturi=10
unghi=360/laturi
For i=1 To laturi
  Turtle.Move(latime)
  Turtle.Turn(unghi)
EndFor

Întrebare: ce desenează codul următor? Hehe… cu mare atenţie şi cunoştinţe matematice poate veţi intui. Dar… aţi văzut deja imaginea de mai jos. Ei, ce ziceţi? Broasca poate fi fantastică. Desigur, nu am dat exemple cu PenUp şi altele, dar studiaţi singuri ce se mai poate face.

Turtle.Show()
Turtle.Speed = 10
sides = 50
length = 400 / sides
angle = 360 / sides
For j = 1 To 20
   For i = 1 To sides
     Turtle.Move(length)
     Turtle.Turn(angle)
   EndFor
   Turtle.Turn(18)
EndFor

Iată imaginea desenată de broască. Dacă vreţi să vă convingeţi, codul în execuţie e aici. Repet: trebuie să aveţi SilverLight de la Microsoft instalat pentru a vedea online (nu şi pentru a rula pe propriul calculator: ajunge Small Basic).

imagine


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (4 evaluări, media: 4,00 din 5)
Loading...Loading...

0 comentarii


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *