Il programmatore Viktoras Didziulis ha scritto questo semplice programma per dimostrare come creare una cartina interattiva.
Cliccando su una regione, una voce ci dice le informazioni di un paese. Il programma è scaricabile da qui: iMap.livecode.
Oppure in alternativa potete lanciare il seguente comando:
go url "http://ekoinf.net/revolution/ParentScripts.rev"
Il programma utilizza la libreria revSpeak, per creare la voce narrante, che è sempre inclusa in livecode. In questo modo non ci sono pesanti registrazioni da allegare, ma basta scrivere il testo e il computer lo legge.
Il programma inoltre usa i poligoni che cambiamo trasparenza per evidenziare i vari paesi dove passa sopra il mouse.
giovedì 30 aprile 2015
mercoledì 22 aprile 2015
Grafici
Le possibilità di Livecode per fare grafici sono infinite, ad esempio questo video mostra alcune possibilità:
Nel video è pubblicizzata l'estensione ChartMaker che potete trovare qui: http://livecode.com/products/thirdparty/flexiblelearning/chartmaker/
L'estensione ha un'interfaccia grafica per creare grafici in maniera veloce, ma tutto quello che è mostrato nel video lo potete fare da soli, anche senza acquistare l'estensione.
Come vedete ci sono grafici a linee, a barre, a torta, di qualunque complessità.
Nel video è pubblicizzata l'estensione ChartMaker che potete trovare qui: http://livecode.com/products/thirdparty/flexiblelearning/chartmaker/
L'estensione ha un'interfaccia grafica per creare grafici in maniera veloce, ma tutto quello che è mostrato nel video lo potete fare da soli, anche senza acquistare l'estensione.
Come vedete ci sono grafici a linee, a barre, a torta, di qualunque complessità.
lunedì 20 aprile 2015
Registrare l'audio
Livecode si appoggia a QuickTime su Windows e Mac per gli elementi multimediali. Una delle funzionalità di quicktime che possiamo utilizzare grazie a livecode è quella di registrare l'audio.
Possiamo impostare ogni dettaglio della registrazione se vogliamo, oppure lasciare le impostazioni de default. Ad esempio prima di registrare l'audio possiamo impostare il formato di file che vogliamo ottenere.
La funzione recordCompressionTypes() ci dà dei codec disponibili, ad esempio su windowsXp ottengo:
Possiamo impostare il tipo di file, utilizzando la proprietà recordformat, tra:
Possiamo impostare la fonte da cui registrare l'audio, impostando la proprietà recordInput tra le seguenti:
Una volta scelto se e cosa impostare i comandi da utilizzare sono:
mentre per mettere in pausa e riprendere la registrazione abbiamo:
Infine per chiudere la registrazione abbiamo:
In questo modo potete fare programmi di registrazione molto complessi.
Per gli utenti linux, che non hanno quicktime a disposizione, c'è il programma sox oppure arecord che possimo utilizzare dentro il nostro livecode, ad esempio:
Possiamo impostare ogni dettaglio della registrazione se vogliamo, oppure lasciare le impostazioni de default. Ad esempio prima di registrare l'audio possiamo impostare il formato di file che vogliamo ottenere.
La funzione recordCompressionTypes() ci dà dei codec disponibili, ad esempio su windowsXp ottengo:
- No compression,raw
- MACE 3:1,MAC3
- MACE 6:1,MAC6
- QDesign Music 2,QDM2
- Qualcomm PureVoice,Qclp
- Apple Lossless,alac
- ALaw 2:1,alaw
- 32-bit Floating Point,fl32
- 64-bit Floating Point,fl64
- IMA 4:1,ima4
- 24-bit Integer,in24
- 32-bit Integer,in32
- AAC a bassa complessità MPEG 4,mp4a
- 16-bit Little Endian,sowt
- 16-bit Big Endian,twos
- µLaw 2:1,ulaw
Possiamo impostare il tipo di file, utilizzando la proprietà recordformat, tra:
- aiffrecords per il formato AIF
- waverecords per il formato WA
- ulawrecords per il formato AU
- movierecords per il formato video QuickTime
Possiamo impostare la fonte da cui registrare l'audio, impostando la proprietà recordInput tra le seguenti:
- imic - microfono interno
- emic -il jack audio esterno
- cd - il lettore CD
- irca - il jack RCA
- tvfm - da una radio FM
- idav - da un input analgicoDAV
- mbay - dispositivo media-bay
- modm - da un modem
- zvpc - da un zoom video input
- none - non registra
Una volta scelto se e cosa impostare i comandi da utilizzare sono:
record sound file "registrazione.aiff"
mentre per mettere in pausa e riprendere la registrazione abbiamo:
record pause
record resume
Infine per chiudere la registrazione abbiamo:
stop recording
In questo modo potete fare programmi di registrazione molto complessi.
Per gli utenti linux, che non hanno quicktime a disposizione, c'è il programma sox oppure arecord che possimo utilizzare dentro il nostro livecode, ad esempio:
shell("sox -t alsa default output.wav")
giovedì 16 aprile 2015
Gadget
Nel 2009 Livecode lanciò un simpaticissimo gadget: la tazza con il codice per il caffè. Ecco un'immagine:
Il codice è il seguente:
E voi che gadget fareste?
Il codice è il seguente:
on WakeUp
put "groundCoffee" into revMug
repeat numSugar times
add sugar to revMug
end repeat
if wantMilk then
add milk to revMug
end if
end wakeUp
#enjoy
E voi che gadget fareste?
martedì 14 aprile 2015
Ricerca delle specie aliene
In biologia una specie aliena può essere semplicemente una specie che si trova in un ambiente che non è il suo. Le specie aliene possono provocare delle vere catastrofi ecologiche, un ecosistema dove appaiono degli animale che non ha antagonisti, ad esempio, li porta molte volte ad una riproduzione incontrollata.
Per questo motivo la NOBANIS studia le specie invasive estranee all'Europa.
L'Europa unita per questo motivo ha finanziato il progetto DAISE che ha costruito un database delle specie aliene e il software utilizzato è il nostro Livecode (allora si chiamava ancora Revolution):
La semplicità di livecode ha permesso l'utilizzo di vari database (SQLite e MySQL), la grafica vettoriale per mostrare volta per volta le regioni europee colpite e la creazione di ottimi report.
Ecco altre immagini:
Per questo motivo la NOBANIS studia le specie invasive estranee all'Europa.
L'Europa unita per questo motivo ha finanziato il progetto DAISE che ha costruito un database delle specie aliene e il software utilizzato è il nostro Livecode (allora si chiamava ancora Revolution):
La semplicità di livecode ha permesso l'utilizzo di vari database (SQLite e MySQL), la grafica vettoriale per mostrare volta per volta le regioni europee colpite e la creazione di ottimi report.
Ecco altre immagini:
martedì 7 aprile 2015
Anagrammi italiani
Data una serie di lettere, trovare tutte le parole valide nel minor tempo è una sfida di programmazione molto difficile. Oggi, riprendendo l'articolo sul gioco scarabeo, vedremo il metodo migliore e più veloce.
Per avere dei risultati sorprendenti, non bisogna fare tutti gli anagrammi possibili delle lettere. Ad esempio, date le lettere AMOR un programma lento si metterebbe a cercare tutti i possibili anagrammi:
a, am, ma, amo, oma, oam, amor, ecc.
Ma ciò è sbagliato!
Non ci servono tutti gli anagrammi, ma solo la firma delle parole. La firma è la serie di lettere di una parola, ordinandole alfabeticamente; ad esempio:
a, am, amo, amor, amr, ao, aor, ar, m, mo, mor, mr, o, or, r
sono solo 15 elementi, mentre un programma generico di anagrammi ne produrrebbe 64.
A questo punto ci serve un database che contenga le firme di tutte le parole valide, e le relative firme; cercando tutte le parole con una determinata firma, otterrete tutti gli anagrammi validi per quelle lettere.
Il codice del programma è quasi tutto qui:
Il programma potete scaricarlo da qui: risolutore scarabeo.
Per avere dei risultati sorprendenti, non bisogna fare tutti gli anagrammi possibili delle lettere. Ad esempio, date le lettere AMOR un programma lento si metterebbe a cercare tutti i possibili anagrammi:
a, am, ma, amo, oma, oam, amor, ecc.
Ma ciò è sbagliato!
Non ci servono tutti gli anagrammi, ma solo la firma delle parole. La firma è la serie di lettere di una parola, ordinandole alfabeticamente; ad esempio:
- amor -> amor
- ramo -> amor
- Roma -> amor
a, am, amo, amor, amr, ao, aor, ar, m, mo, mor, mr, o, or, r
sono solo 15 elementi, mentre un programma generico di anagrammi ne produrrebbe 64.
A questo punto ci serve un database che contenga le firme di tutte le parole valide, e le relative firme; cercando tutte le parole con una determinata firma, otterrete tutti gli anagrammi validi per quelle lettere.
Il codice del programma è quasi tutto qui:
on mouseUp
put the text of field "lettere" into lettere
#ordiniamo alfabeticamente
#put ordinaalfab(lettere) into lettere
put lettere & CR into field "combinazioni"
rimuovilettera lettere
sort field "combinazioni"
put the text of field "combinazioni" into lista
put empty into field "combinazioni"
repeat for each line tLine in lista
trovaparole tLine
end repeat
end mouseUp
function ordinaalfab lettere
repeat for each char tChar in lettere
put tChar & CR after let2
end repeat
delete last char of let2
sort let2
replace CR with empty in let2
return let2
end ordinaalfab
on trovaparole lettere
put the connessione of this card into connID
put "SELECT parola FROM parole WHERE firma='" & lettere & "'" into tSQL
put revDataFromQuery(tab,return,connID,tSQL) into tRecords
if tRecords is not empty then
put tRecords & CR after field "combinazioni"
end if
end trovaparole
on controlla lettere
put ordinaalfab(lettere) into lettere
if lettere is not among the lines of field "combinazioni" then
put lettere & CR after field "combinazioni"
end if
end controlla
on rimuovilettera lettere
put the number of chars of lettere into n
repeat with i=1 to n
put lettere into temp
delete char i of temp
controlla temp
rimuovilettera temp
end repeat
end rimuovilettera
Il programma potete scaricarlo da qui: risolutore scarabeo.
Iscriviti a:
Post (Atom)