Vai al contenuto


Toggle Chat RM - Chat Apri la Chat in un popup

E' severamente vietato richiedere supporto su RPG Maker in chat!
@  Caba33akaMimik : (25 May 2012 - 09:56 PM) sera a tutti ^^
@  Melosx : (25 May 2012 - 08:30 PM) Buonasera a tutti
@  Hashmin : (25 May 2012 - 02:15 PM) ciao a tt!
@  Pech93 : (24 May 2012 - 01:55 PM) ho aggiunto delle composizioni originali!!! Chi le vuole ascoltare e dare qualche commento costruttivo?
@  MihaChan : (23 May 2012 - 09:19 PM) a parte i denti -che stanno decidendo di darmi noia in questi giorni-, tutto okay~
@  Melosx : (23 May 2012 - 09:18 PM) bene ^.^ ... Tu??
@  MihaChan : (23 May 2012 - 09:17 PM) come va? xD
@  MihaChan : (23 May 2012 - 09:16 PM) okay
@  MihaChan : (23 May 2012 - 09:16 PM) ah
@  Melosx : (23 May 2012 - 09:14 PM) ciao miha... ai dont spic inglisc
@  MihaChan : (23 May 2012 - 09:12 PM) how'sa goin'?
@  MihaChan : (23 May 2012 - 09:12 PM) ciao Mel!
@  Melosx : (23 May 2012 - 09:07 PM) ciao
@  MihaChan : (23 May 2012 - 09:06 PM) salve D:
@  Pech93 : (23 May 2012 - 08:05 PM) MIk?
@  Melosx : (23 May 2012 - 07:51 PM) VIENI SU MSN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@  Melosx : (23 May 2012 - 07:51 PM) MIIIIIIIIIIIIIIIIIIIKKKKKKKKKKKK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@  Melosx : (23 May 2012 - 07:46 PM) *iù
@  Melosx : (23 May 2012 - 07:38 PM) iu spin mi rai rau bebi rai rau laic a record bebi rau rau rau rau
@  Melosx : (23 May 2012 - 07:37 PM) lalalallalallalallallllllllllalalalallaaaaaaaaaaaaaaaaaaaaaa!!!!!!!!!!!!!!!!!!

[002]Variabili-Pt.1


  • Per cortesia connettiti per rispondere
8 risposte a questa discussione

#1 OFFLINE   Takobon

Takobon

    Recensori

  • Recensori
  • 415 Messaggi:
  • Tool:
    VS+C#+Xna(Con i quali nascerà Inferdaen)

Inviato 06 June 2010 - 05:26 PM

Premessa:
In questa lezione vi mostrerò le variabili usate nel C# e il loro utilizzo generico.(Approfondiremo meglio più in là,quando si avrà una base solida ^-^)

Cos'è?:
Dal nome capiamo che è un'oggetto il cui valore varia.Un'esempio pratico è quando giochiamo a Space Invaders,avrete notato che quando uccidiamo un nemico il nostro Score aumenta.Bene,quella è una variabile che aumenta ogni volta che il giocatore uccide un'avversario.

"Ma come dovremmo interderla quindi?" Vi starete domandando.Bè,io ogni oggetto lo concretizzo,cioè immagino le variabili come delle scatole che possono contenere determinati oggetti. Ad esempio,prendiamo ad esempio la variabile di tipo int x = 5;

Bene ora attraverso il disegno potrete capire che quella scatola può contenere solo numeri interi entro un valore ammissibile.(tipo byte accetta un valore compreso tra 0 e 255,che useremo in XNA per i colori,poichè segue il modello RGB).


Quanti tipi?:
Ne esistono ben 15 tipi,tutti con valori ammissibili diversi(spiegato poco fa cosa significa,riporterò una tabella alla fine ^^)

Vi elencherò solo quelli che ritengo fondamentali,poi tratteremo anche degli altri^^

Int:
Indica un tipo integrale che accetta un valore ammissibile compreso tra da -2147483648 a 2147483647 con dimensione pari a 32 bit.

