
Era un pò che dovevo postare la lezione,ma come vedete,siamo sempre super indaffarati :D
Vi mancavano le lezioni per imparare a diventare 'Scripter'?
Oggi torniamo con una lezione semplice,ma efficace.Le condizioni!
Iniziamo :D
Cos'è una Condizione?
Le Condizioni,sono strutture che valutano una certa azione,e a seconda di quello che è,mostra un risultato diverso.
Queste condizioni,praticamente sono identici a quelle che utilizziamo su rpgmaker ^^
Gli operatori ad esempio,in queste condizioni sono molto usati.
Tipi di condizioni: if
Una struttura maggiormente usata,è la condizione 'SE',o detta anche comunemente 'if'.
Qui sotto vi mosterò un esempio della struttura 'if',e più sotto,la programmazione fatta con rpgmaker:
var = 22 if var < 22 print "Il valore è minore di 22." else print "Il valore non è minore di 22." endChe cosa è successo in questo codice?
Abbiamo impostato una variabile che ha come valore 22.
Poi abbiamo usato una condizione 'If' per dire:
-Se la variabile var è minore di 22,mostra un mesaggio con scritto che la variabile è minore a 22.
Se invece è maggiore,mostra un messaggio contrario,vale a dire che la variabile è maggiore di 22.
In un comune evento fatto con rpgmaker,avremmo fatto una cosa così:

Quello che abbiamo fatto,è stato ricreare un evento,uguale ad rpgmaker.
Ma ora,impariamo a creare condizioni con opzioni diverse.
Ecco il codice:
ally = 14 if ally == 0 print "Non è giusto" elsif ally < 12 print "Sei Gay" elsif ally < 18 print "Sei Gay cone Anth" elsif ally < 120 print "Sei super Gay" else print "Sei il Re dei Gay xD" endPensate,in ogni caso c'è una risposta.
E anche qui,si può prendere spunto dal codice creato come evento in rpgmaker :)
Quando il codice da eseguire è su una sola riga,è possibile usare una forma contratta di "if" che non prevede "end" alla fine. Il funzionamento è identico,solo che il codice va scritto prima della condizione e,la condizione sta appunto sullo stesso rigo.
Un esempio:
print "Non è giusto" if ally == 0Come vedete prima è stata scritta la funzione e poi la condizione.
Un'altro metodo abbastanza comune è utilizzare l'if' con 'and' e/o 'or' per valutare più di una dichiarazione:
var1 = 10 var2 = 15 if var1 and var2 == 10 print "Le due variabili hanno lo stesso valore" else print "Una variabile ha il valore di " + var1.to_s + " e l'altra di " + var2.to_s + "." end if var1 or var2 == 10 print "Una delle due variabili ha valore 10" else print "Nessuna delle due variabili ha valore 10" endNel primo esempio,i due valori devono essere uguali a 10.
Nel secondo caso,appena una delle due sarà uguale a 10,la condizione sarà soddisfatta.
Ricordatevi che si può modificare 'and' con '&&' e 'or' con '||' (vedi la lezione sugli operatori).
Tipi di condizioni: case
La funzione case,come si può intuire un po' dal nome,va utilizzata quando si devono controllare più valori della stessa variabile.
I valori controllati vengono calcolati come se si scrivesse "if variabile == valore", quindi soltanto con l'operatore "==".
N.B:Puoi considerare solo valori esatti,nè maggiore,nè minore,nè diverso.
Vediamo comunque un esempio:
case variabile when 1 print "La variabile è 1" when 2 print "La variabile è 2" else print "La variabile non ha nessuno dei valori scritti sopra" endCi sono un po' di parole chiave ma nulla di difficile (sono quelle 2 nuove in fondo...).
La struttura base è:
case x when y [codice] endCome vedete il caso "else" (cioè quello che si verifica se nessuno dei "when" viene soddisfatto) non va necessariamente aggiunto, inoltre possiamo aggiungere tutti i "when" che vogliamo.
Come in "if", anche nei "when" possiamo inserire un numero,una stringa,una variabile,un oggetto e tutto quello che vogliamo.
Possiamo anche aggiungere nello stesso "when" più valori separandoli con una virgola,come nell'esempio:
case var when 1, 2, 3 print "La variabile è numerica, ma non ti dico quanto vale" print "Ok, te lo dico, vale " + var.to_s when "ciao" print var + " anche a te" end
Tipi di condizioni: unless
L'ultimo tipo di condizione,è unless,che è l'opposto di If,e significa 'a meno che'...
C'è da stare abbastanza attenti,perchè comunque è una condizione che confonde abbastanza le idee facilmente.
Ma studiamone il codice:
var = 15 unless var == 10 print "La variabile ha un valore differente da 10" else print "La variabile ha un valore uguale a 10" endLeggiamo il codice come segue:
-Può essere qualsiasi cosa,meno che 10.
-Se non fosse stato 10,il comando rispettivo si sarebbe attivato.
La forma contratta di "if" è valida anche per "unless":
print "La variabile ha un valore differente da 10" unless var == 10
Facciamo un confronto tra la condizione if e la condizione unless:
if
if x == 10 print "è 10" endunless
unless x == 10 print "non è 10" end
Fondamentalmente,questo è quello che c'è da sapere sulle condizioni.
Spero no sia stata una lezione troppo 'difficile' ^^
Esercizio 5:
- Definisci una variabile con un valore qualsiasi,e crea una struttura con condizione if,verificando il suo valore e mostrando risultati differenti.
- Fare la stessa cosa dell'esercizio sopra,ma con gli switch.
- Riscrivi la seguente funzione utilizzando la forma contratta in un solo rigo.
Ricorda che puoi usare gli operatori logici per unire le condizioni!
if a == b
if b != c
print "a e c sono diversi"
end
end
- Ally ha un sacchetto con delle mele dentro. Dovete sapere che, ad Ally, le mele rosse piacciono parecchio, quelle verdi così così e quelle gialle gli piacciono poco. Ally comunque decide di pescare una mela a caso e di mangiarne più o meno a seconda di quanto gli piace.Costruisci una condizione "case" scrivendo dentro delle funzioni "print" quanta mela mangia Ally considerando i tre casi disponibili.
Nella prossima lezione tratteremo:
- [*:1mkqqtrh]I Cicli (loop, while, until, for)
La lezione è stata scritta interamente da Ally e mikb89,pertanto,ne è vietata la copia senza l'autorizzazione da parte degli autori.
| Copyright © [RGSS/RGSS2]Condizioni 2011. All Rights Reserved. |

















