Jump to content
Rpg²S Forum

Search the Community

Showing results for tags 'RGSS'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Rpg²S
    • Ingresso
    • Bacheca
  • Making
    • Tutorial
    • Grafica
    • Risorse sonore
    • Parlando del Making...
    • Oltre RpgMaker...
  • RpgMaker MZ
    • Supporto MZ
    • Risorse grafiche MZ
    • PLUGIN e Javascript per MZ
    • Progetti MZ
    • Release MZ
  • RpgMaker MV
    • Supporto MV
    • Risorse grafiche MV
    • PLUGIN e Javascript per MV
    • Progetti MV
    • Release MV
  • RpgMaker VX & VX-Ace
    • Supporto VX e VX-Ace
    • Risorse grafiche VX & VX-Ace
    • RGSS2 (VX)
    • RGSS3 (VX-Ace)
    • Progetti VX e VX-Ace
    • Release VX e VX-Ace
  • RpgMaker XP
    • Supporto XP
    • Risorse grafiche XP
    • RGSS (XP)
    • Progetti XP
    • Release XP
  • RpgMaker 2000/2003
    • Supporto 2K/2K3
    • Risorse grafiche 2K/2K3
    • Progetti 2K/2K3
    • Release 2K/2K3
  • Cortile
    • Off Topic
  • Team e Gilde
    • R²S Resources Team
    • Computer Dreams
    • Rpg2s RPG BY FORUM
  • Archivio
    • R²S Magazine
    • RenShop

Calendars

  • Community Calendar

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Twitter


Facebook


YouTube


LinkedIn


DeviantArt


Google Plus


Instagram


Provenienza


Interessi


Titoli


Skin Profilo


Skin Profilo Scelta


Conigli


Banana E3


XmaS14


Uova


Coniglio d'oro


ZucCasa

