Auron

The quieter you become, the more you hear


    Creare un videogioco? passo2

    Condividi
    avatar
    Admin
    Admin

    Numero di messaggi : 301
    Reputazione : 127
    Data d'iscrizione : 08.05.09
    Età : 24
    Località : Gallarate

    Creare un videogioco? passo2

    Messaggio  Admin il Mer Mag 20, 2009 4:46 pm

    Cosa dovremo imparare?

    Vediamo i concetti che dovremo imparare prima di definirci "programmatori", prima di passare a XNA :

    Le classi
    I metodi
    Le variabili
    Le strutture di controllo





    Non è poi molto no? Smile Quattro concetti principali che faranno di noi..dei programmatori!
    Una volta assimilati tali concetti, imparare XNA sarà una passeggiata, perchè XNA non è altro che un insieme di classi già pronte. Vi spiego quì sotto, con poche righe cosa sono queste classi.

    3)SCRIVIAMO IL NOSTRO PRIMO PROGRAMMA

    Proviamo ora a scrive il nostro primo programmino in C#. Se non avete mai programmato e non conosciete la programmazione ad oggetti, questa lezione risulterà particolarmente importante, sarà la chiave di lettura per entrare nel mondo di XNA e della programmazione ad oggetti.

    Da che mondo e mondo, qualsiasi tutorial che si rispetti deve iniziare con il primo esempio di programmazione chiamato "Hello World" che consiste tipicamente nella stampa a video del testo "Hello World" o "Ciao Mondo". Siccome noi vogliamo fare i diversi, scriveremo "Evviva il C# e XNA!".
    Come prima cosa apriamo il Visual C# e scegliamo "Applicazione Console". Questo tipo di progetto è il modo più semplice per poter iniziare a fare delle prove.
    So che la tentazione di aprire sin da subito un progetto XNA è tanta, ma se facciamo le cose un passo alla volta, vedrete che sarà tutto più semplice.




    Appena aperto il nuovo progetto ci troveremo davanti a del testo già inserito dal programma che per il momento ignoreremo. Cancelliamo tutto per trovarci con la pagina completamente bianca su cui andremo a scrivere il seguente codice:


    Codice:
    using System;

    class Evviva
    {
    static void Main()
    {
    Console.WriteLine("Evviva il C# e XNA!");
    }
    }


    Tutto qua. Queste poche righe di codice ci permetterà creare un eseguibile che, se avviato, stamperà a video il testo da noi scelto.
    Come avrete notato il testo non si trova su una sola riga e le parentesi graffe sono disposte in modo un po' anomalo.. Tutto ciò non vi deve spaventare, lo stesso programma si sarebbe potuto scrivere in questo modo:


    Codice:
    using System;class Evviva{ static void Main(){Console.WriteLine("Evviva il C# e XNA!"); }}


    Ai fini del buon esito del programma non sarebbe cambiato nulla ma, per rendere più comprensibile il nostro codice è preferibile disporre il testo su più righe. Gli spazi tra le diverse parole e gli "accapo" non determinano nessun cambiamento nell'esecuzione del programma:


    Codice:
    using System
    ;class    Evviva{    static
    void
            Main(){
    Console.WriteLine(
      "Evviva il C# e XNA!"
     );  } }

    Anche così il programma funzionerebbe perfettamente ma risulterebbe poco leggibile e davvero incasinato!

    Se vi siete subito spaventati per la presenza di parole di cui non conoscete il motivo della loro esistenza, non preoccupatevi.. Per ora vi basti sapere che in questo piccolo programma non c'è nulla di superfluo, tra poco vi spiegherò a cosa servono tutte quelle paroline.

    Torniamo al nostro codice e proviamo a compilare.
    Succederà che non vedrete altro che una finestra aprirsi e richiudersi in un lampo senza capire cosa sia successo. In realtà il Visual C# avrà generato il nostro programma che si troverà nella cartella Documenti\Visual Studio 2005\Projects\ConsoleApplication1\ConsoleApplication1\bin\Debug (se non avete dato un nome specifico alla vostra applicazione). Abbiamo visto eseguire e chiudersi il programma in un lampo perché la finestra che si apre è un programma che lavora sul prompt dei comandi dos e che appena eseguito viene richiuso. Dunque, per testare il nostro programma e vedere rimanere aperta la finestra dos, dovremo andare ad eseguirlo sul propmpt dei comandi aprendo il programma "cmd":
    Dal menù Start scegliamo "esegui" e digitiamo la parola cmd . Si aprirà il classico prompt dos da dove potremo eseguire il programma appena generato dalla compilazione di Visual C#. Per evitare di dover scrivere l'intera stringa a mano, possiamo andare nella cartella dove è stato generato l'eseguibile e trascinarlo all'interno della finestra del dos. Apparirà così l'intero percorso del file come se lo avessimo scritto. Premiamo invio e vediamo cosa succede...
    Funziona? Il testo che abbiamo deciso di stampare (Evviva il C# e XNA!) è stato visualizzato sullo schermo! Wow. Abbiamo creato il nostro primo programma in C#!
    N.B. Tutto questo procedimento non sarà necessario per la creazione di un gioco con XNA che verrà eseguito sotto Windows. Se ora vi state chiedendo cosa centra tutto questo con la creazione di un gioco con XNA, sappiate che la risposta è: tutto e niente. Per quanto vogliate saltare alle cose pratiche e morite dalla voglia di vedere i vostri primi oggetti muoversi sullo schermo, alcuni passi sono fondamentali per capire un po’ dell'ambiente di lavoro in cui ci troviamo. Questa parte noisa non durerà molto, tra un po' passeremo a programmare un gioco XNA...seguitemi.

    Proviamo ad esaminare il nostro primo programma per capire a cosa servano quelle parole di cui ignoriamo la funzione.

    using System;

    A cosa serve? Come avrete notato, sul vostro Visual C# la parola "using" verrà visualizzata con il colore blu e questo sta a significare che essa è una parola che si integra con il Visual C#, che cioè viene riconosciuta. Come risulterà ovvio, l'intera riga significa "usa System". System è un namespace.


    I namespace possono essere paragonati alle cartelle presenti nel nostro disco rigido. E' come un contenitore che ha al suo interno degli oggetti già preimpostati: le classi. Come le cartelle contengono file, i namespace contengono le classi.

    Questo argomento verrà trattato più approfonditamente più avanti.

    "Using System" comunica dunque al programma di utilizzare la serie di istruzioni, già impostate e pronte per l'uso, presenti al suo interno. Non ci interessa cosa facciano e quante siano, non per ora. Sappiate solo che quando si devono fare delle operazioni, come per esempio la scrittura del testo a video, si dovrà usare la libreria System e si dovrà dunque comunicare al compilatore di usare tale libreria.


    Come già detto, XNA non è altro che un insieme di classi e dunque per usare XNA dovremo fare la stessa procedura appena fatta con System, ovvero, aggiungere i namespace di XNA così che il Visual C# possa riconoscere ed utilizzare le istruzioni create per noi dai programmatori della Microsoft.
    class Evviva
    {

    Abbiamo aperto una nuova "classe".
    Ops.. non sapete cosa sono le classi?


    - LE CLASSI E I METODI -

    Una classe è, in parole semplici, una porzione di codice che identifica un oggetto.
    Avrete già sentito parlare di linguaggi di programmazione orientata ad oggetti... C# è uno di questi, come molti altri.
    Per avere un'idea immediata di cosa sia una classe possiamo usare come esempio il fatto che tutti gli oggetti o esseri viventi sono riconducibili a determinate categorie (per esempio: macchine, piante, animali ecc..). Tu, fai parte della classe "umani", il tuo gatto fa parte della classe "animali" ecc..

    Il concetto di classe rappresenta la funzionalità più importante del linguaggio C++ e quindi, di tutti i linguaggi a esso simili, come il C#.

    Questa porzione di testo viene chiamata oggetto perché essa è come se fosse veramente un oggetto fisico, con le sue caratteristiche e i sui modi per interagire con il modo.
    Prendiamo per esempio un oggetto che conosciamo tutti: una palla. La palla ha le sue caratteristiche, il peso, il colore, il materiale, ecc.. che sarebbero le sue variabili. Ed ha i suoi "metodi" cioè i suoi modi di interagire con l'esterno, tipo il rimbalzo, la velocità con cui accelera se calciata..
    Tali metodi dipendono dalle variabili di cui sopra, se per esempio il peso della palla è di 50 grammi, il metodo di rimbalzo produrrà determinati movimenti.
    Se il suo peso, invece di 50 grammi fosse di 20 grammi, il rimbalzo, così come la velocità dopo un calcio, sarebbero diversi.
    Dunque, se volessimo creare un'altra palla, con caratteristiche diverse da quelle di prima, dovremo creare un nuovo oggetto della " classe palla" e dargli delle variabili differenti da quelle di prima. In seguito le variabili che invieremo alle classi, le chiameremo parametri.
    Approfondiremo il concetto di classe nelle lezioni a venire. Per ora ci limiteremo alle conoscenze base, il loro utilizzo diverrà automatico solo dopo pochi esercizi.
    Dunque, ogni oggetto ha le sue caratteristiche che chiameremo variabili e i suoi modi di interagire, (le funzioni che dovrà fare), che chiameremo metodi.
    Dunque, fino a quì abbiamo un oggetto con i suoi metodi per "funzionare".

    In un programma, un metodo è un blocco di codice autonomo che esegue una elaborazione, che in pratica fa funzionare l'oggetto.

    Il termine metodo è l'equivalente del termine funzione di altri linguaggi di programmazione.
    Una funzione è una porzione di codice che viene richiamata tramite il suo nome (ad eccezione del metodo Main che viene richiamato automaticamente all'inizio del programma).

    Un metodo può trovarsi solo all'interno di una classe e farà sempre riferimento ad essa.
    Tornando all'esempio di prima, il metodo chiamato "ribalzo" che determina il modo in cui rimbalza una palla, si dovrà trovare all'interno della classe palla.
    Nello stesso modo, tutti gli altri metodi che derminano un azione della palla, dovranno trovarsi all'interno della classe palla, cioè tra le parentesi graffe che determinano la classe.


    Codice:
    class Palla
        {


     static void Rimbalzo()
      {
        codice che determina il rimbalzo della palla...
      }


     static void Rotolamento()
      {
        codice che determina il rotolare della palla...
      }


        }

    Dunque, sia le classi che i metodi sono delimitate e definite dalla parentesi graffe.
    In questo esempio abbiamo solo creato una classe "Palla" che ha due metodi, Rimbalzo e Rotolamento.
    Quando vorremo far rimbalzare la palla non dovremo far altro che richiamare il metodo Rimbalzo. Vedremo in seguito come e in quale punto del programma.



    Torniamo al nostro programmino.
    Abbiamo chiamato il nostro oggetto "Evviva" ma lo avremmo potuto chiamare anche Pippo o Paperino, non è importante ai fini tecnici, ma è ovviamente consigliato chiamare le proprie classi con un nome appropriato, nel nostro caso il nostro oggetto dovrà scrivere sullo schermo "Evviva il C# e XNA!" e per semplicità abbiamo scelto di chiamare tale oggetto Evviva.


    Codice:
    class Evviva
    {


    static void Main()
    {
    Console.WriteLine("Evviva il C# e XNA!");
    }


    }

    La classe Evviva si apre e si chiude con le parentesi graffe e al suo interno abbiamo un solo metodo chiamato "Main".
    In seguito potremo nominare i nostri metodi come meglio crederemo ma, in questo caso, è essenziale chiamare questo metodo "Main".
    "Main" è una di quelle parole chiave che il Visual C# riconosce e gestisce come gli è stato impostato. Esso è il metodo che viene eseguito prima di tutti, in pratica è il metodo che viene eseguito automaticamente all'avvio dell'applicazione, senza che debba essere richiamato da noi. Nel nostro caso abbiamo solo questo metodo, in seguito avremo i nostri metodi, creati da noi, ma il metodo Main sarà sempre presente perché rappresenta il punto d'inizio del programma.

    Codice:
    static void Main()
    {
    Console.WriteLine("Evviva il C# e XNA!");
    }

    Il metodo Main è il metodo principale ed è obbligatorio in ogni applicazione.
    Esso costituisce il punto in cui inizia l'esecuzione del programma.
    Il computer ha bisogno di sapere da dove iniziare la sua elaborazione: è proprio in questa riga che il programma inizia. Tutti i programmi in C# iniziano la loro esecuzione con questo costrutto: si tratta di un metodo, cioè una funzione che, in questo caso, viene richiamata all'inizio, senza il bisogno che venga chiamata dal programmatore. La sua esecuzione è automatica allo start dell'applicazione.
    Se si hanno delle conoscenza di siti web, il metodo Main si può paragonare alla pagina index di un sito web che, se non viene specificato diversamente, viene caricata all'entrata del sito.

    Come avete notato, la parola "Main" non è lì da sola, ci sono anche le parole static, void e due parentesi tonde. Per il momento lasciamole lì, in sospeso, approfondiremo l'argomento quando parleremo più approfonditamente dei metodi.

    Anche il metodo, come una classe, si apre e si chiude con le parentesi graffe e al suo interno abbiamo l'operazione che permette la scrittura su schermo della nostra stringa (il testo da noi scelto).

    Console.WriteLine("Evviva il C# e XNA!");

    La parola Console fa parte delle molteplici istruzioni presenti in "System" (che abbiamo "detto di usare" all'inizio con using System;). Senza aver scritto all'inizio "using System" tale parola non verrebbe riconosciuta e ci verrebbe rimandato un errore. "Console" ha diversi metodi con cui interagire con noi tra cui, appunto, WriteLine che ha il compito di scrivere una riga di testo, in particolare, il testo che abbiamo scritto tra le parentesi e dentro le virgolette. Molto importante è ricordare che tutti i testi che vorremo trattare come tali dovranno essere scritti dentro le virgolette e saranno chiamati stringhe. In questo modo, qualsiasi testo scriveremo come stringa, verrà considerato come del semplice testo e non come codice da processare e compilare. Tale testo verrà visualizzato sul Visual C# con il colore rosso.

    Cerchiamo di non confonderci le idee e riassumiamo quello che abbiamo visto fino ad ora.

    System è un namespace che contiene alcune classi già impostate, tra cui Console, che possiede a sua volta diversi metodi, tra cui WriteLine.
    Abbiamo creato una nuova classe di nostro pugno e l'abbiamo chiamata Evviva, al suo interno abbiamo scritto il metodo obbligatorio Main (anchesso non impostato da noi ma dai programmatori di Visual C#).
    All'interno del metodo Main abbiamo richiamato l'oggetto facente parte della classe Console, una delle classi presenti dentro il namespace System.
    Abbiamo usato il metodo WriteLine della classe Console che ci permette di scrivere su schermo la nostra stringa di testo.
    _____________________________________________________________________
    Idintifichiamo di nuovo gli elementi che abbiamo utilizzato:

    System è un Namespace
    Console è una classe
    WriteLine è un metodo
    Main è il metodo iniziale


    E' ora necessario dare uno sguardo a come viene visualizzato il testo su un foglio di Visual C#, la prossima lezione tratterà brevemente questo argomento.


    _________________

    Sign by Danasoft - For Backgrounds and Layouts


    [/
    avatar
    Marke94
    Hunter

    Numero di messaggi : 64
    Reputazione : 2
    Data d'iscrizione : 13.05.09
    Età : 23
    Località : Gallarate

    Re: Creare un videogioco? passo2

    Messaggio  Marke94 il Mer Mag 20, 2009 6:38 pm

    pino nn potresti unire questi due topic in uno così quando inizierò mi sarà più facile lavorare
    avatar
    BloodBlade
    Moderatore

    Numero di messaggi : 170
    Reputazione : 70
    Data d'iscrizione : 09.05.09
    Età : 25
    Località : Hellview

    Re: Creare un videogioco? passo2

    Messaggio  BloodBlade il Mer Mag 20, 2009 8:12 pm

    Potresti anche inviargli un pdf., visto che é cosí tanto interessato...
    avatar
    Admin
    Admin

    Numero di messaggi : 301
    Reputazione : 127
    Data d'iscrizione : 08.05.09
    Età : 24
    Località : Gallarate

    Re: Creare un videogioco? passo2

    Messaggio  Admin il Gio Mag 21, 2009 2:26 pm

    Sì ma queste lezioni le ho fatte apposta molto facili da seguire e da imparare e sono a passi, cioè voglio dire a livelli pirat


    _________________

    Sign by Danasoft - For Backgrounds and Layouts


    [/

    Contenuto sponsorizzato

    Re: Creare un videogioco? passo2

    Messaggio  Contenuto sponsorizzato


      La data/ora di oggi è Lun Nov 19, 2018 9:15 am