Non sei registrato? Registrati subito cliccando QUI! E utilizza tutte le funzionalita' del sito!

0 - Introduzione

Breve corso sul linguaggio di programmazione Lua, attraverso l'utilizzo della console interattiva e di LOVE,un nuovissimo tool per la creazione di applicazioni/giochi in 2D.

0 - Introduzione

Messaggioda napco » 08/01/2010, 12:34

Introduzione

Ciao a tutti! In questa sezione della RMK Academy tratteremo un corso sul Lua, un linguaggio di programmazione semplice, potente e "giovane" utilizzato prevalentemente nel campo del game development. Il corso consisterà in un'introduzione al linguaggio vero e proprio e nella sua applicazione pratica, attraverso l'utilizzo della console interattiva di Lua, un engine per la creazione di giochi in 2D (LOVE) e, per chi possiede una PSP montante custom firmware, il Lua Player. Al termine di ogni lezione proporrò alcuni esercizi (non obbligatori, ovviamente ^^) che verranno poi corretti e valutati, un po' come nel corso di RGSS.

Il Linguaggio

Lua è un linguaggio semplice ed intuitivo. La sintassi chiara e pulita permette di sviluppare algoritmi semplici e complessi, senza perdere la visione d'insieme del programma che si sta costruendo e consentendo un debug rapido del codice. Nonostante Lua non supporti la programmazione orientata agli oggetti di default, è comunque possibile costruire un sistema di classi ed oggetti con una semplicità incredibile.

Prima lezione - Installazione della console interattiva

In questo primo capitolo introduttivo installeremo Lua nel nostro bel PC. L'installazione permetterà al nostro computer di interpretare codice scritto in Lua, e ci fornirà il nostro primo strumento di lavoro: la console interattiva. Questo utile strumento non è altro che una finestra MS-DOS (console) in grado di accettare, dalla riga di comando, righe di codice Lua. La console è fondamentale per testare piccoli frammenti di codice dei quali non si conosce (o si vuole aprofondire) il comportamento, specialmente all'inizio del nostro "viaggio".

Ma bando alle ciancie! Iniziamo a preparare il nostro ambiente per accogliere questo nuovo linguaggio di programmazione!

- Andiamo a visitare il sito http://www.lua.org/, padre del linguaggio stesso!

- Fermiamoci ad ammirare il logo del linguaggio... E' bello o no? Entriamo nella sezione "download";

- Clicchiamo su "binaries", esattamente a destra di "source" e subito sotto al logo del linguaggio di programmazione;

- Non facciamoci catturare da tutti quei "bla-bla-bla" in inglese e clicchiamo nuovamente su "download", nel menu a sinistra;

- Scarichiamo il file "lua5_1_4_Win32_bin.zip", che dovrebbe essere il terzo della lista (dando per scontato che ognuno di voi stia utilizzando Windows). Non vi preoccupate, il file pesa meno di un megabyte!

- Ora creiamo una cartella chiamata "napco è fig..." ehm... "Lua" dove vogliamo, e scompattiamo al suo interno la cartella compressa appena scaricata. Al suo interno troveremo delle DLL delle quali non ce ne frega niente (per ora) ed una cartella della quale ci importa ancora meno... Gli elementi "veramente" importanti sono i 4 eseguibili che hanno come icona il logo di Lua. Questi eseguibili sono:

- "lua5.1.exe": Questa è la nostra console interattiva. Impariamo ad amarla!

- "wlua5.1.exe": Questa è una versione della console senza... console? Ok, può sembrare stupido, ma è molto utile per la costruzione di programmi che si basano su GUI (programmi grafici, giochi, finestre ecc...).

- "luac5.1.exe": Questo eseguibile, che non ho mai provato, consente di compilare il codice scritto in Lua, rendendolo illeggibile all'occhio umano. Non mi piace.

- "bin2c5.1.exe": Ho la netta impressione che questo file sia importante, ma non ho idea di cosa faccia...

Ciao da Lua! - Il nostro primo programma

Ok, è arrivato il momento di scrivere il nostro primo programma. Apriamo la console ("lua5.1.exe"). Verranno visualizzate diverse scritte nonsense e successivamente un prompt (riga di comando). Digitiamo
 Codice: Seleziona tutto
print "Ciao da Lua!"
, premiamo invio e osserviamo con stupore e riverenza l'output del nostro programma... Bello, no?

Per chi si dovesse sentire demoralizzato dalla semplicità di "Ciao da Lua!" propongo un semplicissimo esercizio:

- Aprite il blocco note;

- Scrivete il codice utilizzato dal programma appena creato;

- Salvate con nome il file, utilizzando l'estensione ".lua" all'interno della cartella contenente la console;