Found 24 results

  1. Cercasi programmatore RGSS per produzione di un gioco, l'obiettivo finale è di costruire un prodotto vendibile, team ancora da definire completamente. Il gioco sarà principalmente una storia molto corposa scritta da uno scrittore professionista, non un vero e proprio jrpg, quindi gli script da costruire saranno solo riguardanti minigiochi e un aggiustamento dell'ambiente, se interessati contattatemi in privato.
  2. Ho un problemuccio. Sto lavorando a uno script per calcolare la distanza dell'eroe da un certo evento, e in base a quella aumentare il valore di una variabile. Tipo: più ti allontani più ti spaventi (e magari muori). Ho fatto un frankenstain di script presi dalla rete, e la mia comprensione di ruby è tipo... ... ......bassa? Il problema è che sono abituato a far saltare fuori messaggi d'errore terribili ogni volta che metto mano agli script, e invece stavolta fila tutto liscio. SOlo che fila tutto liscio solo per il primo passo, poi smette di funzionare. Questo è lo script, incollato dentro a Game_Map dopo il setup del mapID. Come dicevo, funziona per il primo passo, se mi allontano più di una casella mi aumenta di 1 la variabile, e se torno indietro l'azzera di nuovo, ma per le distanze maggiori di uno non funziona più. Come mai? ;_____; Se qualche anima pia sapesse rispondermi mi farebbe un gran favore ^^ E, già che è molto pia, sarebbe possibile fare in modo che allontanandosi dall'evento la variabile cresca, ma tornando sui propri passi non venga toccata? Praticamente se ti allontani dal punto x ti spaventi, fino al massimo di 12 passi dove muori, ma se torni indietro non dovresti spaventarti di più (come invece succederebbe con lo script così com'è) Ma quello per me è come fisica quantistica. Ma che dico? È come algebra, io non capisco nemmeno l'algebra! Appunto per guardian: ho provato a farlo a eventi, ma nell'XP non c'è la funzione "memorizza posizione" su cui si basava tutto il mio ragionamento >:@ La soluzione altrimenti è tempestare la mappa di eventi calpestabili che fanno esattamente quello che voglio io, ma è poco elegante ^^" (e ancor meno efficiente)
  3. Ho un problema con il Call Script del VX Ace: Lo spazio è troppo limitato! Come posso risolvere ciò? Ci sono alcuni Script che richiedono un bel pò di spazio e vanno a capo, ma così vanno ad accusare quel povero Game_Interpreter alla riga 1411! Come posso risolvere? Con Call Script corti va una meraviglia!
  4. Ho sbagliato sezione la volta scorsa, ritento qui e magari sarò più fortunato... è una cosa che DOVREBBE essere semplice, ma ovviamente la mia insipienza in fatto di RGSS rende tutto allucinante. Domandona da milioni di dollari... Come si fa a richiamare un evento comune da una voce del menu? Nello script del menu ho, naturalmente, una cosa come questa: when 6 # Diario # Suona SE Azione $game_system.se_play($data_system.decision_se) # Vai al Diario $scene = Scene_Diary.new Cosa dovrei eventualmente mettere al posto di $scene = Scene_Diary.new per far sì che mi venga richiamato un evento comune (per esempio una transizione su mappa?) E per eventualmente tornare al menu da lì? Per la serie, io e il Ruby passione a prima vista...
  5. Visto le tante richieste di molti giovani volenterosi che volevano cimentarsi nell'apprendere l'antica arte dello scripting, ho scrutti questa guida che guidasse l'utente nei meandri dell'RGSS dalle basi alle operazioni più avanzate. Ho voluto creare questa guida in modo che fosse più chiara possibile, così da risultare facile e leggibile anche per chi è alle prime armi. La guida, in formato PDF così da poterla scaricare, leggerla e stamparla, comincerà dalle basi della sintassi del Ruby, proseguendo tra le strutture di controllo, la programmazione ad oggetti ed infine l'RGSS di RPG Maker vero e proprio, guidando il lettore alla creazione delle prime finestre e scene di RPG Maker e personalizzazione di qualche script. La guida è completa, ed offre anche degli esercizi con soluzioni per ogni capitolo. Scarica su Onedrive.com​ Versione Print-Friendly (per la stampa, vecchia versione) qui Licenza: CC-BY. Libera distribuzione e modifica. Aggiornato: 25/04/2020 In particolare, mi rivolgo dai novizi ai più esperti, di darmi dei feedback: quanto è comprensibile, e se ci sono degli errori. Non dovrete prendere la guida come "Uffa, un altro libro da studiare!": è un manuale, e perciò vi sarà utile nella consultazione quando un argomento di scripting vi è poco chiaro. Argomenti del testo: Introduzione alla programmazione Introduzione al Ruby Sintassi del Ruby Tipi di dati Array Hash Operazioni con le stringhe Strutture di Controllo Condizione IF Case For While Metodi Simboli Il metodo sprintf Espressioni regolari La programmazione a oggetti Le classi Uso degli oggetti Incapsulamento Alias e modifica di una classe Moduli La programmazione multi-threading Gestione dei file e delle cartelle Leggere e scrivere in un file Gestione delle eccezioni (errori) Uso di linguaggi esterni e librerie C++ L’RGSS Cose da sapere su come funziona RPG Maker Funzioni integrate nell’RGSS Classi predefinite Scene Guida all'uso del Modulo Universale Aggiungere funzionalità online ai giochi Allestire uno spazio web Creare le api web Collegamento tra client e server Database MySQL Sicurezza e crittografia Esercizi pratici
  6. Ciao a tutti, vorrei mostrarvi alcuni link utili per conoscere e imparare meglio il Ruby o RGSS. 1 : http://translate.goo...1p5F7dMV0fDNMeA (tradotta) (attenzione che quando dice "fine" significa "end", lo stesso per le parole che vedete in italiano, dovete farle in inglese) 2 : http://www.ruby-doc.org/core-1.9.3/ 3 : http://rpgmkr.net/fo...rgssrgss2rgss3/ 4 : http://lnx.phantomca...p?showtopic=100 (questa guida è fatta da Tio, è molto semplice e comprensibile) 5 : http://rpgmkr.net/fo...li-errori-rgss/ (questa fa vedere degli errori che si possono commettere e come aggiustarli) 6 : http://www.html.it/guide/guida-ruby/ 7 : http://www.mrwebmast...ide/guida-ruby/ 8 : http://ruby-it.org/p...ide+in+Italiano 9 : http://www.chaos-pro...abase&Itemid=29 ( questo link ha molti script utili, guardate come sono fatti, e usateli(se servono) 10 : http://translate.goo...%3Ftopic%3D57.0 (tradotta) (attenzione che quando dice "fine" significa "end", lo stesso per le parole che vedete in italiano, dovete farle in inglese)
  7. Ciao, vorrei sapere se qualcuno può indirizzarmi a una guida intermedia sull' RGSS, una guida un cui si spieghi l'uso delle parole chiave "alias" "self", come creare delle finestre nel menù, il funzionamento degli hash, e l'uso dei moduli, perchè i moduli non li ho capiti. Grazie in anticipo. :smile:
  8. Titolo Sistema Popup Generale Autore Holy87 Difficoltà Principiante Descrizione Questo è uno script a cui pensavo da molto tempo, ma non avevo mai voglia di cominciare. Beh, ieri sera in preda a una foga mangia-codice mi ci sono messo sotto! In pratica, questo script permette di mostrare popup su mappa, che compare dal bordo dello schermo in diverse situazioni: Quando un personaggio sale di livelloQuando si acquisisce o si perde denaroQuando si ottengono oggettiPer i makers, un popup viene mostrato quando vengono alterati switch e variabili, per tenere tutto sotto controllo!Può far comparire popup con testo, colore e icona personalizzati, come più piace al makeratore.Popup multipli vengono messi in fila, inoltre è possibile disattivare i popup automatici con uno switch, nel caso vogliate cambiare l'inventario dell'eroe senza che lo sappia. Lo script consente svariate configurazioni e personalizzazioni Screenshot http://img205.imageshack.us/img205/6797/popupscreen.png Demo di prova: >>Download Script: Istruzioni Installare lo script sotto Materials, prima del Main. Importare questa immagine nella cartella Graphics\Pictures: http://img651.imageshack.us/img651/6641/barrapopup.png Potete importare immagini di varia grandezza, lo script adatterà automaticamente le dimensioni del popup all'immagine. Si può avviare un popup da evento chiamando un call script in questo modo: Popup.show("Messaggio") oppure Popup.show("Messaggio",id_icona) oppure, ancora Popup.show("Messaggio",id_icona,[R,G,B,S])per la tonalità, dove R è Rosso, G Verde, B Blu, e S è Saturazione. Info Sovrascrive alcune classi. Compatibile con la maggior parte degli script.
  9. Autore: xBrokenSin & Azuma-01 Descrizione: Questo script è ispirato al sistema di potenziamento delle armi di Dark Cloud 2 (Dark Chronicle in Italia). Questo script permette di:Far avanzare le armi di livello Potenziare gli oggetti unendoli Trasformare le proprie armi in altre più potenti. Screenshot: Gli screen sono comunque vecchi... Demo: Demo 1.5 (mirror) Script: Lo script era troppo grande per metterlo nel topic, ma puoi trovarlo qui.
  10. Alato

    Link Utili

    Link Utili Apro questo topic per segnalare eventuali link utili per l'apprendimento di Ruby ed RGSS. tryruby - Comodo interprete Ruby online, per testare rapidamente piccoli pezzi di codice Ruby.rubylang - Sito completamente dedicato al linguaggio Ruby, in molte lingue, compreso l'italiano.Wikipedia - Pagina di Wikipedia sul Ruby.
  11. Alato

    Laboratorio 2

    In questo laboratorio non spiegher? nulla, o meglio, vi proporr? degli script da fare e in generale degli esercizi e se avrete problemi vi dar? una mano. Non c'? limite di gradi o quant'altro, potete partecipare tutti. Ovviamente potete partecipare anche ai laboratori pi? vecchi e riceverete comunque risposta. Questo laboratorio ? stato diviso in "Esercizio base" e "Variante difficile" in modo tale da permettere anche a chi non ha mai trafficato con l'rgss di partecipare. Almeno spero. Laboratorio 2 Esercizio Facile Cambia il nome dei comandi nella schermata del titolo da [Nuovo, Carica, Esci] a [Nuovo, Esci, Carica]. Se riesci inverti anche l'effetto oltre al nome (in modo che se il giocatore preme su Esci, esce, e se preme su Carica carica una partita). Variante Difficile Aggiungi il comando "Extra" tra Carica e Esci. Questo comando aprir? una nuova scena (Scene_Extra) in cui sar? possibile visualizzare immagini del gioco (ovviamente metti immagini a caso). Scene_extra dovr? essere impostata in modo tale da: ? Mostrare le immagini al centro dello schermo ? Cambiare immagine premendo Destra o Sinistra ? Premendo esc si torna al menu ? Premendo invio si ottiene un effetto sonoro di errore Se riesci fai in modo che alcune immagini siano visualizzabili e altre no, in base a ci? che viene fatto nel gioco. Per mostrare l'immagine "non visualizzabile" utilizzate un immagine fissa con scritto BLOCCATO per esempio. Ulteriore Variante Perchihavogliadiesercitarsi? Fare la stessa cosa della variante difficile, senza creare una nuova scena (tutto all'interno di Scene_title insomma). Soluzione Variante Difficile Spoiler Questa ? una possibile soluzione alla Variante Difficile. Sottolineo che per ora ho ignorato la parte del "visualizzabili o no" perch? aspetto che qualcuno almeno provi a farla. Cominciamo andando a inserire in Scene_Title quelle parti necessarie a richiamare Scene_Extra. In main: # Creazione testi s1 = "Nuovo" s2 = "Carica" s3 = "Extra" s4 = "Esci" @command_window = Window_Command.new(164, [s1, s2, s3, s4])In update: if Input.trigger?(Input::C) # I vari casi a seconda della posizione del cursore case @command_window.index when 0 # Nuovo Gioco command_new_game when 1 # Carica command_continue when 2 # Extra command_extra when 3 # Esci command_shutdown end endDopo command_continue: #-------------------------------------------------------------------------- # - Comando: Extra #-------------------------------------------------------------------------- def command_extra # Suona SE azione $game_system.se_play($data_system.decision_se) # Passa alla scena extra $scene = Scene_Extra.new endE infine la nostra Scene_Extra: #============================================================================== # - Scene_Extra #------------------------------------------------------------------------------ # La scena coi contenuti extra #============================================================================== class Scene_Extra #-------------------------------------------------------------------------- # - Processo Principale #-------------------------------------------------------------------------- def main # Inizializza l'indice @pic_index = 0 # Inizializza la picture @picture = Sprite.new @picture.bitmap = Bitmap.new(640,480) @picture.x = 320 @picture.y = 240 # Fade Graphics.transition loop do # Aggiornamento Grafica Graphics.update # Aggiornamento Input Input.update # Aggiornamento Frame update # Quando cambia la scena blocca il loop if $scene != self break end end # Preparazione Fade Graphics.freeze # Eliminazione picture @picture.dispose end #-------------------------------------------------------------------------- # - Aggiornamento Frame #-------------------------------------------------------------------------- def update # Quando SX ? premuto if Input.repeat?(Input::LEFT) # Se l'indice ? 0 deve ritornare # al valore 4 if Input.trigger?(Input::LEFT) or @pic_index > 0 # Suona SE Cursore $game_system.se_play($data_system.cursor_se) # Riduci l'indice @pic_index = (@pic_index - 1) % 5 return end end # Quando DX ? premuto if Input.repeat?(Input::RIGHT) # Se l'indice ? 4 deve ritornare # al valore 0 if Input.trigger?(Input::RIGHT) or @pic_index < 4 # Suona SE Cursore $game_system.se_play($data_system.cursor_se) # Aumenta l'indice @pic_index = (@pic_index + 1) % 5 return end end # Quando B ? premuto if Input.trigger?(Input::B) # Suona SE Annulla $game_system.se_play($data_system.cancel_se) # Torna alla mappa $scene = Scene_Title.new return end # Quando C ? premuto if Input.trigger?(Input::C) # Suona SE Azione Impossibile $game_system.se_play($data_system.buzzer_se) return end # Seleziona l'immagine pic = @pic_index + 1 @picture.bitmap= RPG::Cache.picture(pic.to_s+".png") # Centra l'immagine @picture.ox = @picture.bitmap.width / 2 @picture.oy = @picture.bitmap.height / 2 @picture.update return end endSta parte si poteva fare meglio, per esempio facendo in modo che le nuove coordinate della pic e il relativo update vengano calcolate solo quando si entra nella scena o viene cambiato l'indice.
  12. Alato

    Laboratorio 1

    In questo laboratorio non spiegher? nulla, o meglio, vi proporr? degli script da fare e in generale degli esercizi e se avrete problemi vi dar? una mano. Non c'? limite di gradi o quant'altro, potete partecipare tutti. Laboratorio 1 Fai in modo che premendo il tasto Z della tastiera ( Input::A di default) venga aperta/chiusa una finestra semi-trasparente che mostra il tempo di gioco. Soluzione: Spoiler Bon, questa ? una possibile soluzione per realizzare la nostra finestra. In Scene_Map, main: @win_time = Window_PlayTime.new @win_time.opacity = 180 @win_time.visible = false [...,loop,etc,...] @win.disposeIn Scene_Map, update: [...] if @win_time.visible @win_time.update if Input.trigger?(Input::A) @win_time.visible = (not @win_time.visible)Quest'ultima istruzione pone @win_time = true se ? false, e viceversa. Se l'avete letta prima di aver provato a farla siete dei puzzoni. ;O;/
  13. Lezione 0 - Riepilogo Più che una lezione vera e propria è un modo per organizzare il lavoro ^^. Prima di tutto richiamo l'attenzione a tutti sulle 4 precedenti lezioni di Alato, io partirò dal presupposto che le abbiate lette :P (chiedete nel topic corrispondente chiarimenti, eventualmente posso addirittura rispiegare ^^), approfittate del momento. I Componenti di uno Script Le Variabili Istruzioni ed Espressioni Operatori Introduzione sul Ruby: Il Ruby è un linguaggio di scripting di alto livello. Cosa significa? "Linguaggio di scripting" sarebbe a dire che non viene eseguito direttamente dal processore, ma ha bisogno di un interprete, che faccia da intermediario, evitando il processo di compilazione. Di alto livello significa che è più simile al nostro linguaggio piuttosto che a quello del processore. Ogni linguaggio di programmazione o scripting si basa sulle regole logiche, simili a quelle del cervello umano: -"ricordare" informazioni (assegnazione e modifica di un valore ad una variabile) -confrontare informazioni acquisite (operatori di confronto) - dei casi (se succede questo, fai qualcos'altro, altrimenti ecc...) e così via... Per comunicare all'interprete quello che vogliamo abbiamo bisogno di usare una sintassi precisa (es: per farci capire da un francese, parliamo in francese, non in un'altra lingua ). La sintassi del ruby è l'inglese semplificato (più o meno), come avrete scoperto dalle lezioni di Alato ^^. RGSS: L'RGSS (Ruby Game Scripting System) è un linguaggio basato sul ruby, che non necessita dell'interprete installato (viene integrato da rpg maker), e ha uguale sintassi, ma differisce in alcune funzioni. L'RGSS ha integrati dei moduli aggiuntivi predisposti per rendere più semplice la creazione di RPG, ma non possiede alcuni moduli del ruby (come ad esempio tutti i moduli di controllo socket). Strumenti per iniziare: Le possibilità sono molte. Se volete impararvi per BENE il ruby (che ricordo che NON è uguale all'rgss), consiglio caldamente di farvi un giro sul sito internazionale ( http://www.ruby-lang.org/en/ ), e anche su quello italiano ( http://ruby-it.org/ ) in cui ci sono un sacco di risorse utili, tra cui anche l'interprete online, per fare piccoli esperimenti ^^ Se invece a voi interessa (come è probabile) lavorare direttamente con l'RGSS, magari direttamente sul vostro progetto, allora basterà usare la comodissima funzione "call script" (chiama script), una funzione che permette di eseguire una piccola stringa di rgss direttamente da evento. Vi consiglio di fare mooolta pratica, soprattutto con gli operatori, con i nomi delle variabili e così via. Prossime lezioni: -Concetto di classe e superclasse, con vari chiarimenti -I cicli (loop) -Primo script: Calcolo dei danni di un Sistema di battaglia
  14. GRADO 1 Turno A (Nov 2006) -7oni: 8 -Alemix: 4 -havana24: 10 -Julo: 8 -Keroro: 8 -Khan: 10 -Lord Bel: 10 -Sclero Fritz: 8 -Zerathul: 7, 10 Turno B (Dic 2006) -7oni: 8 -Alemix: 2 -EsMauro86: 4 -havana24: 8 -Keroro: 10 -Khan: 8 -Lord Bel: 8 -ScleroFritz: 8 -Zerathul: 10 Turno C (Gen 2007) -DracoMT2: 9 -Khan: 10 -Lord Bel: 9
  15. Questo laboratorio ? pensato per studenti che abbiano raggiunto il Grado 2 in RGSS, perci? verranno considerate gi? acquisite le conoscenze dei gradi precedenti. Al lavoro! I metodi possono essere creati solo all'interno di una classe, e creati scrivendo def nome_del_metodocon il nome del vostro metodo al posto di nome_del_metodo. Come gi? detto in una delle lezioni, i nomi seguono le stesse regole delle variabili con qualche aggiunta: -non utilizzare lettere maiuscole come prima lettera -i nomi "main" e "initialize" vengono riconosciuti dallo script editor come metodi particolari, quindi non utilizzarli (a meno che non si voglia creare appunto uno di questi metodi particolari) All'interno dei metodi sono contenute tutte le espressioni e operazioni degli script. Per "all'interno del metodo" si intende def metodo # Qui va il tuo codice # Qui va il tuo codice # ecc. endcio? un blocco di codice compreso tra la riga in cui viene creato il metodo e quella in cui viene scritto l'end. Nell'esempio ho inserito solamente dei commenti. I metodi, come ho detto all'inizio, sono sempre inseriti all'interno di una classe. class Nome_Classe def metodo # Codice end endDelle classi parleremo in un altro laboratorio, per ora sappiate solo che la sua creazione funziona allo stesso modo dei metodi: un class iniziale con il nome (iniziale sempre maiuscola in questo caso) e un end che indica la fine della classe. Come vedete il metodo risulta annidato all'interno della classe. Questo esempio rende meglio l'idea di come bisogna "vedere" l'annidamento. Si possono annidare diversi metodi all'interno di una classe, ma non si pu? creare un metodo all'interno di un altro metodo. Per poter proseguire con la spiegazione, sappiate che una classe deve sempre contenere all'inizio un metodo "initialize" o "main" (o entrambi). Ora provate a creare una classe, che contenga tre metodi: uno che somma due variabili, uno che le moltiplica e uno che assegna una variabile all'altra.
  16. Interrogazione C - Grado 1 Data di chiusura: Domenica 28 Gennaio, Mezzanotte. Prossima apertura: n/a Descrivi con parole tue che cos'? un'espressione. Fatto ci? descrivi il funzionamento di queste espressioni: a = 10 b = 15 c = 100 a = c - b b = c / 2 c = c % 13 exp = c = b = (1000 % 5+2) * 15 / 5 b *= 50Dopo aver descritto per filo e per segno i vari passaggi (nell'ordine in cui effettivamente vengono eseguiti) definisci il contenuto delle variabili a, b, c ed exp. Verr? valutata la chiarezza della spiegazione e la conoscenza dell'argomento. Dovete scrivere il vostro lavoro in un *.txt chiamato "Int._C_Grado_1,_NomeUtente" e allegarlo ad un MP che mi manderete, chiamato "Int.C, Grado 1, NomeUtente". Quando avete inviato postate un messaggio con scritto "Inviato" in questo topic. Per domande sul contenuto dell'interrogazione potete chiedere qui. Buon lavoro!
  17. Allora gente: visto e considerato che un po' causa scuola un po' per cercare di avere anche una vita reale faccio fatica a proseguire con le lezioni ho pensato di colmare il vuoto con spiegazioni un po' più informali, una roba simile a quella fatta per gli array. Quindi per il prossimo laboratorio vorrei sentire le vostre proposte, in modo da scegliere un argomento che vi interessi e su cui si possa lavorare, anche in gruppo. Personalmente avevo pensato a un laboratorio sull'utilizzo dei metodi all'interno di una classe, cosa fondamentale per fare degli script ben funzionanti! Ovvio cerchiamo di volare basso: vorrei fare un lavoro in crescendo, insomma partiamo da laboratori di Grado 1 per aumentare di volta in volta, proprio come sto facendo con le lezioni. Perciò...proponete! ^^
  18. Allora, vediamo. Questo ? il primo abbozzo del Laboratorio, un posto in cui gli utenti possono lavorare su piccolli script proposti dall'insegnante di turno e in generale fare esercizio. Era un po' che pensavo di aprirlo ma mi mancava un argomento da cui partire: vista l'assenza, almeno per ora, di una lezione che spieghi l'utilizzo degli Array, proprio questi saranno il nostro primo argomento! Il Grado 1 sta ad indicare il livello che bisogna avere per partecipare, poich? questo ? un servizio esclusivo per gli Studenti del Campus. Laboratorio di RGSS - Array e Ciclo for Ora cercher? di darvi una breve infarinatura dei concetti di base per poter metterci subito al lavoro. Concetti di base "Un array (o matrice) ? un gruppo di locazioni di memoria che hanno lo stesso nome e si distinguono le une dalle altre attraverso un indice" questa ? la sua definizione. Ma andiamo ad analizzarne il significato: considerando che le variabili sono etichette associate a locazioni di memoria, si capisce che gli array in pratica sono un insieme di variabili con lo stesso nome. Per poterle distinguere l'una dall'altra si utilizza un indice che viene inserito all'interno di due parentesi quadre subito dopo il nome. L'indice parte da 0 e va aumentando. Vediamo questo esempio: @array[0] = 10Che cosa abbiamo fatto? @array ? un array, e abbiamo inserito il valore 10 nella suo primo elemento. Ogni elemento funziona esattamente come una qualunque variabile. Quindi: @array[0] @array[1] @array[2]sono tutte considerabili come variabili differenti accomunate dallo stesso nome. Probabilmente vi starete chiedendo perch? bisogna utilizzarli se funzionano esattamente come le variabili: ora non ? chiaro perch? abbiamo pochi elementi, ma immaginate di avvere un array con migliaia di elementi, la comodit? di poterli richiamare semplicemente tramite un indice ? enorme! Per creare un array ci sono diversi modi: @array = [] @array = Array.newQuesti creano un array generico, insomma non sappiamo qual ? il numero di elementi e cosa contengono. Possiamo invece scrivere: @array = [10, 15, 20]per ottenere un array di tre elementi che contengono rispettivamente i valori 10, 15 e 20. Continuando sulla falsariga di quest'ultimo esempio, immaginiamo di voler stampare il contenuto dei tre elementi dell'array. print @array[0] print @array[1] print @array[2]Come vedete l'indice parte sempre da 0 e non da 1, quindi se volete richiamare il secondo elemento dell'array dovete mettere un 2 tra le quadre. Ora pensate che ci sono comandi che permettono di fare la stessa azione 'n' volte: capirete che potrete in poche righe applicare un comando a centinaia di elementi di un array. Uno di questi comandi, il pi? comodo per questo utilizzo, ? il for. @array = [] for i in 0..3 @array[i] = 10 * i endAnalizziamo questo pezzettino di codice: il for ? un ciclo che ripete l'azione contenuta tra for ed end e ad ogni giro aumenta la variabile i di 1, variabile che si pu? utilizzare per qualunque operazione. Questo lo fa partendo dal primo numero dopo l'in fino al numero dopo i puntini: in questo caso quindi parte da 0 e va fino a 3. ATTENZIONE: non lasciatevi ingannare dallo zero, il ciclo viene ripetuto 4 volte e non 3 come sembrerebbe a prima vista; infatti i valori di i ad ogni giro saranno 0, 1, 2 e 3 quindi il ciclo far? 4 giri. In questo caso ? possibile fare la stessa operazione senza utilizzare for: @array = [] @array[0] = 10 * 0 @array[1] = 10 * 1 @array[2] = 10 * 2 @array[3] = 10 * 3In questo caso gli elementi erano solo quattro, ma se per esempio fosse stato for i in 0.. 2700 evidentemente sarebbe stato impossibile farlo senza l'utilizzo degli array e di for. Un po' d'esercizio Invito chi gi? conosceva l'argomento ad evitare di partecipare, per dare spazio a chi ha pi? bisogno di aiuto. Col passare del tempo baster? controllare il Grado ma per ora conto sul vostro buonsenso. ;P Ora proviamo a fare qualcosa, cominciando da qualcosa di semplice: Create 5 diversi array ognuno con un nome di un attributo: Forza, Destrezza, Agilita(non metteteci l'accento che non lo accetta), Intelligenza e Costituzione. Ovviamente cercate nel limite del possibile di fare da soli, altrimenti ? tempo perso. ^^
  19. Interrogazione B - Grado 1 Data di chiusura: Domenica 11 Marzo, Mezzanotte. Prossima apertura: n/a 1) Appello Crea una array che contenga tutti i numeri pari compresi tra 1 e 100, poi inserisci i valori 50 e 60 nelle variabili x e y prendendole dall'array. Inserisci infine il primo valore dell'array nella variabile z. Verrà valutata la chiarezza del codice e la sua brevità, oltre al funzionamento. Non è necessario che sia contenuto in una classe. Dovete scrivere il vostro lavoro in un *.txt chiamato "Int._B_Grado_1,_NomeUtente" e allegarlo ad un MP che mi manderete, chiamato "Int.B, Grado 1, NomeUtente". 2) Appello Verrà aggiunta in caso fosse necessaria. Quando avete inviato postate un messaggio con scritto "Inviato" in questo topic. Per domande sul contenuto dell'interrogazione potete chiedere qui. Buon lavoro!
  20. Interrogazione A - Grado 1 Data di chiusura: Domenica 18 Febbraio, Mezzanotte. Prossima apertura: n/a 1) Appello Date le variabili d'istanza x e y, scrivi una serie di operazioni che permetta di invertire i valori contenuti in esse. Poi fai in modo che alla variabile z venga assegnata la media aritmetica dei valori di x e y. Verrà valutata la chiarezza del codice e la sua brevità, oltre al funzionamento. Non è necessario che sia contenuto in una classe. Dovete scrivere il vostro lavoro in un *.txt chiamato "Int._A_Grado_1,_NomeUtente" e allegarlo ad un MP che mi manderete, chiamato "Int.A, Grado 1, NomeUtente". 2) Appello (per chi ritenta l'interrogazione) Date le variabili d'istanza x e y, scrivi una serie di operazioni che permetta di sostituire il valore iniziale con il doppio. Poi fai in modo che alla variabile z venga assegnato il resto della divisione tra x e y, con y aumentato di 3. Verrà valutata la chiarezza del codice e la sua brevità, oltre al funzionamento. Non è necessario che sia contenuto in una classe. Dovete scrivere il vostro lavoro in un *.txt chiamato "Int._A-2_Grado_1,_NomeUtente" e allegarlo ad un MP che mi manderete, chiamato "Int.A-2, Grado 1, NomeUtente". Quando avete inviato postate un messaggio con scritto "Inviato" in questo topic. Per domande sul contenuto dell'interrogazione potete chiedere qui. Buon lavoro!
  21. Corso di RGSS by Alato Lezione 4 Gli operatori Gli operatori sono il perno fondamentale per comprendere pienamente il funzionamento degli script nel RGSS, e sono un argomento abbastanza ampio. Perci? hanno bisogno di un'intera lezione per essere compresi adeguatamente. In questa lezione viene spiegato quanto segue. Che cos'? un operatoreClassificazione degli operatoriPrecedenza degli operatori Per domande o chiarimenti, postate qui. Corso_di_RGSS_4.doc
  22. Corso di RGSS by Alato Lezione 3 Istruzioni e espressioni Il linguaggio Ruby ? costituito da istruzioni, e la maggior parte di esse ? costituita di espressioni e operatori. E' indispensabile capire a fondo questi tre elementi prima di poter scrivere qualsiasi script nel RGSS. In questa lezione viene spiegato quanto segue. Che cos'? un'istruzioneChe cos'? un'espressionePer domande o chiarimenti, postate qui. Corso_di_RGSS_3.doc
  23. Corso di RGSS by Alato Lezione 2 Le variabili All'interno di ogni script, si avrà spesso a che fare con un gran numero di dati che hanno bisogno di essere archiviati. In questa lezione si tratteranno in particolare i seguenti argomenti Che cos'è una variabileNomi delle variabiliUtilizzo delle variabiliTipi di variabili Per domande o chiarimenti, postate qui. Corso_di_RGSS_2.doc
  24. Corso di RGSS by Alato Lezione 1 I componenti di uno script Questa lezione presenta le prime basi sulla struttura degli script, utile alla comprensione del Ruby Game Scripting System (RGSS),e in particolare i seguenti argomenti Significato e utilizzo di classe, metodo e oggettoSintassi di base per creazione di classi, metodi e oggettiMetodi particolari Per domande o chiarimenti, postate qui. Corso_di_RGSS_1.doc
×
×
  • Create New...