Per definirla(si intende la creazione dell'oggetto) basta seguire la seguente sintassi:

int nome variabile;

Analizziamo:
int : Indica di che tipo sarà la nostra variabile;
nome variabile : Il nome della variabile.Si segue una regola per la nominazione delle variabili ossia la "Naming Convention",che tratterò in un'altra lezione,mi divulgherei un po troppo dopo^^.

Esempio pratico:
int x;
x = 5;

Cosa ho fatto?
Ho dichiarato la variabile x di tipo int,dopo di che l'ho inizializzata.

Ora vi starete chiedendo che vuol dire inizializzare.Prima,ho accennato che col dichiarare intendiamo la creazione dell'oggetto è vero;ma non è proprio giusto poichè l'oggetto in questione non viene allocato in nessun indirizzo di memoria.Infatti,se noi dichiarassimo solo la variabile e compilassimo il progetto l'IDE,ci informerebbe che è inutilizzata,poichè non gli viene allocata in memoria.
Quindi inizializzare significa dare un determinato valore a quella variabile(allocarla in memoria).



String:
Indica una sequenza contenente un o più caratteri Unicode.Non ha un limite di valore,in quanto richiede dati di tipo string,ossia caratteri.

Si dichiara allo stesso modo di int(vale per tutte le variabili,classi,ecc).

string nome variabile;

Nulla di nuovo (:
L'unica cosa che cambia è lìinizializzazione,ossia :

var = "Sono una stringa (:"

L'unica cosa che varia è l'uso delle virgolette ( " "),poichè come vedremo se dovessimo ometterle l'IDE penserà che vorremo inizializzare la varibile var con il valore della varibile che si trova alla destra dell 'uguale.

Esempio:

string a;
string b = "Ciao!";

a = b;

[Alt!: Avrete notato che ho dichiarato e inizializzato la variabile b allo stesso tempo!Questo è fattibile,ma per una giusta sintassi e ordine tenderemo a fare queste due opzioni distaccate,in quanto in XNA si dovrà fare^^]

Bene come vedete ciò che ho scritto è giusto! Mentre se scrivessimo una cosa del tipo :

string a;
a = Ciao;
Darebbe errore in quanto non ho dichiarato nessuna variabile Ciao.

Float
Indica un tipo di dato che archivia valori con virgola mobile che accetta un valore ammissibile compreso tra ±1.5 × 10−45 a ±3,4 × 1038 con una precisazione di 7 cifre.

Esempio:
Per poterla definire si segue la seguente sintassi :

float nome variabile;
Nulla di nuovo^^

Per l'inizializzazione cambiano solo due cose :

nome variabile = 1.5f;

Bene,come vedrete per inizializzarla abbiamo bisogno del punto "."(non è un valore intero!) e del suffisso "f"(Va bene anche F,non cambia nulla).

N.B. Il suffisso f viene usato per identificare il tipo di variabile,per differenziarlo dal tipo double(quest'ultimo usa il suffisso d).


Bool
Indica un tipo di dato che archivia due tipi di valori True e False.

Cosa vuol dire?
Innanzitutto analiziamo le due parole:
True : se il valore sarà Vero(True) avverrà una determinata istruzione;
False: il contrario di True,non verrà effettuato nulla.

Esempio:
Con questo esempio capirete:

bool b = true;
bool c = false;

if (b = c)
{
Console.WriteLine("Hey");
Console.ReadKey();
}

L'applicazione si chiuderà.Perchè?E' ovvio restituirà un valore false e perciò l'istruzione di controllo essendo falsa non verrà eseuito ciò che si trova dentro e non essendoci altro terminerà l'applicazione^^.

Come avrete notato,per dichiararla si usa la stessa sintassi,tranne per l'uso della parola chiave bool seguito dal nome della variabile.
Per l'inizializzazione si usano soltanto i valori True e False.


Byte:
Indica un tipo integrale con valorei ammissibili compresi tra 0 a 255 a dimesnione 8 bit.

Per la dichiarazione non cambia nulla (:
Si usa la parola chiave byte seguita dal nome della variabile.

Per l'inizializzazione,essendo un tipo intero(come int) gli daremo valori interi di regola,però senza uscire dai limit(da 0 a 255).

Esempio:
byte bNes = 8;

Console.WriteLine("Il Nes è una console a " + bNes.ToString()+ " bit");
Console.ReadLine();

Bene questo stamperà la seguente sintassi : Il Nes è una console a 8 bit

Ending:
Bene con quest'ultimo tipo di variabile si conclude la prima parte,nella prossima vi insegnerò a stampare le variabili e la concatenazioni fra di esse^^.

Ecco la Tabella con tutti i valori ammissibile di ogni tipo di dato^^
Immagine inserita
http://nexuseden.tumblr.com/Immagine inseritaSono così annoiato da offrirmi come eventer per qualsiasi progetto (:NightEngine
Spoiler

#2 OFFLINE   Ally

Ally

    Fondatori

  • Amministratori
  • 5558 Messaggi:
  • Localitàrpgmkr
  • Ruolo:
    Scripter
  • Progetto VX:
    Essence
  • Tool:
    RM2k/2k3

Inviato 06 June 2010 - 08:26 PM

Lezione interessante ma non nuova per me,dato che nell'RGSS,più o meno si fa lo stesso procedimento ^_^
Immagine inserita
Spoiler

#3 OFFLINE   herupty

herupty

    Apprendista Maker

  • Utenti RM
  • 640 Messaggi:
  • LocalitàMilano
  • Tool:
    S.E.R.P.E. ;P

Inviato 13 June 2010 - 07:56 PM

scusa...
in un programma così
mi da errore
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int var;
                var = 12;
                    if (var = 12);
                        Console.WriteLine("esatto");
                        Console.ReadLine;
                        var = var + 1;
                    else;
                        Console.WriteLine("sbagliato");
                        Console.ReadLine;
                        var = var - 1;

        }
    }
}

lool
Spoiler

#4 OFFLINE   3xter

3xter

    Fondatori

  • Amministratori
  • 1006 Messaggi:
  • Progetto VX:
    Rain's Legacy
  • Tool:
    Rpg Maker VX / Sharp Develop

Inviato 14 June 2010 - 10:14 PM

herupty, dice:

                    if (var = 12);
                        Console.WriteLine("esatto");
                        Console.ReadLine;
                        var = var + 1;
                    else;
                        Console.WriteLine("sbagliato");
                        Console.ReadLine;
                        var = var - 1;

        }
    }
}