- Aprite la console interattiva e digitate
 Codice: Seleziona tutto
dofile("nomefile.lua")
sostituendo ovviamente il nome del vostro file a "nomefile";

Questo è un metodo alternativo per utilizzare la console di Lua, che permette di eseguire un intero file alla volta piuttosto che una sola riga. L'istruzione IMPORTANTISSIMA "dofile" verrà trattata più avanti...

Per oggi abbiamo finito... Spero che la lezione vi sia piaciuta! Se avete problemi di qualsiasi genere chiedetemi pure! A presto con la prossima lezione!
Podi raggiunti: | +
ImmagineClicca qui per ingrandireImmagineClicca qui per ingrandireImmagineClicca qui per ingrandire
Avatar utente
napco
Maker Viandante
Maker Viandante
 
Messaggi: 205
Iscritto il: 24/11/2009, 16:55
Località: Marte
Grazie dati: 0 volte
Grazie ricevuti: 0 volte
Ruolo: Scripter
Tool Preferito: C(++)ervello

Re: 0 - Introduzione

Messaggioda Anthair » 08/01/2010, 13:15

Evviva, ce l'ho fatta, sono un genio della programmazione!
XD ok, aspetto altre lezioni.

Print"sono un figo"

EDIT:Niente compiti oggi?
ImmagineClicca qui per ingrandire
Massacratore n.1 del Mutiliamo gli RTP Contest
ImmagineClicca qui per ingrandire
Visionario n.2 del Chipset Pixelling Contest
Banditore n.1 dello Slogan Contest
Pittore n.3 del Banner Contest #3


  Missing_Seven: ma tu trix non fai mai niente tuto il giorno?  
Avatar utente
Anthair
Maker Viandante
Maker Viandante
 
Messaggi: 189
Iscritto il: 13/08/2009, 15:57
Grazie dati: 0 volte
Grazie ricevuti: 0 volte
Ruolo: Story Boarder
Progetto/i 2k/2k3: Aeterna Nova Lux
Progetto/i XP: The Black Mansion,<???>
Tool Preferito: Matita & Foglio bianco

Re: 0 - Introduzione

Messaggioda Ally » 08/01/2010, 14:51

Bella introduzione ^^
Il programma sembra semplice anche a livello programmatico,ma aspetto le altre prima di parlare xD
Comunque scarico anche io :)
ImmagineClicca qui per ingrandire
Spoiler: mostra
Figlio Illegittimo n°001 della:
ImmagineClicca qui per ingrandire
Avatar utente
Ally
Fondatori
Fondatori
 
Messaggi: 5334
Iscritto il: 09/08/2009, 16:07
Località: Genova
Grazie dati: 125 volte
Grazie ricevuti: 116 volte
Ruolo: Scripter
Progetto/i VX: Essence
Tool Preferito: RM2k/2k3

Re: 0 - Introduzione

Messaggioda 3xter » 08/01/2010, 14:56

mmh..per ora mi sembra molto C like..tra apici sempre stringhe..posso consigliare come IDE notepad++? se non sbaglio ha gli highlights per il LUA =D
Correggimi se sbaglio ^^
ImmagineClicca qui per ingrandire

Burle Simpatiche | +
[01:45:36] ­sai come far disconnettere un contatto? XD
[01:45:40] ­l'ho fatto con zhu
­rpgmkr.net-Marco scrive:
[01:46:15] ­l'ho letto su makerando
­trick0 scrive:
[01:46:27] ­si ma che metodo usi?
[01:46:37] ­io ne conosco uno più rapido
[01:46:39] ­scrivi
[01:46:41] ­ /exit
[01:46:48] ­SE hai il plus eh
[01:48:30] ­­rpgmkr.net-Marco si è disconnesso
­trick0 scrive:
[01:48:53] ­finisce in firma

Ecco perchè Rain's Legacy va avanti rapidamente | +
­trixter says:
[13:06:29] ­debugghiamo sto bs ti prego ç.ç
­Ichy says:
[13:07:08] ­ok dai
[13:07:19] ­è che avevo trovato la donna della mia vita
[13:07:26] ­può aspettare
Avatar utente
3xter
Fondatori
Fondatori
 
Messaggi: 1010
Iscritto il: 12/08/2009, 12:22
Grazie dati: 0 volte
Grazie ricevuti: 2 volte
Ruolo: Eventer
Progetto/i VX: Rain's Legacy
Tool Preferito: Rpg Maker VX / Sharp Develop

Re: 0 - Introduzione

Messaggioda kekkorider » 08/01/2010, 18:00

Notepad++ ha gli highlight per tutto (o quasi),io lo consiglio vivamente per chi programma con qualsiasi linguaggio
Avatar utente
kekkorider
Amministratore
Amministratore
 
