Flickr 2×2
Challenge 2012-09 – Basic Challenge 3 Create program to show 4 pictures downloaded from Flickr in a 2 by 2 grid on the GraphicsWindow. Le… Leggi tutto »Flickr 2×2
Challenge 2012-09 – Basic Challenge 3 Create program to show 4 pictures downloaded from Flickr in a 2 by 2 grid on the GraphicsWindow. Le… Leggi tutto »Flickr 2×2
Una simulazione classica: il moto casuale di una particella nel piano.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
DIM=5 ' dimensione del passo '-------------------------------------------- Turtle.Speed=10 ' velocità massima '-------------------------------------------- Timer.Interval=100 ' 10 passi al secondo Timer.Tick =PASSO '-------------------------------------------- Sub PASSO x=Turtle.X ' posizione attuale y=Turtle.Y dir=Math.GetRandomNumber(4) ' dove andare? If(dir = 1) Then x=x+DIM ElseIf(dir = 2) Then x=x-DIM ElseIf(dir = 3) Then y=y+DIM ElseIf(dir = 4) Then y=y-DIM EndIf Turtle.MoveTo(x,y) ' nuova posizione EndSub '-------------------------------------------- |
Esercizi Il passo più piccolo porterà a figure più dense. Aggiungi più casualità:… Leggi tutto »Moto browniano
Carica le 10 immagini e le anima in sequenza con il Timer per contare i decimi di secondo Aggiunge i pulsanti di Start e Stop… Leggi tutto »Animazioni
Le immagini sono utilizzate per visualizzare le cifre e il lampeggio di un orologio digitale
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
PATH=Program.Directory ' carica le immagini For i=0 To 9 CIFRE[i]=ImageList.LoadImage(PATH + "/" + i + ".gif") EndFor DUEPUNTI=ImageList.LoadImage(PATH + "/punti.gif") NULLO =ImageList.LoadImage(PATH + "/null.gif") LAMPO =1 DIMX =ImageList.GetWidthOfImage (DUEPUNTI) ' dimensioni, distanze, ... DIMY =ImageList.GetHeightOfImage(DUEPUNTI) SPAZIO =20 POSX[1]=SPAZIO POSY =SPAZIO For i=2 To 8 POSX[i]=POSX[i-1]+DIMX EndFor GraphicsWindow.Title ="Orologio digitale" ' finestra grafica GraphicsWindow.BackgroundColor="Black" GraphicsWindow.Width =8*DIMX+2*SPAZIO GraphicsWindow.Height = DIMY+2*SPAZIO Timer.Interval=250 ' timer Timer.Tick =AGGIORNA Sub AGGIORNA hh=Clock.Hour ' che ore sono? mm=Clock.Minute ss=Clock.Second h1=Math.Floor(hh/10) ' le singole cifre? h2=Math.Remainder(hh, 10) m1=Math.Floor(mm/10) m2=Math.Remainder(mm, 10) s1=Math.Floor(ss/10) s2=Math.Remainder(ss, 10) GraphicsWindow.DrawImage(CIFRE[h1],POSX[1],POSY) ' visualizza le cifre GraphicsWindow.DrawImage(CIFRE[h2],POSX[2],POSY) GraphicsWindow.DrawImage(CIFRE[m1],POSX[4],POSY) GraphicsWindow.DrawImage(CIFRE[m2],POSX[5],POSY) GraphicsWindow.DrawImage(CIFRE[s1],POSX[7],POSY) GraphicsWindow.DrawImage(CIFRE[s2],POSX[8],POSY) If LAMPO = 1 Then ' lampeggio dei due punti LAMPO=0 GraphicsWindow.DrawImage(DUEPUNTI,POSX[3],POSY) GraphicsWindow.DrawImage(DUEPUNTI,POSX[6],POSY) Else LAMPO=1 GraphicsWindow.DrawImage(NULLO,POSX[3],POSY) GraphicsWindow.DrawImage(NULLO,POSX[6],POSY) EndIf EndSub |
Se consideriamo i secondi passati dall’avvio dell’applicazione
1 2 3 4 5 6 7 |
... INIZIO=Clock.ElapsedMilliseconds ... ADESSO=Clock.ElapsedMilliseconds TEMPO =(ADESSO-INIZIO)/1000 TEMPO =Math.Floor(TEMPO) ... |
otteniamo… Leggi tutto »Orologio digitale
Tramite la libreria Timer è possibile ripetere 4 volte al secondo la visualizzazione dei secondi attuali.
1 2 3 4 5 |
Timer.Interval=250 Timer.Tick =VISUALIZZA1 Sub VISUALIZZA1 TextWindow.Write(Clock.Second + " ") EndSub |
Potrebbe essere utile sapere quanti secondi sono passati dall’inizio dell’esecuzione… Leggi tutto »Secondi
La libreria Timer fornisce la possibilità di ripetere l’esecuzione di operazioni a intervalli di tempo regolari. Strumento Argomenti Risultato Descrizione Interval =numero numero Restituisce o imposta l’intervallo… Leggi tutto »Timer