la sintassi corretta per una condizione è:

                    if (var = 12)
                        {
                           Console.WriteLine("esatto");
                           Console.ReadLine();
                           var = var + 1;
                        }
                    else
                        {
                           Console.WriteLine("sbagliato");
                           Console.ReadLine();
                           var = var - 1;
                        }
Attento al metodo ReadLine..Accettando degli argomenti, deve per forza di cose avere aperta e chiusa parentesi: ()
Immagine inserita Burle Simpatiche
Spoiler
Ecco perchè Rain's Legacy va avanti rapidamente
Spoiler

#5 OFFLINE   Takobon

Takobon

    Recensori

  • Recensori
  • 415 Messaggi:
  • Tool:
    VS+C#+Xna(Con i quali nascerà Inferdaen)

Inviato 14 June 2010 - 11:10 PM

Un altro errore è la condizione ^^

Poichè nelle condizioni(nel C#) non viene accettato l'operatore = ma solo il doppio ==

quindi sarebbe

if ( var == http://rpgmkr.net/fo...tyle_emoticons/default/sourirex.gif
{ statement1;
}
http://nexuseden.tumblr.com/Immagine inseritaSono così annoiato da offrirmi come eventer per qualsiasi progetto (:NightEngine
Spoiler

#6 OFFLINE   herupty

herupty

    Apprendista Maker

  • Utenti RM
  • 640 Messaggi:
  • LocalitàMilano
  • Tool:
    S.E.R.P.E. ;P

Inviato 18 June 2010 - 10:23 AM

grazie
lool
Spoiler

#7 OFFLINE   Ally

Ally

    Fondatori

  • Amministratori
  • 5558 Messaggi:
  • Localitàrpgmkr
  • Ruolo:
    Scripter
  • Progetto VX:
    Essence
  • Tool:
    RM2k/2k3

Inviato 18 June 2010 - 12:31 PM

A quando le prossime lezioni?
Immagine inserita
Spoiler

#8 OFFLINE   Takobon

Takobon

    Recensori

  • Recensori
  • 415 Messaggi:
  • Tool:
    VS+C#+Xna(Con i quali nascerà Inferdaen)

Inviato 18 June 2010 - 03:01 PM

Ælly, dice:

A quando le prossime lezioni?


Appena si risolvono due problemi,purtroppo questa settimana è un inferno per me...
http://nexuseden.tumblr.com/Immagine inseritaSono così annoiato da offrirmi come eventer per qualsiasi progetto (:NightEngine
Spoiler

#9 OFFLINE   herupty

herupty

    Apprendista Maker

  • Utenti RM
  • 640 Messaggi:
  • LocalitàMilano
  • Tool:
    S.E.R.P.E. ;P

Inviato 16 August 2010 - 07:39 PM

riesumo il topic...
a quando la pt2?
lool
Spoiler




1 utente(i) stanno leggendo questa discussione

0 utenti, 1 ospiti, 0 utenti anonimi