Messaggi: 395
Iscritto il: 12/08/2009, 13:59
Grazie dati: 4 volte
Grazie ricevuti: 1 volte
Ruolo: Eventer
Progetto/i 2k/2k3: Valya - Eden Divide
Progetto/i XP: Restricted - Project 15

Re: 0 - Introduzione

Messaggioda napco » 08/01/2010, 18:39

Notepaad ++ è fantastico! Io lo uso anche per programmare in C/C++. E poi ha i temi ^^
Podi raggiunti: | +
ImmagineClicca qui per ingrandireImmagineClicca qui per ingrandireImmagineClicca qui per ingrandire
Avatar utente
napco
Maker Viandante
Maker Viandante
 
Messaggi: 205
Iscritto il: 24/11/2009, 16:55
Località: Marte
Grazie dati: 0 volte
Grazie ricevuti: 0 volte
Ruolo: Scripter
Tool Preferito: C(++)ervello

Re: 0 - Introduzione

Messaggioda Ally » 08/01/2010, 18:40

Si,lo uso molto anche io ^^
Le pagine della sezione games e tutto ilr esto,le ho create con quell'editor di testo.
Con gli altri,anche solo per modifiche a pagine .php,mi dava errori nonostante fosse stato effettuato tutto al meglio.
ImmagineClicca qui per ingrandire
Spoiler: mostra
Figlio Illegittimo n°001 della:
ImmagineClicca qui per ingrandire
Avatar utente
Ally
Fondatori
Fondatori
 
Messaggi: 5334
Iscritto il: 09/08/2009, 16:07
Località: Genova
Grazie dati: 125 volte
Grazie ricevuti: 116 volte
Ruolo: Scripter
Progetto/i VX: Essence
Tool Preferito: RM2k/2k3

Re: 0 - Introduzione

Messaggioda Demone Rosso » 26/07/2010, 2:03

Ho letto tutte le lezioni ben fatte. Mi sono imbattituto per puro caso in un forum che parla di Sweet. hai intenzione di continuarlo? perchè secondo me ne vale la pena. anzi ; - )
Partecipa alla creazione di un gioco 3D.
Il motore grafico usato è Irrlicht
Impara cose nuove, divertiti e aiutaci a crescere! :)

Link:
Avatar utente
Demone Rosso
Neofita
Neofita
 
Messaggi: 7
Iscritto il: 12/07/2010, 9:21
Grazie dati: 0 volte
Grazie ricevuti: 0 volte
Ruolo: Scripter
Tool Preferito: C++

Re: 0 - Introduzione

Messaggioda napco » 26/07/2010, 18:28

Sweet è già completo, solo che non mi soddisfa abbastanza da renderlo pubblico, più che altro per il numero elevato di DLL da distribuire. Pensavo di provare OpenAL per l'audio e qualcosa di diverso da SDL_ttf per i fonts, giusto per vedere se riesco a ridurne il numero...
Podi raggiunti: | +
ImmagineClicca qui per ingrandireImmagineClicca qui per ingrandireImmagineClicca qui per ingrandire
Avatar utente
napco
Maker Viandante
Maker Viandante
 
Messaggi: 205
Iscritto il: 24/11/2009, 16:55
Località: Marte
Grazie dati: 0 volte
Grazie ricevuti: 0 volte
Ruolo: Scripter
Tool Preferito: C(++)ervello

Re: 0 - Introduzione

Messaggioda Demone Rosso » 27/07/2010, 19:12

interessante. cmq il numero dei dll non penso sarà un problema se poi agli utenti basta solo mettere i lua script ;-). per i fonts basta e avanza devil. penso che ormai sei in grado di farlo senza SDL basandonti solo su Devil, OpenGL e OpenAL. + lua ovviamente XD. Verrebbe fuori pure qualcosa di rapida esecuzione. Cmq se fai una release sono pure disposto farci un giochino semplice sopra e contribuire con un esempio in questo modo.
Partecipa alla creazione di un gioco 3D.
Il motore grafico usato è Irrlicht
Impara cose nuove, divertiti e aiutaci a crescere! :)

Link:
Avatar utente
Demone Rosso
Neofita
Neofita
 
Messaggi: 7
Iscritto il: 12/07/2010, 9:21
Grazie dati: 0 volte
Grazie ricevuti: 0 volte
Ruolo: Scripter
Tool Preferito: C++

Prossimo

Torna a Programmare in Lua

 


  • Argomenti correlati
    Risposte
    Visite
    Ultimo messaggio

SEO Search Tags

sdl lua      esiste un tool grafico per lua      

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti